diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/nl80211.h | 28 | ||||
-rw-r--r-- | include/net/cfg80211.h | 16 |
2 files changed, 44 insertions, 0 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index cbe8ce3bf486..27f230f063b3 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
@@ -199,6 +199,14 @@ | |||
199 | * NL80211_CMD_AUTHENTICATE but for Disassociation frames (similar to | 199 | * NL80211_CMD_AUTHENTICATE but for Disassociation frames (similar to |
200 | * MLME-DISASSOCIATE.request and MLME-DISASSOCIATE.indication primitives). | 200 | * MLME-DISASSOCIATE.request and MLME-DISASSOCIATE.indication primitives). |
201 | * | 201 | * |
202 | * @NL80211_CMD_MICHAEL_MIC_FAILURE: notification of a locally detected Michael | ||
203 | * MIC (part of TKIP) failure; sent on the "mlme" multicast group; the | ||
204 | * event includes %NL80211_ATTR_MAC to describe the source MAC address of | ||
205 | * the frame with invalid MIC, %NL80211_ATTR_KEY_TYPE to show the key | ||
206 | * type, %NL80211_ATTR_KEY_IDX to indicate the key identifier, and | ||
207 | * %NL80211_ATTR_KEY_SEQ to indicate the TSC value of the frame; this | ||
208 | * event matches with MLME-MICHAELMICFAILURE.indication() primitive | ||
209 | * | ||
202 | * @NL80211_CMD_MAX: highest used command number | 210 | * @NL80211_CMD_MAX: highest used command number |
203 | * @__NL80211_CMD_AFTER_LAST: internal use | 211 | * @__NL80211_CMD_AFTER_LAST: internal use |
204 | */ | 212 | */ |
@@ -260,6 +268,8 @@ enum nl80211_commands { | |||
260 | NL80211_CMD_DEAUTHENTICATE, | 268 | NL80211_CMD_DEAUTHENTICATE, |
261 | NL80211_CMD_DISASSOCIATE, | 269 | NL80211_CMD_DISASSOCIATE, |
262 | 270 | ||
271 | NL80211_CMD_MICHAEL_MIC_FAILURE, | ||
272 | |||
263 | /* add new commands above here */ | 273 | /* add new commands above here */ |
264 | 274 | ||
265 | /* used to define NL80211_CMD_MAX below */ | 275 | /* used to define NL80211_CMD_MAX below */ |
@@ -408,6 +418,9 @@ enum nl80211_commands { | |||
408 | * @NL80211_ATTR_REASON_CODE: ReasonCode for %NL80211_CMD_DEAUTHENTICATE and | 418 | * @NL80211_ATTR_REASON_CODE: ReasonCode for %NL80211_CMD_DEAUTHENTICATE and |
409 | * %NL80211_CMD_DISASSOCIATE, u16 | 419 | * %NL80211_CMD_DISASSOCIATE, u16 |
410 | * | 420 | * |
421 | * @NL80211_ATTR_KEY_TYPE: Key Type, see &enum nl80211_key_type, represented as | ||
422 | * a u32 | ||
423 | * | ||
411 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 424 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
412 | * @__NL80211_ATTR_AFTER_LAST: internal use | 425 | * @__NL80211_ATTR_AFTER_LAST: internal use |
413 | */ | 426 | */ |
@@ -492,6 +505,8 @@ enum nl80211_attrs { | |||
492 | NL80211_ATTR_AUTH_TYPE, | 505 | NL80211_ATTR_AUTH_TYPE, |
493 | NL80211_ATTR_REASON_CODE, | 506 | NL80211_ATTR_REASON_CODE, |
494 | 507 | ||
508 | NL80211_ATTR_KEY_TYPE, | ||
509 | |||
495 | /* add attributes here, update the policy in nl80211.c */ | 510 | /* add attributes here, update the policy in nl80211.c */ |
496 | 511 | ||
497 | __NL80211_ATTR_AFTER_LAST, | 512 | __NL80211_ATTR_AFTER_LAST, |
@@ -1062,4 +1077,17 @@ enum nl80211_auth_type { | |||
1062 | NL80211_AUTHTYPE_FT, | 1077 | NL80211_AUTHTYPE_FT, |
1063 | NL80211_AUTHTYPE_NETWORK_EAP, | 1078 | NL80211_AUTHTYPE_NETWORK_EAP, |
1064 | }; | 1079 | }; |
1080 | |||
1081 | /** | ||
1082 | * enum nl80211_key_type - Key Type | ||
1083 | * @NL80211_KEYTYPE_GROUP: Group (broadcast/multicast) key | ||
1084 | * @NL80211_KEYTYPE_PAIRWISE: Pairwise (unicast/individual) key | ||
1085 | * @NL80211_KEYTYPE_PEERKEY: PeerKey (DLS) | ||
1086 | */ | ||
1087 | enum nl80211_key_type { | ||
1088 | NL80211_KEYTYPE_GROUP, | ||
1089 | NL80211_KEYTYPE_PAIRWISE, | ||
1090 | NL80211_KEYTYPE_PEERKEY, | ||
1091 | }; | ||
1092 | |||
1065 | #endif /* __LINUX_NL80211_H */ | 1093 | #endif /* __LINUX_NL80211_H */ |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index ec33096fc655..f8bf0c86650b 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -957,4 +957,20 @@ void cfg80211_hold_bss(struct cfg80211_bss *bss); | |||
957 | */ | 957 | */ |
958 | void cfg80211_unhold_bss(struct cfg80211_bss *bss); | 958 | void cfg80211_unhold_bss(struct cfg80211_bss *bss); |
959 | 959 | ||
960 | /** | ||
961 | * cfg80211_michael_mic_failure - notification of Michael MIC failure (TKIP) | ||
962 | * @dev: network device | ||
963 | * @addr: The source MAC address of the frame | ||
964 | * @key_type: The key type that the received frame used | ||
965 | * @key_id: Key identifier (0..3) | ||
966 | * @tsc: The TSC value of the frame that generated the MIC failure (6 octets) | ||
967 | * | ||
968 | * This function is called whenever the local MAC detects a MIC failure in a | ||
969 | * received frame. This matches with MLME-MICHAELMICFAILURE.indication() | ||
970 | * primitive. | ||
971 | */ | ||
972 | void cfg80211_michael_mic_failure(struct net_device *dev, const u8 *addr, | ||
973 | enum nl80211_key_type key_type, int key_id, | ||
974 | const u8 *tsc); | ||
975 | |||
960 | #endif /* __NET_CFG80211_H */ | 976 | #endif /* __NET_CFG80211_H */ |