diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-09-17 01:29:24 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:52:57 -0400 |
commit | 0ec3ca445931ff0e7ad6ac61d6c5d2aaafe7a9f5 (patch) | |
tree | a9e5fab14a3f928df6536a913ca8aba5e0ab2632 /net/mac80211/ieee80211_i.h | |
parent | 4150c57212ad134765dd78c654a4b9906252b66d (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.h | 6 |
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 | ||
216 | struct ieee80211_if_vlan { | 218 | struct 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; |