aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
authorDavid Spinadel <david.spinadel@intel.com>2017-12-01 06:50:52 -0500
committerJohannes Berg <johannes.berg@intel.com>2017-12-11 06:20:17 -0500
commit9de18d8186cb070d22ed67a3f75a2ef5fbf3ef6f (patch)
tree936a15e2817360d322ebe90373099da0d3f478a9 /include/net/mac80211.h
parentc7c477b52c4caa2cfb44bf3841f806d1bf20e0bf (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.h6
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 */
1556enum ieee80211_key_flags { 1559enum 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};