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 | 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 | 291 | * enum nl80211_commands - supported nl80211 commands |
| 269 | 292 | * |
| @@ -1039,14 +1062,11 @@ · 769 unmodified lines | ||
| 1039 | 1062 | * a control port frame and as a notification that a control port frame |
| 1040 | 1063 | * has been received. %NL80211_ATTR_FRAME is used to specify the |
| 1041 | 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 | |
| 1043 | − * pre-auth frames to STAs on behalf of other APs. | |
| 1065 | + * 802.11 headers. | |
| 1044 | 1066 | * When used as an event indication %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, |
| 1045 | 1067 | * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT and %NL80211_ATTR_MAC are added |
| 1046 | 1068 | * indicating the protocol type of the received frame; whether the frame |
| 1047 | 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 | 1071 | * @NL80211_CMD_RELOAD_REGDB: Request that the regdb firmware file is reloaded. |
| 1052 | 1072 | * |
| @@ -1128,6 +1148,9 @@ · 75 unmodified lines | ||
| 1128 | 1148 | * peer MAC address and %NL80211_ATTR_FRAME is used to specify the frame |
| 1129 | 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 | 1154 | * @NL80211_CMD_MAX: highest used command number |
| 1132 | 1155 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 1133 | 1156 | */ |
| @@ -1352,6 +1375,8 @@ enum nl80211_commands { · 218 unmodified lines | ||
| 1352 | 1375 | |
| 1353 | 1376 | NL80211_CMD_PROBE_MESH_LINK, |
| 1354 | 1377 | |
| 1378 | + NL80211_CMD_SET_TID_CONFIG, | |
| 1379 | + | |
| 1355 | 1380 | /* add new commands above here */ |
| 1356 | 1381 | |
| 1357 | 1382 | /* used to define NL80211_CMD_MAX below */ |
| @@ -2412,8 +2437,10 @@ enum nl80211_commands { · 1054 unmodified lines | ||
| 2412 | 2437 | * %NL80211_ATTR_AKM_SUITES are default capabilities if AKM suites not |
| 2413 | 2438 | * advertised for a specific interface type. |
| 2414 | 2439 | * |
| 2415 | − * @NL80211_ATTR_SRC_MAC: MAC address used in control port over nl80211 transmit | |
| 2416 | − * @NL80211_ATTR_DST_MAC: MAC address used in control port over nl80211 receive | |
| 2440 | + * @NL80211_ATTR_TID_CONFIG: TID specific configuration in a | |
| 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 | 2445 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2419 | 2446 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| @@ -2883,8 +2910,7 @@ enum nl80211_attrs { · 463 unmodified lines | ||
| 2883 | 2910 | |
| 2884 | 2911 | NL80211_ATTR_IFTYPE_AKM_SUITES, |
| 2885 | 2912 | |
| 2886 | − NL80211_ATTR_SRC_MAC, | |
| 2887 | − NL80211_ATTR_DST_MAC, | |
| 2913 | + NL80211_ATTR_TID_CONFIG, | |
| 2888 | 2914 | |
| 2889 | 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 | 4585 | * See &enum nl80211_key_default_types. |
| 4560 | 4586 | * @NL80211_KEY_MODE: the mode from enum nl80211_key_mode. |
| 4561 | 4587 | * Defaults to @NL80211_KEY_RX_TX. |
| 4588 | + * @NL80211_KEY_DEFAULT_BEACON: flag indicating default Beacon frame key | |
| 4562 | 4589 | * |
| 4563 | 4590 | * @__NL80211_KEY_AFTER_LAST: internal |
| 4564 | 4591 | * @NL80211_KEY_MAX: highest key attribute |
| @@ -4574,6 +4601,7 @@ enum nl80211_key_attributes { · 9 unmodified lines | ||
| 4574 | 4601 | NL80211_KEY_TYPE, |
| 4575 | 4602 | NL80211_KEY_DEFAULT_TYPES, |
| 4576 | 4603 | NL80211_KEY_MODE, |
| 4604 | + NL80211_KEY_DEFAULT_BEACON, | |
| 4577 | 4605 | |
| 4578 | 4606 | /* keep last */ |
| 4579 | 4607 | __NL80211_KEY_AFTER_LAST, |
| @@ -4729,6 +4757,69 @@ enum nl80211_tx_power_setting { · 149 unmodified lines | ||
| 4729 | 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 | 4824 | * enum nl80211_packet_pattern_attr - packet pattern attribute |
| 4734 | 4825 | * @__NL80211_PKTPAT_INVALID: invalid number for nested attribute |
| @@ -5548,9 +5639,8 @@ enum nl80211_feature_flags { · 813 unmodified lines | ||
| 5548 | 5639 | * feature, which prevents bufferbloat by using the expected transmission |
| 5549 | 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 | |
| 5552 | − * can use src and dst MAC addresses with control port over nl80211 rx | |
| 5553 | − * and tx operations. | |
| 5642 | + * @NL80211_EXT_FEATURE_BEACON_PROTECTION: The driver supports Beacon protection | |
| 5643 | + * and can receive key configuration for BIGTK using key indexes 6 and 7. | |
| 5554 | 5644 | * |
| 5555 | 5645 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 5556 | 5646 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| @@ -5599,7 +5689,7 @@ enum nl80211_ext_feature_index { · 42 unmodified lines | ||
| 5599 | 5689 | NL80211_EXT_FEATURE_SAE_OFFLOAD, |
| 5600 | 5690 | NL80211_EXT_FEATURE_VLAN_OFFLOAD, |
| 5601 | 5691 | NL80211_EXT_FEATURE_AQL, |
| 5602 | − NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS, | |
| 5692 | + NL80211_EXT_FEATURE_BEACON_PROTECTION, | |
| 5603 | 5693 | |
| 5604 | 5694 | /* add new features before the definition below */ |
| 5605 | 5695 | NUM_NL80211_EXT_FEATURES, |