2022-08-11 23:20:23

by James Prestwood

[permalink] [raw]
Subject: [PATCH v2 0/2] Support for changing address while powered

v1 -> v2:
- Renamed the flag from 'LIVE' to 'POWERED'. Live can be interpreted
differently i.e if it means just IFF_UP/powered or if it means
connected. POWERED is more accurate to what this feature does.

- Reworked the logic to check if individual interfaces are busy
rather than globally. Simply checking local->scanning/roc_list
was a large hammer, and puts limitations in that aren't needed.
Now roc_list is traversed and only returns -EBUSY if the actual
interface has ROC work. Similarly the scanning sdata is checked
and -EBUSY is returned if it matches the sdata for which the
address is being changed.

- Only P2P_CLIENT/STATION iftypes are allowed to do a powered address
change. I personally see no reason this is needed for other iftypes
but if we want others to be supported I'm fine adding more.

- Check return of drv_add_interface

James Prestwood (2):
include: nl80211: Add POWERED_ADDR_CHANGE feature
mac80211: Support POWERED_ADDR_CHANGE feature

include/uapi/linux/nl80211.h | 9 +++++
net/mac80211/iface.c | 67 ++++++++++++++++++++++++++++++++++--
net/mac80211/main.c | 2 ++
3 files changed, 76 insertions(+), 2 deletions(-)

--
2.34.3