wifi: nl80211: Add POWERED_ADDR_CHANGE feature
authorJames Prestwood <prestwoj@gmail.com>
Fri, 26 Aug 2022 17:00:31 +0000 (10:00 -0700)
committerJohannes Berg <johannes.berg@intel.com>
Sat, 3 Sep 2022 14:58:41 +0000 (16:58 +0200)
Add a new extended feature bit signifying that the wireless hardware
supports changing the MAC address while the underlying net_device is
powered. Note that this has a different meaning from
IFF_LIVE_ADDR_CHANGE as additional restrictions might be imposed by
the hardware, such as:

 - No connection is active on this interface, carrier is off
 - No scan is in progress
 - No offchannel operations are in progress

Signed-off-by: James Prestwood <prestwoj@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/uapi/linux/nl80211.h

index 573db20403dc4fe5cb39e2c3583ecc04138a47b1..a00a23840c57fb9d0e1f0dadcd62900da144aea0 100644 (file)
@@ -6281,6 +6281,14 @@ enum nl80211_feature_flags {
  * @NL80211_EXT_FEATURE_RADAR_BACKGROUND: Device supports background radar/CAC
  *     detection.
  *
+ * @NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE: Device can perform a MAC address
+ *     change without having to bring the underlying network device down
+ *     first. For example, in station mode this can be used to vary the
+ *     origin MAC address prior to a connection to a new AP for privacy
+ *     or other reasons. Note that certain driver specific restrictions
+ *     might apply, e.g. no scans in progress, no offchannel operations
+ *     in progress, and no active connections.
+ *
  * @NUM_NL80211_EXT_FEATURES: number of extended features.
  * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
  */
@@ -6348,6 +6356,7 @@ enum nl80211_ext_feature_index {
        NL80211_EXT_FEATURE_BSS_COLOR,
        NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD,
        NL80211_EXT_FEATURE_RADAR_BACKGROUND,
+       NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE,
 
        /* add new features before the definition below */
        NUM_NL80211_EXT_FEATURES,