Search Linux Wireless

Re: further plan wrt. monitor interfaces

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[as for the rest of the mail]

> I would suggest something like this:
> 
> int (*enable_phy)(struct ieee80211_hw *hw, int flags);
> int (*disable_phy)(struct ieee80211_hw *hw, int flags);
> int (*set_phy_freq)(struct ieee80211_hw *hw, int /* ? */ freq, int flags);
> ...
> 
> int (*enable_mac)(struct ieee80211_hw *hw, u8 *mac_addr,
>                int filter_flags, int flags);
> int (*disable_mac)(struct ieee80211_hw *hw, u8 *mac_addr);
> int (*set_mac_bssid)(struct ieee80211_hw *hw, u8 *mac_addr, u8 *bssid);
> int (*enable_mac_beacon)(struct ieee80211_hw *hw, u8 *mac_addr,
>                       struct ieee80211_beacon_config *config);
> int (*disable_mac_beacon)(struct ieee80211_hw *hw, u8 *mac_addr);
> ...
> 
> The call sequence could be:
> 
> enable_phy
> set_phy_freq
> set_phy_rate
> enable_mac
> set_mac_bssid     // For AP this will be the own mac address.
> enable_mac_beacon // first mac address will be master
> enable_mac        // for second mac address if needed
> set_mac_bssid     // set bssid for second mac
> disable_mac
> disable_mac
> disable_phy
> 
> I would make it to a rule that the setter functions could only be
> called if the corresponding layer (phy, mac) has been enabled. All
> the interface semantics for the upper layer should be handled by
> the mac80211 stack including the persistent storage of a frequency
> value before the the device has been brought up.

I don't think I like this. First of all, it's quite a large step away
from how mac80211 operates and thus a lot of work. Secondly, the driver
would continually have to look up things by mac address. As far as I can
tell everything you have there as MAC-level configuration is right now
covered by the add/remove_interface callbacks. And then what you have as
MAC level configuration is rather incomplete by only setting a MAC
address and no other MAC parameters. But as I said, many callbacks don't
make sense unless you have two (lower) MACs in the device which I think
is just a misunderstanding and you only have two MAC *addresses*. So
then mixing PHY and MAC configuration isn't so bad because you have only
one of each anyway. And having per-interface configuration to the driver
covers the remaining things nicely.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux