diff options
Diffstat (limited to 'include/net/mac80211.h')
| -rw-r--r-- | include/net/mac80211.h | 93 |
1 files changed, 68 insertions, 25 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 58d719ddaa60..d52914b75331 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
| @@ -376,6 +376,12 @@ enum ieee80211_rssi_event { | |||
| 376 | * @ssid_len: Length of SSID given in @ssid. | 376 | * @ssid_len: Length of SSID given in @ssid. |
| 377 | * @hidden_ssid: The SSID of the current vif is hidden. Only valid in AP-mode. | 377 | * @hidden_ssid: The SSID of the current vif is hidden. Only valid in AP-mode. |
| 378 | * @txpower: TX power in dBm | 378 | * @txpower: TX power in dBm |
| 379 | * @txpower_type: TX power adjustment used to control per packet Transmit | ||
| 380 | * Power Control (TPC) in lower driver for the current vif. In particular | ||
| 381 | * TPC is enabled if value passed in %txpower_type is | ||
| 382 | * NL80211_TX_POWER_LIMITED (allow using less than specified from | ||
| 383 | * userspace), whereas TPC is disabled if %txpower_type is set to | ||
| 384 | * NL80211_TX_POWER_FIXED (use value configured from userspace) | ||
| 379 | * @p2p_noa_attr: P2P NoA attribute for P2P powersave | 385 | * @p2p_noa_attr: P2P NoA attribute for P2P powersave |
| 380 | */ | 386 | */ |
| 381 | struct ieee80211_bss_conf { | 387 | struct ieee80211_bss_conf { |
| @@ -411,6 +417,7 @@ struct ieee80211_bss_conf { | |||
| 411 | size_t ssid_len; | 417 | size_t ssid_len; |
| 412 | bool hidden_ssid; | 418 | bool hidden_ssid; |
| 413 | int txpower; | 419 | int txpower; |
| 420 | enum nl80211_tx_power_setting txpower_type; | ||
| 414 | struct ieee80211_p2p_noa_attr p2p_noa_attr; | 421 | struct ieee80211_p2p_noa_attr p2p_noa_attr; |
| 415 | }; | 422 | }; |
| 416 | 423 | ||
| @@ -505,8 +512,11 @@ struct ieee80211_bss_conf { | |||
| 505 | * @IEEE80211_TX_CTL_DONTFRAG: Don't fragment this packet even if it | 512 | * @IEEE80211_TX_CTL_DONTFRAG: Don't fragment this packet even if it |
| 506 | * would be fragmented by size (this is optional, only used for | 513 | * would be fragmented by size (this is optional, only used for |
| 507 | * monitor injection). | 514 | * monitor injection). |
| 508 | * @IEEE80211_TX_CTL_PS_RESPONSE: This frame is a response to a poll | 515 | * @IEEE80211_TX_STAT_NOACK_TRANSMITTED: A frame that was marked with |
| 509 | * frame (PS-Poll or uAPSD). | 516 | * IEEE80211_TX_CTL_NO_ACK has been successfully transmitted without |
| 517 | * any errors (like issues specific to the driver/HW). | ||
| 518 | * This flag must not be set for frames that don't request no-ack | ||
| 519 | * behaviour with IEEE80211_TX_CTL_NO_ACK. | ||
| 510 | * | 520 | * |
| 511 | * Note: If you have to add new flags to the enumeration, then don't | 521 | * Note: If you have to add new flags to the enumeration, then don't |
| 512 | * forget to update %IEEE80211_TX_TEMPORARY_FLAGS when necessary. | 522 | * forget to update %IEEE80211_TX_TEMPORARY_FLAGS when necessary. |
| @@ -542,7 +552,7 @@ enum mac80211_tx_info_flags { | |||
| 542 | IEEE80211_TX_STATUS_EOSP = BIT(28), | 552 | IEEE80211_TX_STATUS_EOSP = BIT(28), |
| 543 | IEEE80211_TX_CTL_USE_MINRATE = BIT(29), | 553 | IEEE80211_TX_CTL_USE_MINRATE = BIT(29), |
| 544 | IEEE80211_TX_CTL_DONTFRAG = BIT(30), | 554 | IEEE80211_TX_CTL_DONTFRAG = BIT(30), |
| 545 | IEEE80211_TX_CTL_PS_RESPONSE = BIT(31), | 555 | IEEE80211_TX_STAT_NOACK_TRANSMITTED = BIT(31), |
| 546 | }; | 556 | }; |
| 547 | 557 | ||
| 548 | #define IEEE80211_TX_CTL_STBC_SHIFT 23 | 558 | #define IEEE80211_TX_CTL_STBC_SHIFT 23 |
| @@ -552,11 +562,14 @@ enum mac80211_tx_info_flags { | |||
| 552 | * | 562 | * |
| 553 | * @IEEE80211_TX_CTRL_PORT_CTRL_PROTO: this frame is a port control | 563 | * @IEEE80211_TX_CTRL_PORT_CTRL_PROTO: this frame is a port control |
| 554 | * protocol frame (e.g. EAP) | 564 | * protocol frame (e.g. EAP) |
| 565 | * @IEEE80211_TX_CTRL_PS_RESPONSE: This frame is a response to a poll | ||
| 566 | * frame (PS-Poll or uAPSD). | ||
| 555 | * | 567 | * |
| 556 | * These flags are used in tx_info->control.flags. | 568 | * These flags are used in tx_info->control.flags. |
| 557 | */ | 569 | */ |
| 558 | enum mac80211_tx_control_flags { | 570 | enum mac80211_tx_control_flags { |
| 559 | IEEE80211_TX_CTRL_PORT_CTRL_PROTO = BIT(0), | 571 | IEEE80211_TX_CTRL_PORT_CTRL_PROTO = BIT(0), |
| 572 | IEEE80211_TX_CTRL_PS_RESPONSE = BIT(1), | ||
| 560 | }; | 573 | }; |
| 561 | 574 | ||
| 562 | /* | 575 | /* |
| @@ -925,15 +938,13 @@ enum mac80211_rx_flags { | |||
| 925 | * These flags are used with the @vht_flag member of | 938 | * These flags are used with the @vht_flag member of |
| 926 | * &struct ieee80211_rx_status. | 939 | * &struct ieee80211_rx_status. |
| 927 | * @RX_VHT_FLAG_80MHZ: 80 MHz was used | 940 | * @RX_VHT_FLAG_80MHZ: 80 MHz was used |
| 928 | * @RX_VHT_FLAG_80P80MHZ: 80+80 MHz was used | ||
| 929 | * @RX_VHT_FLAG_160MHZ: 160 MHz was used | 941 | * @RX_VHT_FLAG_160MHZ: 160 MHz was used |
| 930 | * @RX_VHT_FLAG_BF: packet was beamformed | 942 | * @RX_VHT_FLAG_BF: packet was beamformed |
| 931 | */ | 943 | */ |
| 932 | enum mac80211_rx_vht_flags { | 944 | enum mac80211_rx_vht_flags { |
| 933 | RX_VHT_FLAG_80MHZ = BIT(0), | 945 | RX_VHT_FLAG_80MHZ = BIT(0), |
| 934 | RX_VHT_FLAG_80P80MHZ = BIT(1), | 946 | RX_VHT_FLAG_160MHZ = BIT(1), |
| 935 | RX_VHT_FLAG_160MHZ = BIT(2), | 947 | RX_VHT_FLAG_BF = BIT(2), |
| 936 | RX_VHT_FLAG_BF = BIT(3), | ||
| 937 | }; | 948 | }; |
| 938 | 949 | ||
| 939 | /** | 950 | /** |
| @@ -1181,10 +1192,15 @@ struct ieee80211_channel_switch { | |||
| 1181 | * monitoring on this virtual interface -- i.e. it can monitor | 1192 | * monitoring on this virtual interface -- i.e. it can monitor |
| 1182 | * connection quality related parameters, such as the RSSI level and | 1193 | * connection quality related parameters, such as the RSSI level and |
| 1183 | * provide notifications if configured trigger levels are reached. | 1194 | * provide notifications if configured trigger levels are reached. |
| 1195 | * @IEEE80211_VIF_SUPPORTS_UAPSD: The device can do U-APSD for this | ||
| 1196 | * interface. This flag should be set during interface addition, | ||
| 1197 | * but may be set/cleared as late as authentication to an AP. It is | ||
| 1198 | * only valid for managed/station mode interfaces. | ||
| 1184 | */ | 1199 | */ |
| 1185 | enum ieee80211_vif_flags { | 1200 | enum ieee80211_vif_flags { |
| 1186 | IEEE80211_VIF_BEACON_FILTER = BIT(0), | 1201 | IEEE80211_VIF_BEACON_FILTER = BIT(0), |
| 1187 | IEEE80211_VIF_SUPPORTS_CQM_RSSI = BIT(1), | 1202 | IEEE80211_VIF_SUPPORTS_CQM_RSSI = BIT(1), |
| 1203 | IEEE80211_VIF_SUPPORTS_UAPSD = BIT(2), | ||
| 1188 | }; | 1204 | }; |
| 1189 | 1205 | ||
| 1190 | /** | 1206 | /** |
| @@ -1278,8 +1294,8 @@ struct ieee80211_vif *wdev_to_ieee80211_vif(struct wireless_dev *wdev); | |||
| 1278 | * @IEEE80211_KEY_FLAG_PAIRWISE: Set by mac80211, this flag indicates | 1294 | * @IEEE80211_KEY_FLAG_PAIRWISE: Set by mac80211, this flag indicates |
| 1279 | * that the key is pairwise rather then a shared key. | 1295 | * that the key is pairwise rather then a shared key. |
| 1280 | * @IEEE80211_KEY_FLAG_SW_MGMT_TX: This flag should be set by the driver for a | 1296 | * @IEEE80211_KEY_FLAG_SW_MGMT_TX: This flag should be set by the driver for a |
| 1281 | * CCMP key if it requires CCMP encryption of management frames (MFP) to | 1297 | * CCMP/GCMP key if it requires CCMP/GCMP encryption of management frames |
| 1282 | * be done in software. | 1298 | * (MFP) to be done in software. |
| 1283 | * @IEEE80211_KEY_FLAG_PUT_IV_SPACE: This flag should be set by the driver | 1299 | * @IEEE80211_KEY_FLAG_PUT_IV_SPACE: This flag should be set by the driver |
| 1284 | * if space should be prepared for the IV, but the IV | 1300 | * if space should be prepared for the IV, but the IV |
| 1285 | * itself should not be generated. Do not set together with | 1301 | * itself should not be generated. Do not set together with |
| @@ -1294,8 +1310,11 @@ struct ieee80211_vif *wdev_to_ieee80211_vif(struct wireless_dev *wdev); | |||
| 1294 | * RX, if your crypto engine can't deal with TX you can also set the | 1310 | * RX, if your crypto engine can't deal with TX you can also set the |
| 1295 | * %IEEE80211_KEY_FLAG_SW_MGMT_TX flag to encrypt such frames in SW. | 1311 | * %IEEE80211_KEY_FLAG_SW_MGMT_TX flag to encrypt such frames in SW. |
| 1296 | * @IEEE80211_KEY_FLAG_GENERATE_IV_MGMT: This flag should be set by the | 1312 | * @IEEE80211_KEY_FLAG_GENERATE_IV_MGMT: This flag should be set by the |
| 1297 | * driver for a CCMP key to indicate that is requires IV generation | 1313 | * driver for a CCMP/GCMP key to indicate that is requires IV generation |
| 1298 | * only for managment frames (MFP). | 1314 | * only for managment frames (MFP). |
| 1315 | * @IEEE80211_KEY_FLAG_RESERVE_TAILROOM: This flag should be set by the | ||
| 1316 | * driver for a key to indicate that sufficient tailroom must always | ||
| 1317 | * be reserved for ICV or MIC, even when HW encryption is enabled. | ||
| 1299 | */ | 1318 | */ |
| 1300 | enum ieee80211_key_flags { | 1319 | enum ieee80211_key_flags { |
| 1301 | IEEE80211_KEY_FLAG_GENERATE_IV_MGMT = BIT(0), | 1320 | IEEE80211_KEY_FLAG_GENERATE_IV_MGMT = BIT(0), |
| @@ -1305,6 +1324,7 @@ enum ieee80211_key_flags { | |||
| 1305 | IEEE80211_KEY_FLAG_SW_MGMT_TX = BIT(4), | 1324 | IEEE80211_KEY_FLAG_SW_MGMT_TX = BIT(4), |
| 1306 | IEEE80211_KEY_FLAG_PUT_IV_SPACE = BIT(5), | 1325 | IEEE80211_KEY_FLAG_PUT_IV_SPACE = BIT(5), |
| 1307 | IEEE80211_KEY_FLAG_RX_MGMT = BIT(6), | 1326 | IEEE80211_KEY_FLAG_RX_MGMT = BIT(6), |
| 1327 | IEEE80211_KEY_FLAG_RESERVE_TAILROOM = BIT(7), | ||
| 1308 | }; | 1328 | }; |
| 1309 | 1329 | ||
| 1310 | /** | 1330 | /** |
| @@ -1583,11 +1603,6 @@ struct ieee80211_tx_control { | |||
| 1583 | * @IEEE80211_HW_MFP_CAPABLE: | 1603 | * @IEEE80211_HW_MFP_CAPABLE: |
| 1584 | * Hardware supports management frame protection (MFP, IEEE 802.11w). | 1604 | * Hardware supports management frame protection (MFP, IEEE 802.11w). |
| 1585 | * | 1605 | * |
| 1586 | * @IEEE80211_HW_SUPPORTS_UAPSD: | ||
| 1587 | * Hardware supports Unscheduled Automatic Power Save Delivery | ||
| 1588 | * (U-APSD) in managed mode. The mode is configured with | ||
| 1589 | * conf_tx() operation. | ||
| 1590 | * | ||
| 1591 | * @IEEE80211_HW_REPORTS_TX_ACK_STATUS: | 1606 | * @IEEE80211_HW_REPORTS_TX_ACK_STATUS: |
| 1592 | * Hardware can provide ack status reports of Tx frames to | 1607 | * Hardware can provide ack status reports of Tx frames to |
| 1593 | * the stack. | 1608 | * the stack. |
| @@ -1626,6 +1641,12 @@ struct ieee80211_tx_control { | |||
| 1626 | * be created. It is expected user-space will create vifs as | 1641 | * be created. It is expected user-space will create vifs as |
| 1627 | * desired (and thus have them named as desired). | 1642 | * desired (and thus have them named as desired). |
| 1628 | * | 1643 | * |
| 1644 | * @IEEE80211_HW_SW_CRYPTO_CONTROL: The driver wants to control which of the | ||
| 1645 | * crypto algorithms can be done in software - so don't automatically | ||
| 1646 | * try to fall back to it if hardware crypto fails, but do so only if | ||
| 1647 | * the driver returns 1. This also forces the driver to advertise its | ||
| 1648 | * supported cipher suites. | ||
| 1649 | * | ||
| 1629 | * @IEEE80211_HW_QUEUE_CONTROL: The driver wants to control per-interface | 1650 | * @IEEE80211_HW_QUEUE_CONTROL: The driver wants to control per-interface |
| 1630 | * queue mapping in order to use different queues (not just one per AC) | 1651 | * queue mapping in order to use different queues (not just one per AC) |
| 1631 | * for different virtual interfaces. See the doc section on HW queue | 1652 | * for different virtual interfaces. See the doc section on HW queue |
| @@ -1673,8 +1694,8 @@ enum ieee80211_hw_flags { | |||
| 1673 | IEEE80211_HW_MFP_CAPABLE = 1<<13, | 1694 | IEEE80211_HW_MFP_CAPABLE = 1<<13, |
| 1674 | IEEE80211_HW_WANT_MONITOR_VIF = 1<<14, | 1695 | IEEE80211_HW_WANT_MONITOR_VIF = 1<<14, |
| 1675 | IEEE80211_HW_NO_AUTO_VIF = 1<<15, | 1696 | IEEE80211_HW_NO_AUTO_VIF = 1<<15, |
| 1676 | /* free slot */ | 1697 | IEEE80211_HW_SW_CRYPTO_CONTROL = 1<<16, |
| 1677 | IEEE80211_HW_SUPPORTS_UAPSD = 1<<17, | 1698 | /* free slots */ |
| 1678 | IEEE80211_HW_REPORTS_TX_ACK_STATUS = 1<<18, | 1699 | IEEE80211_HW_REPORTS_TX_ACK_STATUS = 1<<18, |
| 1679 | IEEE80211_HW_CONNECTION_MONITOR = 1<<19, | 1700 | IEEE80211_HW_CONNECTION_MONITOR = 1<<19, |
| 1680 | IEEE80211_HW_QUEUE_CONTROL = 1<<20, | 1701 | IEEE80211_HW_QUEUE_CONTROL = 1<<20, |
| @@ -1948,6 +1969,11 @@ void ieee80211_free_txskb(struct ieee80211_hw *hw, struct sk_buff *skb); | |||
| 1948 | * added; if you return 0 then hw_key_idx must be assigned to the | 1969 | * added; if you return 0 then hw_key_idx must be assigned to the |
| 1949 | * hardware key index, you are free to use the full u8 range. | 1970 | * hardware key index, you are free to use the full u8 range. |
| 1950 | * | 1971 | * |
| 1972 | * Note that in the case that the @IEEE80211_HW_SW_CRYPTO_CONTROL flag is | ||
| 1973 | * set, mac80211 will not automatically fall back to software crypto if | ||
| 1974 | * enabling hardware crypto failed. The set_key() call may also return the | ||
| 1975 | * value 1 to permit this specific key/algorithm to be done in software. | ||
| 1976 | * | ||
| 1951 | * When the cmd is %DISABLE_KEY then it must succeed. | 1977 | * When the cmd is %DISABLE_KEY then it must succeed. |
| 1952 | * | 1978 | * |
| 1953 | * Note that it is permissible to not decrypt a frame even if a key | 1979 | * Note that it is permissible to not decrypt a frame even if a key |
| @@ -2026,7 +2052,7 @@ void ieee80211_free_txskb(struct ieee80211_hw *hw, struct sk_buff *skb); | |||
| 2026 | * enabled whenever user has enabled powersave. | 2052 | * enabled whenever user has enabled powersave. |
| 2027 | * | 2053 | * |
| 2028 | * Driver informs U-APSD client support by enabling | 2054 | * Driver informs U-APSD client support by enabling |
| 2029 | * %IEEE80211_HW_SUPPORTS_UAPSD flag. The mode is configured through the | 2055 | * %IEEE80211_VIF_SUPPORTS_UAPSD flag. The mode is configured through the |
| 2030 | * uapsd parameter in conf_tx() operation. Hardware needs to send the QoS | 2056 | * uapsd parameter in conf_tx() operation. Hardware needs to send the QoS |
| 2031 | * Nullfunc frames and stay awake until the service period has ended. To | 2057 | * Nullfunc frames and stay awake until the service period has ended. To |
| 2032 | * utilize U-APSD, dynamic powersave is disabled for voip AC and all frames | 2058 | * utilize U-APSD, dynamic powersave is disabled for voip AC and all frames |
| @@ -2699,6 +2725,14 @@ enum ieee80211_reconfig_type { | |||
| 2699 | * is only used if the configured rate control algorithm actually uses | 2725 | * is only used if the configured rate control algorithm actually uses |
| 2700 | * the new rate table API, and is therefore optional. Must be atomic. | 2726 | * the new rate table API, and is therefore optional. Must be atomic. |
| 2701 | * | 2727 | * |
| 2728 | * @sta_statistics: Get statistics for this station. For example with beacon | ||
| 2729 | * filtering, the statistics kept by mac80211 might not be accurate, so | ||
| 2730 | * let the driver pre-fill the statistics. The driver can fill most of | ||
| 2731 | * the values (indicating which by setting the filled bitmap), but not | ||
| 2732 | * all of them make sense - see the source for which ones are possible. | ||
| 2733 | * Statistics that the driver doesn't fill will be filled by mac80211. | ||
| 2734 | * The callback can sleep. | ||
| 2735 | * | ||
| 2702 | * @conf_tx: Configure TX queue parameters (EDCF (aifs, cw_min, cw_max), | 2736 | * @conf_tx: Configure TX queue parameters (EDCF (aifs, cw_min, cw_max), |
| 2703 | * bursting) for a hardware TX queue. | 2737 | * bursting) for a hardware TX queue. |
| 2704 | * Returns a negative error code on failure. | 2738 | * Returns a negative error code on failure. |
| @@ -2859,9 +2893,6 @@ enum ieee80211_reconfig_type { | |||
| 2859 | * @get_et_strings: Ethtool API to get a set of strings to describe stats | 2893 | * @get_et_strings: Ethtool API to get a set of strings to describe stats |
| 2860 | * and perhaps other supported types of ethtool data-sets. | 2894 | * and perhaps other supported types of ethtool data-sets. |
| 2861 | * | 2895 | * |
| 2862 | * @get_rssi: Get current signal strength in dBm, the function is optional | ||
| 2863 | * and can sleep. | ||
| 2864 | * | ||
| 2865 | * @mgd_prepare_tx: Prepare for transmitting a management frame for association | 2896 | * @mgd_prepare_tx: Prepare for transmitting a management frame for association |
| 2866 | * before associated. In multi-channel scenarios, a virtual interface is | 2897 | * before associated. In multi-channel scenarios, a virtual interface is |
| 2867 | * bound to a channel before it is associated, but as it isn't associated | 2898 | * bound to a channel before it is associated, but as it isn't associated |
| @@ -3062,6 +3093,10 @@ struct ieee80211_ops { | |||
| 3062 | void (*sta_rate_tbl_update)(struct ieee80211_hw *hw, | 3093 | void (*sta_rate_tbl_update)(struct ieee80211_hw *hw, |
| 3063 | struct ieee80211_vif *vif, | 3094 | struct ieee80211_vif *vif, |
| 3064 | struct ieee80211_sta *sta); | 3095 | struct ieee80211_sta *sta); |
| 3096 | void (*sta_statistics)(struct ieee80211_hw *hw, | ||
| 3097 | struct ieee80211_vif *vif, | ||
| 3098 | struct ieee80211_sta *sta, | ||
| 3099 | struct station_info *sinfo); | ||
| 3065 | int (*conf_tx)(struct ieee80211_hw *hw, | 3100 | int (*conf_tx)(struct ieee80211_hw *hw, |
| 3066 | struct ieee80211_vif *vif, u16 ac, | 3101 | struct ieee80211_vif *vif, u16 ac, |
| 3067 | const struct ieee80211_tx_queue_params *params); | 3102 | const struct ieee80211_tx_queue_params *params); |
| @@ -3129,8 +3164,6 @@ struct ieee80211_ops { | |||
| 3129 | void (*get_et_strings)(struct ieee80211_hw *hw, | 3164 | void (*get_et_strings)(struct ieee80211_hw *hw, |
| 3130 | struct ieee80211_vif *vif, | 3165 | struct ieee80211_vif *vif, |
| 3131 | u32 sset, u8 *data); | 3166 | u32 sset, u8 *data); |
| 3132 | int (*get_rssi)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, | ||
| 3133 | struct ieee80211_sta *sta, s8 *rssi_dbm); | ||
| 3134 | 3167 | ||
| 3135 | void (*mgd_prepare_tx)(struct ieee80211_hw *hw, | 3168 | void (*mgd_prepare_tx)(struct ieee80211_hw *hw, |
| 3136 | struct ieee80211_vif *vif); | 3169 | struct ieee80211_vif *vif); |
| @@ -4065,6 +4098,10 @@ void ieee80211_aes_cmac_calculate_k1_k2(struct ieee80211_key_conf *keyconf, | |||
| 4065 | * reverse order than in packet) | 4098 | * reverse order than in packet) |
| 4066 | * @aes_cmac: PN data, most significant byte first (big endian, | 4099 | * @aes_cmac: PN data, most significant byte first (big endian, |
| 4067 | * reverse order than in packet) | 4100 | * reverse order than in packet) |
| 4101 | * @aes_gmac: PN data, most significant byte first (big endian, | ||
| 4102 | * reverse order than in packet) | ||
| 4103 | * @gcmp: PN data, most significant byte first (big endian, | ||
| 4104 | * reverse order than in packet) | ||
| 4068 | */ | 4105 | */ |
| 4069 | struct ieee80211_key_seq { | 4106 | struct ieee80211_key_seq { |
| 4070 | union { | 4107 | union { |
| @@ -4078,6 +4115,12 @@ struct ieee80211_key_seq { | |||
| 4078 | struct { | 4115 | struct { |
| 4079 | u8 pn[6]; | 4116 | u8 pn[6]; |
| 4080 | } aes_cmac; | 4117 | } aes_cmac; |
| 4118 | struct { | ||
| 4119 | u8 pn[6]; | ||
| 4120 | } aes_gmac; | ||
| 4121 | struct { | ||
| 4122 | u8 pn[6]; | ||
| 4123 | } gcmp; | ||
| 4081 | }; | 4124 | }; |
| 4082 | }; | 4125 | }; |
| 4083 | 4126 | ||
| @@ -4102,7 +4145,7 @@ void ieee80211_get_key_tx_seq(struct ieee80211_key_conf *keyconf, | |||
| 4102 | * ieee80211_get_key_rx_seq - get key RX sequence counter | 4145 | * ieee80211_get_key_rx_seq - get key RX sequence counter |
| 4103 | * | 4146 | * |
| 4104 | * @keyconf: the parameter passed with the set key | 4147 | * @keyconf: the parameter passed with the set key |
| 4105 | * @tid: The TID, or -1 for the management frame value (CCMP only); | 4148 | * @tid: The TID, or -1 for the management frame value (CCMP/GCMP only); |
| 4106 | * the value on TID 0 is also used for non-QoS frames. For | 4149 | * the value on TID 0 is also used for non-QoS frames. For |
| 4107 | * CMAC, only TID 0 is valid. | 4150 | * CMAC, only TID 0 is valid. |
| 4108 | * @seq: buffer to receive the sequence data | 4151 | * @seq: buffer to receive the sequence data |
| @@ -4138,7 +4181,7 @@ void ieee80211_set_key_tx_seq(struct ieee80211_key_conf *keyconf, | |||
| 4138 | * ieee80211_set_key_rx_seq - set key RX sequence counter | 4181 | * ieee80211_set_key_rx_seq - set key RX sequence counter |
| 4139 | * | 4182 | * |
| 4140 | * @keyconf: the parameter passed with the set key | 4183 | * @keyconf: the parameter passed with the set key |
| 4141 | * @tid: The TID, or -1 for the management frame value (CCMP only); | 4184 | * @tid: The TID, or -1 for the management frame value (CCMP/GCMP only); |
| 4142 | * the value on TID 0 is also used for non-QoS frames. For | 4185 | * the value on TID 0 is also used for non-QoS frames. For |
| 4143 | * CMAC, only TID 0 is valid. | 4186 | * CMAC, only TID 0 is valid. |
| 4144 | * @seq: new sequence data | 4187 | * @seq: new sequence data |
