Search Linux Wireless

cfg80211 configuration vs. actions

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

 



Hi,

After some consideration I've been thinking that cfg80211 really should
be changed a bit. I'm trying to think of what we need at this point.

Right now, I have a ->set_config() call for each netdev which sets a
whole bunch of configuration parameters. But we said in London that
changing e.g. the SSID should not actually trigger any association right
away.

So now when only ->associate() actually makes the configuration take
effect, we'll need to have
 * a way to know what configuration is "pending"
 * a way to get the configuration that is "active"

That's fine. But why would we want drivers to handle it? Obviously,
drivers are going to need to handle the ->get_association() which
currently returns the current BSSID but should also return all the other
parameters.

However, cfg80211 could, with some hand-holding from the driver via
->get_config_valid() handle the whole issue of keeping the "pending"
config, and then pass it to the driver for ->associate(). ->get_config()
and ->configure() get dropped completely.

Another thing is... For ->reassociate(), which config to use? "re" seems
to imply to use the previous one, but people might also expect it uses
the new one. Maybe we should just refuse reassociate with some
well-defined error code (e.g. -ESTALE) in the cfg80211 itself when the
configuration has been changed? That might help networkmanager and
wpa_supplicant when a user interferes with it.

{Luis: this enables configfs support without that transaction layer in
configfs because we have our own transaction layer now}

{as another side effect, this allows us to implement wext compat much
easier}

Does that make sense?

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