diff options
author | Jouni Malinen <jouni.malinen@atheros.com> | 2009-04-22 14:38:25 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-04-22 16:57:21 -0400 |
commit | 1965c85331ed29dc4fd32479ff31663e3e9a518f (patch) | |
tree | 1542f0fdf4121491671bbb604564cb4f6dd1ad58 /include | |
parent | ff2ba188fc5eaae529cb2ef9b127c3ca2a7df4b9 (diff) |
nl80211: Add event for authentication/association timeout
SME needs to be notified when the authentication or association
attempt times out and MLME has stopped processing in order to allow
the SME to decide what to do next.
Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/nl80211.h | 13 | ||||
-rw-r--r-- | include/net/cfg80211.h | 22 |
2 files changed, 31 insertions, 4 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index b6a48dd502ce..e9fd13aa79f0 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
@@ -203,8 +203,12 @@ | |||
203 | * frame, i.e., it was for the local STA and was received in correct | 203 | * frame, i.e., it was for the local STA and was received in correct |
204 | * state. This is similar to MLME-AUTHENTICATE.confirm primitive in the | 204 | * state. This is similar to MLME-AUTHENTICATE.confirm primitive in the |
205 | * MLME SAP interface (kernel providing MLME, userspace SME). The | 205 | * MLME SAP interface (kernel providing MLME, userspace SME). The |
206 | * included NL80211_ATTR_FRAME attribute contains the management frame | 206 | * included %NL80211_ATTR_FRAME attribute contains the management frame |
207 | * (including both the header and frame body, but not FCS). | 207 | * (including both the header and frame body, but not FCS). This event is |
208 | * also used to indicate if the authentication attempt timed out. In that | ||
209 | * case the %NL80211_ATTR_FRAME attribute is replaced with a | ||
210 | * %NL80211_ATTR_TIMED_OUT flag (and %NL80211_ATTR_MAC to indicate which | ||
211 | * pending authentication timed out). | ||
208 | * @NL80211_CMD_ASSOCIATE: association request and notification; like | 212 | * @NL80211_CMD_ASSOCIATE: association request and notification; like |
209 | * NL80211_CMD_AUTHENTICATE but for Association and Reassociation | 213 | * NL80211_CMD_AUTHENTICATE but for Association and Reassociation |
210 | * (similar to MLME-ASSOCIATE.request, MLME-REASSOCIATE.request, | 214 | * (similar to MLME-ASSOCIATE.request, MLME-REASSOCIATE.request, |
@@ -487,6 +491,9 @@ enum nl80211_commands { | |||
487 | * @NL80211_ATTR_FREQ_FIXED: a flag indicating the IBSS should not try to look | 491 | * @NL80211_ATTR_FREQ_FIXED: a flag indicating the IBSS should not try to look |
488 | * for other networks on different channels | 492 | * for other networks on different channels |
489 | * | 493 | * |
494 | * @NL80211_ATTR_TIMED_OUT: a flag indicating than an operation timed out; this | ||
495 | * is used, e.g., with %NL80211_CMD_AUTHENTICATE event | ||
496 | * | ||
490 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 497 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
491 | * @__NL80211_ATTR_AFTER_LAST: internal use | 498 | * @__NL80211_ATTR_AFTER_LAST: internal use |
492 | */ | 499 | */ |
@@ -587,6 +594,8 @@ enum nl80211_attrs { | |||
587 | NL80211_ATTR_WIPHY_FRAG_THRESHOLD, | 594 | NL80211_ATTR_WIPHY_FRAG_THRESHOLD, |
588 | NL80211_ATTR_WIPHY_RTS_THRESHOLD, | 595 | NL80211_ATTR_WIPHY_RTS_THRESHOLD, |
589 | 596 | ||
597 | NL80211_ATTR_TIMED_OUT, | ||
598 | |||
590 | /* add attributes here, update the policy in nl80211.c */ | 599 | /* add attributes here, update the policy in nl80211.c */ |
591 | 600 | ||
592 | __NL80211_ATTR_AFTER_LAST, | 601 | __NL80211_ATTR_AFTER_LAST, |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 7f7b53b69cb2..b8a76764e1c5 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -1475,22 +1475,40 @@ void cfg80211_unlink_bss(struct wiphy *wiphy, struct cfg80211_bss *bss); | |||
1475 | * @len: length of the frame data | 1475 | * @len: length of the frame data |
1476 | * | 1476 | * |
1477 | * This function is called whenever an authentication has been processed in | 1477 | * This function is called whenever an authentication has been processed in |
1478 | * station mode. | 1478 | * station mode. The driver is required to call either this function or |
1479 | * cfg80211_send_auth_timeout() to indicate the result of cfg80211_ops::auth() | ||
1480 | * call. | ||
1479 | */ | 1481 | */ |
1480 | void cfg80211_send_rx_auth(struct net_device *dev, const u8 *buf, size_t len); | 1482 | void cfg80211_send_rx_auth(struct net_device *dev, const u8 *buf, size_t len); |
1481 | 1483 | ||
1482 | /** | 1484 | /** |
1485 | * cfg80211_send_auth_timeout - notification of timed out authentication | ||
1486 | * @dev: network device | ||
1487 | * @addr: The MAC address of the device with which the authentication timed out | ||
1488 | */ | ||
1489 | void cfg80211_send_auth_timeout(struct net_device *dev, const u8 *addr); | ||
1490 | |||
1491 | /** | ||
1483 | * cfg80211_send_rx_assoc - notification of processed association | 1492 | * cfg80211_send_rx_assoc - notification of processed association |
1484 | * @dev: network device | 1493 | * @dev: network device |
1485 | * @buf: (re)association response frame (header + body) | 1494 | * @buf: (re)association response frame (header + body) |
1486 | * @len: length of the frame data | 1495 | * @len: length of the frame data |
1487 | * | 1496 | * |
1488 | * This function is called whenever a (re)association response has been | 1497 | * This function is called whenever a (re)association response has been |
1489 | * processed in station mode. | 1498 | * processed in station mode. The driver is required to call either this |
1499 | * function or cfg80211_send_assoc_timeout() to indicate the result of | ||
1500 | * cfg80211_ops::assoc() call. | ||
1490 | */ | 1501 | */ |
1491 | void cfg80211_send_rx_assoc(struct net_device *dev, const u8 *buf, size_t len); | 1502 | void cfg80211_send_rx_assoc(struct net_device *dev, const u8 *buf, size_t len); |
1492 | 1503 | ||
1493 | /** | 1504 | /** |
1505 | * cfg80211_send_assoc_timeout - notification of timed out association | ||
1506 | * @dev: network device | ||
1507 | * @addr: The MAC address of the device with which the association timed out | ||
1508 | */ | ||
1509 | void cfg80211_send_assoc_timeout(struct net_device *dev, const u8 *addr); | ||
1510 | |||
1511 | /** | ||
1494 | * cfg80211_send_deauth - notification of processed deauthentication | 1512 | * cfg80211_send_deauth - notification of processed deauthentication |
1495 | * @dev: network device | 1513 | * @dev: network device |
1496 | * @buf: deauthentication frame (header + body) | 1514 | * @buf: deauthentication frame (header + body) |