diff options
author | David Spinadel <david.spinadel@intel.com> | 2017-12-01 06:50:52 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2017-12-11 06:20:17 -0500 |
commit | 9de18d8186cb070d22ed67a3f75a2ef5fbf3ef6f (patch) | |
tree | 936a15e2817360d322ebe90373099da0d3f478a9 /include/net/mac80211.h | |
parent | c7c477b52c4caa2cfb44bf3841f806d1bf20e0bf (diff) |
mac80211: Add MIC space only for TX key option
Add a key flag to indicates that the device only needs
MIC space and not a real MIC.
In such cases, keep the MIC zeroed for ease of debug.
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 2ee4af25256d..906e90223066 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -1552,6 +1552,9 @@ struct wireless_dev *ieee80211_vif_to_wdev(struct ieee80211_vif *vif); | |||
1552 | * @IEEE80211_KEY_FLAG_RESERVE_TAILROOM: This flag should be set by the | 1552 | * @IEEE80211_KEY_FLAG_RESERVE_TAILROOM: This flag should be set by the |
1553 | * driver for a key to indicate that sufficient tailroom must always | 1553 | * driver for a key to indicate that sufficient tailroom must always |
1554 | * be reserved for ICV or MIC, even when HW encryption is enabled. | 1554 | * be reserved for ICV or MIC, even when HW encryption is enabled. |
1555 | * @IEEE80211_KEY_FLAG_PUT_MIC_SPACE: This flag should be set by the driver for | ||
1556 | * a TKIP key if it only requires MIC space. Do not set together with | ||
1557 | * @IEEE80211_KEY_FLAG_GENERATE_MMIC on the same key. | ||
1555 | */ | 1558 | */ |
1556 | enum ieee80211_key_flags { | 1559 | enum ieee80211_key_flags { |
1557 | IEEE80211_KEY_FLAG_GENERATE_IV_MGMT = BIT(0), | 1560 | IEEE80211_KEY_FLAG_GENERATE_IV_MGMT = BIT(0), |
@@ -1562,6 +1565,7 @@ enum ieee80211_key_flags { | |||
1562 | IEEE80211_KEY_FLAG_PUT_IV_SPACE = BIT(5), | 1565 | IEEE80211_KEY_FLAG_PUT_IV_SPACE = BIT(5), |
1563 | IEEE80211_KEY_FLAG_RX_MGMT = BIT(6), | 1566 | IEEE80211_KEY_FLAG_RX_MGMT = BIT(6), |
1564 | IEEE80211_KEY_FLAG_RESERVE_TAILROOM = BIT(7), | 1567 | IEEE80211_KEY_FLAG_RESERVE_TAILROOM = BIT(7), |
1568 | IEEE80211_KEY_FLAG_PUT_MIC_SPACE = BIT(8), | ||
1565 | }; | 1569 | }; |
1566 | 1570 | ||
1567 | /** | 1571 | /** |
@@ -1593,8 +1597,8 @@ struct ieee80211_key_conf { | |||
1593 | u8 icv_len; | 1597 | u8 icv_len; |
1594 | u8 iv_len; | 1598 | u8 iv_len; |
1595 | u8 hw_key_idx; | 1599 | u8 hw_key_idx; |
1596 | u8 flags; | ||
1597 | s8 keyidx; | 1600 | s8 keyidx; |
1601 | u16 flags; | ||
1598 | u8 keylen; | 1602 | u8 keylen; |
1599 | u8 key[0]; | 1603 | u8 key[0]; |
1600 | }; | 1604 | }; |