diff options
author | Jouni Malinen <jouni@qca.qualcomm.com> | 2015-01-24 12:52:08 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2015-01-27 05:09:13 -0500 |
commit | 56c52da2d554f081e8fce58ecbcf6a40c605b95b (patch) | |
tree | 9c28bdf5c73f2f2a3a6d87880a9422e6d16f9d30 /net/mac80211/debugfs_key.c | |
parent | 2b2ba0db1c820d04d5143452d70012cd44d7b578 (diff) |
mac80111: Add BIP-CMAC-256 cipher
This allows mac80211 to configure BIP-CMAC-256 to the driver and also
use software-implementation within mac80211 when the driver does not
support this with hardware accelaration.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/debugfs_key.c')
-rw-r--r-- | net/mac80211/debugfs_key.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/debugfs_key.c b/net/mac80211/debugfs_key.c index 64de07b16092..d1b60eb014a8 100644 --- a/net/mac80211/debugfs_key.c +++ b/net/mac80211/debugfs_key.c | |||
@@ -101,6 +101,7 @@ static ssize_t key_tx_spec_read(struct file *file, char __user *userbuf, | |||
101 | (u8)(pn >> 16), (u8)(pn >> 8), (u8)pn); | 101 | (u8)(pn >> 16), (u8)(pn >> 8), (u8)pn); |
102 | break; | 102 | break; |
103 | case WLAN_CIPHER_SUITE_AES_CMAC: | 103 | case WLAN_CIPHER_SUITE_AES_CMAC: |
104 | case WLAN_CIPHER_SUITE_BIP_CMAC_256: | ||
104 | pn = atomic64_read(&key->u.aes_cmac.tx_pn); | 105 | pn = atomic64_read(&key->u.aes_cmac.tx_pn); |
105 | len = scnprintf(buf, sizeof(buf), "%02x%02x%02x%02x%02x%02x\n", | 106 | len = scnprintf(buf, sizeof(buf), "%02x%02x%02x%02x%02x%02x\n", |
106 | (u8)(pn >> 40), (u8)(pn >> 32), (u8)(pn >> 24), | 107 | (u8)(pn >> 40), (u8)(pn >> 32), (u8)(pn >> 24), |
@@ -153,6 +154,7 @@ static ssize_t key_rx_spec_read(struct file *file, char __user *userbuf, | |||
153 | len = p - buf; | 154 | len = p - buf; |
154 | break; | 155 | break; |
155 | case WLAN_CIPHER_SUITE_AES_CMAC: | 156 | case WLAN_CIPHER_SUITE_AES_CMAC: |
157 | case WLAN_CIPHER_SUITE_BIP_CMAC_256: | ||
156 | rpn = key->u.aes_cmac.rx_pn; | 158 | rpn = key->u.aes_cmac.rx_pn; |
157 | p += scnprintf(p, sizeof(buf)+buf-p, | 159 | p += scnprintf(p, sizeof(buf)+buf-p, |
158 | "%02x%02x%02x%02x%02x%02x\n", | 160 | "%02x%02x%02x%02x%02x%02x\n", |
@@ -191,6 +193,7 @@ static ssize_t key_replays_read(struct file *file, char __user *userbuf, | |||
191 | len = scnprintf(buf, sizeof(buf), "%u\n", key->u.ccmp.replays); | 193 | len = scnprintf(buf, sizeof(buf), "%u\n", key->u.ccmp.replays); |
192 | break; | 194 | break; |
193 | case WLAN_CIPHER_SUITE_AES_CMAC: | 195 | case WLAN_CIPHER_SUITE_AES_CMAC: |
196 | case WLAN_CIPHER_SUITE_BIP_CMAC_256: | ||
194 | len = scnprintf(buf, sizeof(buf), "%u\n", | 197 | len = scnprintf(buf, sizeof(buf), "%u\n", |
195 | key->u.aes_cmac.replays); | 198 | key->u.aes_cmac.replays); |
196 | break; | 199 | break; |
@@ -214,6 +217,7 @@ static ssize_t key_icverrors_read(struct file *file, char __user *userbuf, | |||
214 | 217 | ||
215 | switch (key->conf.cipher) { | 218 | switch (key->conf.cipher) { |
216 | case WLAN_CIPHER_SUITE_AES_CMAC: | 219 | case WLAN_CIPHER_SUITE_AES_CMAC: |
220 | case WLAN_CIPHER_SUITE_BIP_CMAC_256: | ||
217 | len = scnprintf(buf, sizeof(buf), "%u\n", | 221 | len = scnprintf(buf, sizeof(buf), "%u\n", |
218 | key->u.aes_cmac.icverrors); | 222 | key->u.aes_cmac.icverrors); |
219 | break; | 223 | break; |