]> git.ipfire.org Git - thirdparty/iw.git/commitdiff
iw: update nl80211.h
authorJohannes Berg <johannes.berg@intel.com>
Wed, 15 Jan 2020 10:05:10 +0000 (11:05 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 15 Jan 2020 10:05:10 +0000 (11:05 +0100)
Change-Id: I3b5b124f7d2985b9dc6f9481408bd412e50c0b5b
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
nl80211.h

index beee59c831a735042a94521b40eb41840363e35b..5eab191607f86ca64cf6d10267d95c355a95e949 100644 (file)
--- a/nl80211.h
+++ b/nl80211.h
  * %NL80211_ATTR_SAE_PASSWORD.
  */
 
+/**
+ * DOC: VLAN offload support for setting group keys and binding STAs to VLANs
+ *
+ * By setting @NL80211_EXT_FEATURE_VLAN_OFFLOAD flag drivers can indicate they
+ * support offloading VLAN functionality in a manner where the driver exposes a
+ * single netdev that uses VLAN tagged frames and separate VLAN-specific netdevs
+ * can then be added using RTM_NEWLINK/IFLA_VLAN_ID similarly to the Ethernet
+ * case. Frames received from stations that are not assigned to any VLAN are
+ * delivered on the main netdev and frames to such stations can be sent through
+ * that main netdev.
+ *
+ * %NL80211_CMD_NEW_KEY (for group keys), %NL80211_CMD_NEW_STATION, and
+ * %NL80211_CMD_SET_STATION will optionally specify vlan_id using
+ * %NL80211_ATTR_VLAN_ID.
+ */
+
 /**
  * enum nl80211_commands - supported nl80211 commands
  *
  *     set of BSSID,frequency parameters is used (i.e., either the enforcing
  *     %NL80211_ATTR_MAC,%NL80211_ATTR_WIPHY_FREQ or the less strict
  *     %NL80211_ATTR_MAC_HINT and %NL80211_ATTR_WIPHY_FREQ_HINT).
+ *     Driver shall not modify the IEs specified through %NL80211_ATTR_IE if
+ *     %NL80211_ATTR_MAC is included. However, if %NL80211_ATTR_MAC_HINT is
+ *     included, these IEs through %NL80211_ATTR_IE are specified by the user
+ *     space based on the best possible BSS selected. Thus, if the driver ends
+ *     up selecting a different BSS, it can modify these IEs accordingly (e.g.
+ *     userspace asks the driver to perform PMKSA caching with BSS1 and the
+ *     driver ends up selecting BSS2 with different PMKSA cache entry; RSNIE
+ *     has to get updated with the apt PMKID).
  *     %NL80211_ATTR_PREV_BSSID can be used to request a reassociation within
  *     the ESS in case the device is already associated and an association with
  *     a different BSS is desired.
@@ -2373,6 +2397,9 @@ enum nl80211_commands {
  *     the allowed channel bandwidth configurations. (u8 attribute)
  *     Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
  *
+ * @NL80211_ATTR_VLAN_ID: VLAN ID (1..4094) for the station and VLAN group key
+ *     (u16).
+ *
  * @NUM_NL80211_ATTR: total number of nl80211_attrs available
  * @NL80211_ATTR_MAX: highest attribute number currently defined
  * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2835,6 +2862,8 @@ enum nl80211_attrs {
        NL80211_ATTR_WIPHY_EDMG_CHANNELS,
        NL80211_ATTR_WIPHY_EDMG_BW_CONFIG,
 
+       NL80211_ATTR_VLAN_ID,
+
        /* add attributes here, update the policy in nl80211.c */
 
        __NL80211_ATTR_AFTER_LAST,
@@ -5484,6 +5513,14 @@ enum nl80211_feature_flags {
  * @NL80211_EXT_FEATURE_SAE_OFFLOAD: Device wants to do SAE authentication in
  *     station mode (SAE password is passed as part of the connect command).
  *
+ * @NL80211_EXT_FEATURE_VLAN_OFFLOAD: The driver supports a single netdev
+ *     with VLAN tagged frames and separate VLAN-specific netdevs added using
+ *     vconfig similarly to the Ethernet case.
+ *
+ * @NL80211_EXT_FEATURE_AQL: The driver supports the Airtime Queue Limit (AQL)
+ *     feature, which prevents bufferbloat by using the expected transmission
+ *     time to limit the amount of data buffered in the hardware.
+ *
  * @NUM_NL80211_EXT_FEATURES: number of extended features.
  * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
  */
@@ -5529,6 +5566,8 @@ enum nl80211_ext_feature_index {
        NL80211_EXT_FEATURE_EXT_KEY_ID,
        NL80211_EXT_FEATURE_STA_TX_PWR,
        NL80211_EXT_FEATURE_SAE_OFFLOAD,
+       NL80211_EXT_FEATURE_VLAN_OFFLOAD,
+       NL80211_EXT_FEATURE_AQL,
 
        /* add new features before the definition below */
        NUM_NL80211_EXT_FEATURES,