]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Sync with mac80211-next.git include/uapi/linux/nl80211.h
authorJouni Malinen <j@w1.fi>
Sun, 16 Feb 2020 10:05:43 +0000 (12:05 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 16 Feb 2020 10:06:04 +0000 (12:06 +0200)
This brings in nl80211 definitions as of 2020-02-07.

Signed-off-by: Jouni Malinen <j@w1.fi>
src/drivers/nl80211_copy.h

index 341e0e8cae46244debd4fe85152daed8927cbdef..158bccb4a47b9774df36f6bd83baed5591032292 100644 (file)
  *     a control port frame and as a notification that a control port frame
  *     has been received. %NL80211_ATTR_FRAME is used to specify the
  *     frame contents.  The frame is the raw EAPoL data, without ethernet or
- *     802.11 headers.
+ *     802.11 headers. An optional %NL80211_ATTR_SRC_MAC can be used to send
+ *     pre-auth frames to STAs on behalf of other APs.
  *     When used as an event indication %NL80211_ATTR_CONTROL_PORT_ETHERTYPE,
  *     %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT and %NL80211_ATTR_MAC are added
  *     indicating the protocol type of the received frame; whether the frame
  *     was received unencrypted and the MAC address of the peer respectively.
+ *     %NL80211_ATTR_DST_MAC can be used to forward pre-auth frames in
+ *     userspace while using AP mode.
  *
  * @NL80211_CMD_RELOAD_REGDB: Request that the regdb firmware file is reloaded.
  *
@@ -2400,6 +2403,18 @@ enum nl80211_commands {
  * @NL80211_ATTR_VLAN_ID: VLAN ID (1..4094) for the station and VLAN group key
  *     (u16).
  *
+ * @NL80211_ATTR_HE_BSS_COLOR: nested attribute for BSS Color Settings.
+ *
+ * @NL80211_ATTR_IFTYPE_AKM_SUITES: nested array attribute, with each entry
+ *     using attributes from &enum nl80211_iftype_akm_attributes. This
+ *     attribute is sent in a response to %NL80211_CMD_GET_WIPHY indicating
+ *     supported AKM suites capability per interface. AKMs advertised in
+ *     %NL80211_ATTR_AKM_SUITES are default capabilities if AKM suites not
+ *     advertised for a specific interface type.
+ *
+ * @NL80211_ATTR_SRC_MAC: MAC address used in control port over nl80211 transmit
+ * @NL80211_ATTR_DST_MAC: MAC address used in control port over nl80211 receive
+ *
  * @NUM_NL80211_ATTR: total number of nl80211_attrs available
  * @NL80211_ATTR_MAX: highest attribute number currently defined
  * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2864,6 +2879,13 @@ enum nl80211_attrs {
 
        NL80211_ATTR_VLAN_ID,
 
+       NL80211_ATTR_HE_BSS_COLOR,
+
+       NL80211_ATTR_IFTYPE_AKM_SUITES,
+
+       NL80211_ATTR_SRC_MAC,
+       NL80211_ATTR_DST_MAC,
+
        /* add attributes here, update the policy in nl80211.c */
 
        __NL80211_ATTR_AFTER_LAST,
@@ -3583,6 +3605,8 @@ enum nl80211_wmm_rule {
  * @NL80211_FREQUENCY_ATTR_WMM: this channel has wmm limitations.
  *     This is a nested attribute that contains the wmm limitation per AC.
  *     (see &enum nl80211_wmm_rule)
+ * @NL80211_FREQUENCY_ATTR_NO_HE: HE operation is not allowed on this channel
+ *     in current regulatory domain.
  * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
  *     currently defined
  * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
@@ -3612,6 +3636,7 @@ enum nl80211_frequency_attr {
        NL80211_FREQUENCY_ATTR_NO_20MHZ,
        NL80211_FREQUENCY_ATTR_NO_10MHZ,
        NL80211_FREQUENCY_ATTR_WMM,
+       NL80211_FREQUENCY_ATTR_NO_HE,
 
        /* keep last */
        __NL80211_FREQUENCY_ATTR_AFTER_LAST,
@@ -3809,6 +3834,7 @@ enum nl80211_sched_scan_match_attr {
  * @NL80211_RRF_NO_HT40PLUS: channels can't be used in HT40+ operation
  * @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed
  * @NL80211_RRF_NO_160MHZ: 160MHz operation not allowed
+ * @NL80211_RRF_NO_HE: HE operation not allowed
  */
 enum nl80211_reg_rule_flags {
        NL80211_RRF_NO_OFDM             = 1<<0,
@@ -3826,6 +3852,7 @@ enum nl80211_reg_rule_flags {
        NL80211_RRF_NO_HT40PLUS         = 1<<14,
        NL80211_RRF_NO_80MHZ            = 1<<15,
        NL80211_RRF_NO_160MHZ           = 1<<16,
+       NL80211_RRF_NO_HE               = 1<<17,
 };
 
 #define NL80211_RRF_PASSIVE_SCAN       NL80211_RRF_NO_IR
@@ -5517,6 +5544,14 @@ enum nl80211_feature_flags {
  *     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.
+ *
+ * @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS: The driver
+ *     can use src and dst MAC addresses with control port over nl80211 rx
+ *     and tx operations.
+ *
  * @NUM_NL80211_EXT_FEATURES: number of extended features.
  * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
  */
@@ -5563,6 +5598,8 @@ enum nl80211_ext_feature_index {
        NL80211_EXT_FEATURE_STA_TX_PWR,
        NL80211_EXT_FEATURE_SAE_OFFLOAD,
        NL80211_EXT_FEATURE_VLAN_OFFLOAD,
+       NL80211_EXT_FEATURE_AQL,
+       NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS,
 
        /* add new features before the definition below */
        NUM_NL80211_EXT_FEATURES,
@@ -6582,5 +6619,51 @@ enum nl80211_obss_pd_attributes {
        NL80211_HE_OBSS_PD_ATTR_MAX = __NL80211_HE_OBSS_PD_ATTR_LAST - 1,
 };
 
+/**
+ * enum nl80211_bss_color_attributes - BSS Color attributes
+ * @__NL80211_HE_BSS_COLOR_ATTR_INVALID: Invalid
+ *
+ * @NL80211_HE_BSS_COLOR_ATTR_COLOR: the current BSS Color.
+ * @NL80211_HE_BSS_COLOR_ATTR_DISABLED: is BSS coloring disabled.
+ * @NL80211_HE_BSS_COLOR_ATTR_PARTIAL: the AID equation to be used..
+ *
+ * @__NL80211_HE_BSS_COLOR_ATTR_LAST: Internal
+ * @NL80211_HE_BSS_COLOR_ATTR_MAX: highest BSS Color attribute.
+ */
+enum nl80211_bss_color_attributes {
+       __NL80211_HE_BSS_COLOR_ATTR_INVALID,
+
+       NL80211_HE_BSS_COLOR_ATTR_COLOR,
+       NL80211_HE_BSS_COLOR_ATTR_DISABLED,
+       NL80211_HE_BSS_COLOR_ATTR_PARTIAL,
+
+       /* keep last */
+       __NL80211_HE_BSS_COLOR_ATTR_LAST,
+       NL80211_HE_BSS_COLOR_ATTR_MAX = __NL80211_HE_BSS_COLOR_ATTR_LAST - 1,
+};
+
+/**
+ * enum nl80211_iftype_akm_attributes - interface type AKM attributes
+ * @__NL80211_IFTYPE_AKM_ATTR_INVALID: Invalid
+ *
+ * @NL80211_IFTYPE_AKM_ATTR_IFTYPES: nested attribute containing a flag
+ *     attribute for each interface type that supports AKM suites specified in
+ *     %NL80211_IFTYPE_AKM_ATTR_SUITES
+ * @NL80211_IFTYPE_AKM_ATTR_SUITES: an array of u32. Used to indicate supported
+ *     AKM suites for the specified interface types.
+ *
+ * @__NL80211_IFTYPE_AKM_ATTR_LAST: Internal
+ * @NL80211_IFTYPE_AKM_ATTR_MAX: highest interface type AKM attribute.
+ */
+enum nl80211_iftype_akm_attributes {
+       __NL80211_IFTYPE_AKM_ATTR_INVALID,
+
+       NL80211_IFTYPE_AKM_ATTR_IFTYPES,
+       NL80211_IFTYPE_AKM_ATTR_SUITES,
+
+       /* keep last */
+       __NL80211_IFTYPE_AKM_ATTR_LAST,
+       NL80211_IFTYPE_AKM_ATTR_MAX = __NL80211_IFTYPE_AKM_ATTR_LAST - 1,
+};
 
 #endif /* __LINUX_NL80211_H */