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 | |
| 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')
| -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 | ||
