aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2007-09-17 01:29:24 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 19:52:57 -0400
commit0ec3ca445931ff0e7ad6ac61d6c5d2aaafe7a9f5 (patch)
treea9e5fab14a3f928df6536a913ca8aba5e0ab2632 /net/mac80211/ieee80211_i.h
parent4150c57212ad134765dd78c654a4b9906252b66d (diff)
[PATCH] mac80211: validate VLAN interfaces better
This patch changes mac80211 to verify that VLAN interfaces are valid and not bother drivers about them any more. VLAN interfaces are now only valid when an AP interface is up with the same MAC address, and are automatically turned off when the AP interface is set down. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Cc: Jouni Malinen <j@w1.fi> Signed-off-by: Michael Wu <flamingice@sourmilk.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 74deecd09677..1a43f3e9b6bd 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -191,6 +191,8 @@ struct ieee80211_if_ap {
191 u8 *beacon_head, *beacon_tail; 191 u8 *beacon_head, *beacon_tail;
192 int beacon_head_len, beacon_tail_len; 192 int beacon_head_len, beacon_tail_len;
193 193
194 struct list_head vlans;
195
194 u8 ssid[IEEE80211_MAX_SSID_LEN]; 196 u8 ssid[IEEE80211_MAX_SSID_LEN];
195 size_t ssid_len; 197 size_t ssid_len;
196 u8 *generic_elem; 198 u8 *generic_elem;
@@ -214,7 +216,8 @@ struct ieee80211_if_wds {
214}; 216};
215 217
216struct ieee80211_if_vlan { 218struct ieee80211_if_vlan {
217 u8 id; 219 struct ieee80211_sub_if_data *ap;
220 struct list_head list;
218}; 221};
219 222
220/* flags used in struct ieee80211_if_sta.flags */ 223/* flags used in struct ieee80211_if_sta.flags */
@@ -377,7 +380,6 @@ struct ieee80211_sub_if_data {
377 struct dentry *drop_unencrypted; 380 struct dentry *drop_unencrypted;
378 struct dentry *eapol; 381 struct dentry *eapol;
379 struct dentry *ieee8021_x; 382 struct dentry *ieee8021_x;
380 struct dentry *vlan_id;
381 } vlan; 383 } vlan;
382 struct { 384 struct {
383 struct dentry *mode; 385 struct dentry *mode;