diff options
author | Jouni Malinen <j@w1.fi> | 2009-01-08 06:32:06 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-01-29 16:00:05 -0500 |
commit | fea147328908b7e2bfcaf9dc4377909d5507ca35 (patch) | |
tree | 4fa92b2ed01a5b4ec06d41b299606ed4546c09a1 /include/linux/ieee80211.h | |
parent | fdfacf0ae2e8339098b1164d2317b792d7662c0a (diff) |
mac80211: 802.11w - SA Query processing
Process SA Query Requests for client mode in mac80211. AP side
processing of SA Query Response frames is in user space (hostapd).
Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/linux/ieee80211.h')
-rw-r--r-- | include/linux/ieee80211.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index df98a8a549a2..9fe1948d28d3 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -527,6 +527,8 @@ struct ieee80211_tim_ie { | |||
527 | u8 virtual_map[0]; | 527 | u8 virtual_map[0]; |
528 | } __attribute__ ((packed)); | 528 | } __attribute__ ((packed)); |
529 | 529 | ||
530 | #define WLAN_SA_QUERY_TR_ID_LEN 16 | ||
531 | |||
530 | struct ieee80211_mgmt { | 532 | struct ieee80211_mgmt { |
531 | __le16 frame_control; | 533 | __le16 frame_control; |
532 | __le16 duration; | 534 | __le16 duration; |
@@ -646,6 +648,10 @@ struct ieee80211_mgmt { | |||
646 | u8 action_code; | 648 | u8 action_code; |
647 | u8 variable[0]; | 649 | u8 variable[0]; |
648 | } __attribute__((packed)) mesh_action; | 650 | } __attribute__((packed)) mesh_action; |
651 | struct { | ||
652 | u8 action; | ||
653 | u8 trans_id[WLAN_SA_QUERY_TR_ID_LEN]; | ||
654 | } __attribute__ ((packed)) sa_query; | ||
649 | } u; | 655 | } u; |
650 | } __attribute__ ((packed)) action; | 656 | } __attribute__ ((packed)) action; |
651 | } u; | 657 | } u; |
@@ -1041,6 +1047,7 @@ enum ieee80211_category { | |||
1041 | WLAN_CATEGORY_DLS = 2, | 1047 | WLAN_CATEGORY_DLS = 2, |
1042 | WLAN_CATEGORY_BACK = 3, | 1048 | WLAN_CATEGORY_BACK = 3, |
1043 | WLAN_CATEGORY_PUBLIC = 4, | 1049 | WLAN_CATEGORY_PUBLIC = 4, |
1050 | WLAN_CATEGORY_SA_QUERY = 8, | ||
1044 | WLAN_CATEGORY_WMM = 17, | 1051 | WLAN_CATEGORY_WMM = 17, |
1045 | }; | 1052 | }; |
1046 | 1053 | ||
@@ -1129,6 +1136,13 @@ enum ieee80211_back_parties { | |||
1129 | WLAN_BACK_TIMER = 2, | 1136 | WLAN_BACK_TIMER = 2, |
1130 | }; | 1137 | }; |
1131 | 1138 | ||
1139 | /* SA Query action */ | ||
1140 | enum ieee80211_sa_query_action { | ||
1141 | WLAN_ACTION_SA_QUERY_REQUEST = 0, | ||
1142 | WLAN_ACTION_SA_QUERY_RESPONSE = 1, | ||
1143 | }; | ||
1144 | |||
1145 | |||
1132 | /* A-MSDU 802.11n */ | 1146 | /* A-MSDU 802.11n */ |
1133 | #define IEEE80211_QOS_CONTROL_A_MSDU_PRESENT 0x0080 | 1147 | #define IEEE80211_QOS_CONTROL_A_MSDU_PRESENT 0x0080 |
1134 | 1148 | ||