History

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 ====================

David S. Miller committed 6 years ago

Commit 3b3e8082 parents 13ef6ae 370f51d24 files · +909 −150Browse files

Showing the changes to include/uapi/linux (1 of 24 files). Show all

Unified · Split

include/uapi/linux/nl80211.h+102−12
@@ -264,6 +264,29 @@ · 263 unmodified lines
264 * %NL80211_ATTR_VLAN_ID.264 * %NL80211_ATTR_VLAN_ID.
265 */265 */
266 266
267/**
268 * DOC: TID configuration
269 *
270 * TID config support can be checked in the %NL80211_ATTR_TID_CONFIG
271 * attribute given in wiphy capabilities.
272 *
273 * The necessary configuration parameters are mentioned in
274 * &enum nl80211_tid_config_attr and it will be passed to the
275 * %NL80211_CMD_SET_TID_CONFIG command in %NL80211_ATTR_TID_CONFIG.
276 *
277 * If the configuration needs to be applied for specific peer then the MAC
278 * address of the peer needs to be passed in %NL80211_ATTR_MAC, otherwise the
279 * configuration will be applied for all the connected peers in the vif except
280 * any peers that have peer specific configuration for the TID by default; if
281 * the %NL80211_TID_CONFIG_ATTR_OVERRIDE flag is set, peer specific values
282 * will be overwritten.
283 *
284 * All this configuration is valid only for STA's current connection
285 * i.e. the configuration will be reset to default when the STA connects back
286 * after disconnection/roaming, and this configuration will be cleared when
287 * the interface goes down.
288 */
289
267/**290/**
268 * enum nl80211_commands - supported nl80211 commands291 * enum nl80211_commands - supported nl80211 commands
269 *292 *
@@ -1039,14 +1062,11 @@ · 769 unmodified lines
1039 * a control port frame and as a notification that a control port frame1062 * a control port frame and as a notification that a control port frame
1040 * has been received. %NL80211_ATTR_FRAME is used to specify the1063 * has been received. %NL80211_ATTR_FRAME is used to specify the
1041 * frame contents. The frame is the raw EAPoL data, without ethernet or1064 * frame contents. The frame is the raw EAPoL data, without ethernet or
1042 * 802.11 headers. An optional %NL80211_ATTR_SRC_MAC can be used to send1065 * 802.11 headers.
1043 * pre-auth frames to STAs on behalf of other APs.
1044 * When used as an event indication %NL80211_ATTR_CONTROL_PORT_ETHERTYPE,1066 * When used as an event indication %NL80211_ATTR_CONTROL_PORT_ETHERTYPE,
1045 * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT and %NL80211_ATTR_MAC are added1067 * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT and %NL80211_ATTR_MAC are added
1046 * indicating the protocol type of the received frame; whether the frame1068 * indicating the protocol type of the received frame; whether the frame
1047 * was received unencrypted and the MAC address of the peer respectively.1069 * was received unencrypted and the MAC address of the peer respectively.
1048 * %NL80211_ATTR_DST_MAC can be used to forward pre-auth frames in
1049 * userspace while using AP mode.
1050 *1070 *
1051 * @NL80211_CMD_RELOAD_REGDB: Request that the regdb firmware file is reloaded.1071 * @NL80211_CMD_RELOAD_REGDB: Request that the regdb firmware file is reloaded.
1052 *1072 *
@@ -1128,6 +1148,9 @@ · 75 unmodified lines
1128 * peer MAC address and %NL80211_ATTR_FRAME is used to specify the frame1148 * peer MAC address and %NL80211_ATTR_FRAME is used to specify the frame
1129 * content. The frame is ethernet data.1149 * content. The frame is ethernet data.
1130 *1150 *
1151 * @NL80211_CMD_SET_TID_CONFIG: Data frame TID specific configuration
1152 * is passed using %NL80211_ATTR_TID_CONFIG attribute.
1153 *
1131 * @NL80211_CMD_MAX: highest used command number1154 * @NL80211_CMD_MAX: highest used command number
1132 * @__NL80211_CMD_AFTER_LAST: internal use1155 * @__NL80211_CMD_AFTER_LAST: internal use
1133 */1156 */
@@ -1352,6 +1375,8 @@ enum nl80211_commands { · 218 unmodified lines
1352 1375
1353 NL80211_CMD_PROBE_MESH_LINK,1376 NL80211_CMD_PROBE_MESH_LINK,
1354 1377
1378 NL80211_CMD_SET_TID_CONFIG,
1379
1355 /* add new commands above here */1380 /* add new commands above here */
1356 1381
1357 /* used to define NL80211_CMD_MAX below */1382 /* used to define NL80211_CMD_MAX below */
@@ -2412,8 +2437,10 @@ enum nl80211_commands { · 1054 unmodified lines
2412 * %NL80211_ATTR_AKM_SUITES are default capabilities if AKM suites not2437 * %NL80211_ATTR_AKM_SUITES are default capabilities if AKM suites not
2413 * advertised for a specific interface type.2438 * advertised for a specific interface type.
2414 *2439 *
2415 * @NL80211_ATTR_SRC_MAC: MAC address used in control port over nl80211 transmit2440 * @NL80211_ATTR_TID_CONFIG: TID specific configuration in a
2416 * @NL80211_ATTR_DST_MAC: MAC address used in control port over nl80211 receive2441 * nested attribute with &enum nl80211_tid_config_attr sub-attributes;
2442 * on output (in wiphy attributes) it contains only the feature sub-
2443 * attributes.
2417 *2444 *
2418 * @NUM_NL80211_ATTR: total number of nl80211_attrs available2445 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
2419 * @NL80211_ATTR_MAX: highest attribute number currently defined2446 * @NL80211_ATTR_MAX: highest attribute number currently defined
@@ -2883,8 +2910,7 @@ enum nl80211_attrs { · 463 unmodified lines
2883 2910
2884 NL80211_ATTR_IFTYPE_AKM_SUITES,2911 NL80211_ATTR_IFTYPE_AKM_SUITES,
2885 2912
2886 NL80211_ATTR_SRC_MAC,2913 NL80211_ATTR_TID_CONFIG,
2887 NL80211_ATTR_DST_MAC,
2888 2914
2889 /* add attributes here, update the policy in nl80211.c */2915 /* add attributes here, update the policy in nl80211.c */
2890 2916
@@ -4559,6 +4585,7 @@ enum nl80211_key_default_types { · 1668 unmodified lines
4559 * See &enum nl80211_key_default_types.4585 * See &enum nl80211_key_default_types.
4560 * @NL80211_KEY_MODE: the mode from enum nl80211_key_mode.4586 * @NL80211_KEY_MODE: the mode from enum nl80211_key_mode.
4561 * Defaults to @NL80211_KEY_RX_TX.4587 * Defaults to @NL80211_KEY_RX_TX.
4588 * @NL80211_KEY_DEFAULT_BEACON: flag indicating default Beacon frame key
4562 *4589 *
4563 * @__NL80211_KEY_AFTER_LAST: internal4590 * @__NL80211_KEY_AFTER_LAST: internal
4564 * @NL80211_KEY_MAX: highest key attribute4591 * @NL80211_KEY_MAX: highest key attribute
@@ -4574,6 +4601,7 @@ enum nl80211_key_attributes { · 9 unmodified lines
4574 NL80211_KEY_TYPE,4601 NL80211_KEY_TYPE,
4575 NL80211_KEY_DEFAULT_TYPES,4602 NL80211_KEY_DEFAULT_TYPES,
4576 NL80211_KEY_MODE,4603 NL80211_KEY_MODE,
4604 NL80211_KEY_DEFAULT_BEACON,
4577 4605
4578 /* keep last */4606 /* keep last */
4579 __NL80211_KEY_AFTER_LAST,4607 __NL80211_KEY_AFTER_LAST,
@@ -4729,6 +4757,69 @@ enum nl80211_tx_power_setting { · 149 unmodified lines
4729 NL80211_TX_POWER_FIXED,4757 NL80211_TX_POWER_FIXED,
4730};4758};
4731 4759
4760/**
4761 * enum nl80211_tid_config - TID config state
4762 * @NL80211_TID_CONFIG_ENABLE: Enable config for the TID
4763 * @NL80211_TID_CONFIG_DISABLE: Disable config for the TID
4764 */
4765enum nl80211_tid_config {
4766 NL80211_TID_CONFIG_ENABLE,
4767 NL80211_TID_CONFIG_DISABLE,
4768};
4769
4770/* enum nl80211_tid_config_attr - TID specific configuration.
4771 * @NL80211_TID_CONFIG_ATTR_PAD: pad attribute for 64-bit values
4772 * @NL80211_TID_CONFIG_ATTR_VIF_SUPP: a bitmap (u64) of attributes supported
4773 * for per-vif configuration; doesn't list the ones that are generic
4774 * (%NL80211_TID_CONFIG_ATTR_TIDS, %NL80211_TID_CONFIG_ATTR_OVERRIDE).
4775 * @NL80211_TID_CONFIG_ATTR_PEER_SUPP: same as the previous per-vif one, but
4776 * per peer instead.
4777 * @NL80211_TID_CONFIG_ATTR_OVERRIDE: flag attribue, if no peer
4778 * is selected, if set indicates that the new configuration overrides
4779 * all previous peer configurations, otherwise previous peer specific
4780 * configurations should be left untouched. If peer is selected then
4781 * it will reset particular TID configuration of that peer and it will
4782 * not accept other TID config attributes along with peer.
4783 * @NL80211_TID_CONFIG_ATTR_TIDS: a bitmask value of TIDs (bit 0 to 7)
4784 * Its type is u16.
4785 * @NL80211_TID_CONFIG_ATTR_NOACK: Configure ack policy for the TID.
4786 * specified in %NL80211_TID_CONFIG_ATTR_TID. see %enum nl80211_tid_config.
4787 * Its type is u8.
4788 * @NL80211_TID_CONFIG_ATTR_RETRY_SHORT: Number of retries used with data frame
4789 * transmission, user-space sets this configuration in
4790 * &NL80211_CMD_SET_TID_CONFIG. It is u8 type, min value is 1 and
4791 * the max value is advertised by the driver in this attribute on
4792 * output in wiphy capabilities.
4793 * @NL80211_TID_CONFIG_ATTR_RETRY_LONG: Number of retries used with data frame
4794 * transmission, user-space sets this configuration in
4795 * &NL80211_CMD_SET_TID_CONFIG. Its type is u8, min value is 1 and
4796 * the max value is advertised by the driver in this attribute on
4797 * output in wiphy capabilities.
4798 * @NL80211_TID_CONFIG_ATTR_AMPDU_CTRL: Enable/Disable aggregation for the TIDs
4799 * specified in %NL80211_TID_CONFIG_ATTR_TIDS. Its type is u8, using
4800 * the values from &nl80211_tid_config.
4801 * @NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL: Enable/Disable RTS_CTS for the TIDs
4802 * specified in %NL80211_TID_CONFIG_ATTR_TIDS. It is u8 type, using
4803 * the values from &nl80211_tid_config.
4804 */
4805enum nl80211_tid_config_attr {
4806 __NL80211_TID_CONFIG_ATTR_INVALID,
4807 NL80211_TID_CONFIG_ATTR_PAD,
4808 NL80211_TID_CONFIG_ATTR_VIF_SUPP,
4809 NL80211_TID_CONFIG_ATTR_PEER_SUPP,
4810 NL80211_TID_CONFIG_ATTR_OVERRIDE,
4811 NL80211_TID_CONFIG_ATTR_TIDS,
4812 NL80211_TID_CONFIG_ATTR_NOACK,
4813 NL80211_TID_CONFIG_ATTR_RETRY_SHORT,
4814 NL80211_TID_CONFIG_ATTR_RETRY_LONG,
4815 NL80211_TID_CONFIG_ATTR_AMPDU_CTRL,
4816 NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL,
4817
4818 /* keep last */
4819 __NL80211_TID_CONFIG_ATTR_AFTER_LAST,
4820 NL80211_TID_CONFIG_ATTR_MAX = __NL80211_TID_CONFIG_ATTR_AFTER_LAST - 1
4821};
4822
4732/**4823/**
4733 * enum nl80211_packet_pattern_attr - packet pattern attribute4824 * enum nl80211_packet_pattern_attr - packet pattern attribute
4734 * @__NL80211_PKTPAT_INVALID: invalid number for nested attribute4825 * @__NL80211_PKTPAT_INVALID: invalid number for nested attribute
@@ -5548,9 +5639,8 @@ enum nl80211_feature_flags { · 813 unmodified lines
5548 * feature, which prevents bufferbloat by using the expected transmission5639 * feature, which prevents bufferbloat by using the expected transmission
5549 * time to limit the amount of data buffered in the hardware.5640 * time to limit the amount of data buffered in the hardware.
5550 *5641 *
5551 * @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS: The driver5642 * @NL80211_EXT_FEATURE_BEACON_PROTECTION: The driver supports Beacon protection
5552 * can use src and dst MAC addresses with control port over nl80211 rx5643 * and can receive key configuration for BIGTK using key indexes 6 and 7.
5553 * and tx operations.
5554 *5644 *
5555 * @NUM_NL80211_EXT_FEATURES: number of extended features.5645 * @NUM_NL80211_EXT_FEATURES: number of extended features.
5556 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.5646 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
@@ -5599,7 +5689,7 @@ enum nl80211_ext_feature_index { · 42 unmodified lines
5599 NL80211_EXT_FEATURE_SAE_OFFLOAD,5689 NL80211_EXT_FEATURE_SAE_OFFLOAD,
5600 NL80211_EXT_FEATURE_VLAN_OFFLOAD,5690 NL80211_EXT_FEATURE_VLAN_OFFLOAD,
5601 NL80211_EXT_FEATURE_AQL,5691 NL80211_EXT_FEATURE_AQL,
5602 NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS,5692 NL80211_EXT_FEATURE_BEACON_PROTECTION,
5603 5693
5604 /* add new features before the definition below */5694 /* add new features before the definition below */
5605 NUM_NL80211_EXT_FEATURES,5695 NUM_NL80211_EXT_FEATURES,