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 ====================
Showing the changes to include/uapi/linux (1 of 24 files). Show all
Unified · Split
| @@ -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 commands | 291 | * 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 frame | 1062 | * a control port frame and as a notification that a control port frame |
| 1040 | * has been received. %NL80211_ATTR_FRAME is used to specify the | 1063 | * has been received. %NL80211_ATTR_FRAME is used to specify the |
| 1041 | * frame contents. The frame is the raw EAPoL data, without ethernet or | 1064 | * 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 send | 1065 | * 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 added | 1067 | * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT and %NL80211_ATTR_MAC are added |
| 1046 | * indicating the protocol type of the received frame; whether the frame | 1068 | * 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 frame | 1148 | * 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 number | 1154 | * @NL80211_CMD_MAX: highest used command number |
| 1132 | * @__NL80211_CMD_AFTER_LAST: internal use | 1155 | * @__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 not | 2437 | * %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 transmit | 2440 | * @NL80211_ATTR_TID_CONFIG: TID specific configuration in a |
| 2416 | * @NL80211_ATTR_DST_MAC: MAC address used in control port over nl80211 receive | 2441 | * 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 available | 2445 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2419 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 2446 | * @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: internal | 4590 | * @__NL80211_KEY_AFTER_LAST: internal |
| 4564 | * @NL80211_KEY_MAX: highest key attribute | 4591 | * @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 | */ | ||
| 4765 | enum 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 | */ | ||
| 4805 | enum 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 attribute | 4824 | * enum nl80211_packet_pattern_attr - packet pattern attribute |
| 4734 | * @__NL80211_PKTPAT_INVALID: invalid number for nested attribute | 4825 | * @__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 transmission | 5639 | * 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 driver | 5642 | * @NL80211_EXT_FEATURE_BEACON_PROTECTION: The driver supports Beacon protection |
| 5552 | * can use src and dst MAC addresses with control port over nl80211 rx | 5643 | * 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, |