Merge tag 'mac80211-next-for-net-next-2020-02-24' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
Johannes Berg says: ==================== A new set of changes: * lots of small documentation fixes, from Jérôme Pouiller * beacon protection (BIGTK) support from Jouni Malinen * some initial code for TID configuration, from Tamizh chelvam * I reverted some new API before it's actually used, because it's wrong to mix controlled port and preauth * a few other cleanups/fixes ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -264,6 +264,29 @@
|
||||
* %NL80211_ATTR_VLAN_ID.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DOC: TID configuration
|
||||
*
|
||||
* TID config support can be checked in the %NL80211_ATTR_TID_CONFIG
|
||||
* attribute given in wiphy capabilities.
|
||||
*
|
||||
* The necessary configuration parameters are mentioned in
|
||||
* &enum nl80211_tid_config_attr and it will be passed to the
|
||||
* %NL80211_CMD_SET_TID_CONFIG command in %NL80211_ATTR_TID_CONFIG.
|
||||
*
|
||||
* If the configuration needs to be applied for specific peer then the MAC
|
||||
* address of the peer needs to be passed in %NL80211_ATTR_MAC, otherwise the
|
||||
* configuration will be applied for all the connected peers in the vif except
|
||||
* any peers that have peer specific configuration for the TID by default; if
|
||||
* the %NL80211_TID_CONFIG_ATTR_OVERRIDE flag is set, peer specific values
|
||||
* will be overwritten.
|
||||
*
|
||||
* All this configuration is valid only for STA's current connection
|
||||
* i.e. the configuration will be reset to default when the STA connects back
|
||||
* after disconnection/roaming, and this configuration will be cleared when
|
||||
* the interface goes down.
|
||||
*/
|
||||
|
||||
/**
|
||||
* enum nl80211_commands - supported nl80211 commands
|
||||
*
|
||||
@@ -1039,14 +1062,11 @@
|
||||
* 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. An optional %NL80211_ATTR_SRC_MAC can be used to send
|
||||
* pre-auth frames to STAs on behalf of other APs.
|
||||
* 802.11 headers.
|
||||
* 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.
|
||||
*
|
||||
@@ -1128,6 +1148,9 @@
|
||||
* peer MAC address and %NL80211_ATTR_FRAME is used to specify the frame
|
||||
* content. The frame is ethernet data.
|
||||
*
|
||||
* @NL80211_CMD_SET_TID_CONFIG: Data frame TID specific configuration
|
||||
* is passed using %NL80211_ATTR_TID_CONFIG attribute.
|
||||
*
|
||||
* @NL80211_CMD_MAX: highest used command number
|
||||
* @__NL80211_CMD_AFTER_LAST: internal use
|
||||
*/
|
||||
@@ -1352,6 +1375,8 @@ enum nl80211_commands {
|
||||
|
||||
NL80211_CMD_PROBE_MESH_LINK,
|
||||
|
||||
NL80211_CMD_SET_TID_CONFIG,
|
||||
|
||||
/* add new commands above here */
|
||||
|
||||
/* used to define NL80211_CMD_MAX below */
|
||||
@@ -2412,8 +2437,10 @@ enum nl80211_commands {
|
||||
* %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
|
||||
* @NL80211_ATTR_TID_CONFIG: TID specific configuration in a
|
||||
* nested attribute with &enum nl80211_tid_config_attr sub-attributes;
|
||||
* on output (in wiphy attributes) it contains only the feature sub-
|
||||
* attributes.
|
||||
*
|
||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
@@ -2883,8 +2910,7 @@ enum nl80211_attrs {
|
||||
|
||||
NL80211_ATTR_IFTYPE_AKM_SUITES,
|
||||
|
||||
NL80211_ATTR_SRC_MAC,
|
||||
NL80211_ATTR_DST_MAC,
|
||||
NL80211_ATTR_TID_CONFIG,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
@@ -4559,6 +4585,7 @@ enum nl80211_key_default_types {
|
||||
* See &enum nl80211_key_default_types.
|
||||
* @NL80211_KEY_MODE: the mode from enum nl80211_key_mode.
|
||||
* Defaults to @NL80211_KEY_RX_TX.
|
||||
* @NL80211_KEY_DEFAULT_BEACON: flag indicating default Beacon frame key
|
||||
*
|
||||
* @__NL80211_KEY_AFTER_LAST: internal
|
||||
* @NL80211_KEY_MAX: highest key attribute
|
||||
@@ -4574,6 +4601,7 @@ enum nl80211_key_attributes {
|
||||
NL80211_KEY_TYPE,
|
||||
NL80211_KEY_DEFAULT_TYPES,
|
||||
NL80211_KEY_MODE,
|
||||
NL80211_KEY_DEFAULT_BEACON,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_KEY_AFTER_LAST,
|
||||
@@ -4729,6 +4757,69 @@ enum nl80211_tx_power_setting {
|
||||
NL80211_TX_POWER_FIXED,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_tid_config - TID config state
|
||||
* @NL80211_TID_CONFIG_ENABLE: Enable config for the TID
|
||||
* @NL80211_TID_CONFIG_DISABLE: Disable config for the TID
|
||||
*/
|
||||
enum nl80211_tid_config {
|
||||
NL80211_TID_CONFIG_ENABLE,
|
||||
NL80211_TID_CONFIG_DISABLE,
|
||||
};
|
||||
|
||||
/* enum nl80211_tid_config_attr - TID specific configuration.
|
||||
* @NL80211_TID_CONFIG_ATTR_PAD: pad attribute for 64-bit values
|
||||
* @NL80211_TID_CONFIG_ATTR_VIF_SUPP: a bitmap (u64) of attributes supported
|
||||
* for per-vif configuration; doesn't list the ones that are generic
|
||||
* (%NL80211_TID_CONFIG_ATTR_TIDS, %NL80211_TID_CONFIG_ATTR_OVERRIDE).
|
||||
* @NL80211_TID_CONFIG_ATTR_PEER_SUPP: same as the previous per-vif one, but
|
||||
* per peer instead.
|
||||
* @NL80211_TID_CONFIG_ATTR_OVERRIDE: flag attribue, if no peer
|
||||
* is selected, if set indicates that the new configuration overrides
|
||||
* all previous peer configurations, otherwise previous peer specific
|
||||
* configurations should be left untouched. If peer is selected then
|
||||
* it will reset particular TID configuration of that peer and it will
|
||||
* not accept other TID config attributes along with peer.
|
||||
* @NL80211_TID_CONFIG_ATTR_TIDS: a bitmask value of TIDs (bit 0 to 7)
|
||||
* Its type is u16.
|
||||
* @NL80211_TID_CONFIG_ATTR_NOACK: Configure ack policy for the TID.
|
||||
* specified in %NL80211_TID_CONFIG_ATTR_TID. see %enum nl80211_tid_config.
|
||||
* Its type is u8.
|
||||
* @NL80211_TID_CONFIG_ATTR_RETRY_SHORT: Number of retries used with data frame
|
||||
* transmission, user-space sets this configuration in
|
||||
* &NL80211_CMD_SET_TID_CONFIG. It is u8 type, min value is 1 and
|
||||
* the max value is advertised by the driver in this attribute on
|
||||
* output in wiphy capabilities.
|
||||
* @NL80211_TID_CONFIG_ATTR_RETRY_LONG: Number of retries used with data frame
|
||||
* transmission, user-space sets this configuration in
|
||||
* &NL80211_CMD_SET_TID_CONFIG. Its type is u8, min value is 1 and
|
||||
* the max value is advertised by the driver in this attribute on
|
||||
* output in wiphy capabilities.
|
||||
* @NL80211_TID_CONFIG_ATTR_AMPDU_CTRL: Enable/Disable aggregation for the TIDs
|
||||
* specified in %NL80211_TID_CONFIG_ATTR_TIDS. Its type is u8, using
|
||||
* the values from &nl80211_tid_config.
|
||||
* @NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL: Enable/Disable RTS_CTS for the TIDs
|
||||
* specified in %NL80211_TID_CONFIG_ATTR_TIDS. It is u8 type, using
|
||||
* the values from &nl80211_tid_config.
|
||||
*/
|
||||
enum nl80211_tid_config_attr {
|
||||
__NL80211_TID_CONFIG_ATTR_INVALID,
|
||||
NL80211_TID_CONFIG_ATTR_PAD,
|
||||
NL80211_TID_CONFIG_ATTR_VIF_SUPP,
|
||||
NL80211_TID_CONFIG_ATTR_PEER_SUPP,
|
||||
NL80211_TID_CONFIG_ATTR_OVERRIDE,
|
||||
NL80211_TID_CONFIG_ATTR_TIDS,
|
||||
NL80211_TID_CONFIG_ATTR_NOACK,
|
||||
NL80211_TID_CONFIG_ATTR_RETRY_SHORT,
|
||||
NL80211_TID_CONFIG_ATTR_RETRY_LONG,
|
||||
NL80211_TID_CONFIG_ATTR_AMPDU_CTRL,
|
||||
NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_TID_CONFIG_ATTR_AFTER_LAST,
|
||||
NL80211_TID_CONFIG_ATTR_MAX = __NL80211_TID_CONFIG_ATTR_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_packet_pattern_attr - packet pattern attribute
|
||||
* @__NL80211_PKTPAT_INVALID: invalid number for nested attribute
|
||||
@@ -5548,9 +5639,8 @@ enum nl80211_feature_flags {
|
||||
* 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.
|
||||
* @NL80211_EXT_FEATURE_BEACON_PROTECTION: The driver supports Beacon protection
|
||||
* and can receive key configuration for BIGTK using key indexes 6 and 7.
|
||||
*
|
||||
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
||||
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
||||
@@ -5599,7 +5689,7 @@ enum nl80211_ext_feature_index {
|
||||
NL80211_EXT_FEATURE_SAE_OFFLOAD,
|
||||
NL80211_EXT_FEATURE_VLAN_OFFLOAD,
|
||||
NL80211_EXT_FEATURE_AQL,
|
||||
NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS,
|
||||
NL80211_EXT_FEATURE_BEACON_PROTECTION,
|
||||
|
||||
/* add new features before the definition below */
|
||||
NUM_NL80211_EXT_FEATURES,
|
||||
|
Reference in New Issue
Block a user