mac80211: parse VHT channel switch IEs
authorJohannes Berg <johannes.berg@intel.com>
Tue, 26 Mar 2013 13:54:16 +0000 (14:54 +0100)
committerChristian Lamparter <chunkeey@googlemail.com>
Fri, 31 May 2013 15:30:55 +0000 (17:30 +0200)
VHT introduces multiple IEs that need to be parsed for a
wide bandwidth channel switch. Two are (currently) needed
in mac80211:
 * wide bandwidth channel switch element
 * channel switch wrapper element

The former is contained in the latter for beacons and probe
responses, but not for the spectrum management action frames
so the IE parser needs a new argument to differentiate them.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
include/linux/ieee80211.h

index f4c01e2214691819b705ca0126286ce531fcd4da..8281e92b04e15125222705fe039af1b8633428bf 100644 (file)
@@ -702,6 +702,14 @@ struct ieee80211_sec_chan_offs_ie {
        u8 sec_chan_offs;
 } __packed;
 
+/**
+ * struct ieee80211_wide_bw_chansw_ie - wide bandwidth channel switch IE
+ */
+struct ieee80211_wide_bw_chansw_ie {
+       u8 new_channel_width;
+       u8 new_center_freq_seg0, new_center_freq_seg1;
+} __packed;
+
 /**
  * struct ieee80211_tim
  *
@@ -1719,6 +1727,8 @@ enum ieee80211_eid {
        WLAN_EID_VHT_CAPABILITY = 191,
        WLAN_EID_VHT_OPERATION = 192,
        WLAN_EID_OPMODE_NOTIF = 199,
+       WLAN_EID_WIDE_BW_CHANNEL_SWITCH = 194,
+       WLAN_EID_CHANNEL_SWITCH_WRAPPER = 196,
 
        /* 802.11ad */
        WLAN_EID_NON_TX_BSSID_CAP =  83,