aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2007-12-18 19:31:22 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 17:59:45 -0500
commitce3edf6d0b979fa4d5da7204fd8c6f77f2b8622a (patch)
tree3608f59fa3c437edfe132a603775111a03dce453 /net/mac80211/ieee80211_i.h
parent1946b74ce03c4edecabde80d027da00a7eab56ca (diff)
mac80211: clean up eapol frame handling/port control
This cleans up the eapol frame handling and some related code in the receive and transmit paths. After this patch * EAPOL frames addressed to us or the EAPOL group address are always accepted regardless of whether they are encrypted or not * other frames from a station are dropped if PAE is enabled and the station is not authorized * unencrypted frames (except the EAPOL frames above) are dropped if drop_unencrypted is enabled * some superfluous code that eth_type_trans handles anyway is gone * port control is done for transmitted packets Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h22
1 files changed, 9 insertions, 13 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index b54ed5fe4aa3..214109b8d95a 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -306,11 +306,11 @@ struct ieee80211_sub_if_data {
306 unsigned int flags; 306 unsigned int flags;
307 307
308 int drop_unencrypted; 308 int drop_unencrypted;
309 int eapol; /* 0 = process EAPOL frames as normal data frames, 309 /*
310 * 1 = send EAPOL frames through wlan#ap to hostapd 310 * IEEE 802.1X Port access control in effect,
311 * (default) */ 311 * drop packets to/from unauthorized port
312 int ieee802_1x; /* IEEE 802.1X PAE - drop packet to/from unauthorized 312 */
313 * port */ 313 int ieee802_1x_pac;
314 314
315 u16 sequence; 315 u16 sequence;
316 316
@@ -339,8 +339,7 @@ struct ieee80211_sub_if_data {
339 struct { 339 struct {
340 struct dentry *channel_use; 340 struct dentry *channel_use;
341 struct dentry *drop_unencrypted; 341 struct dentry *drop_unencrypted;
342 struct dentry *eapol; 342 struct dentry *ieee802_1x_pac;
343 struct dentry *ieee8021_x;
344 struct dentry *state; 343 struct dentry *state;
345 struct dentry *bssid; 344 struct dentry *bssid;
346 struct dentry *prev_bssid; 345 struct dentry *prev_bssid;
@@ -359,8 +358,7 @@ struct ieee80211_sub_if_data {
359 struct { 358 struct {
360 struct dentry *channel_use; 359 struct dentry *channel_use;
361 struct dentry *drop_unencrypted; 360 struct dentry *drop_unencrypted;
362 struct dentry *eapol; 361 struct dentry *ieee802_1x_pac;
363 struct dentry *ieee8021_x;
364 struct dentry *num_sta_ps; 362 struct dentry *num_sta_ps;
365 struct dentry *dtim_period; 363 struct dentry *dtim_period;
366 struct dentry *dtim_count; 364 struct dentry *dtim_count;
@@ -374,15 +372,13 @@ struct ieee80211_sub_if_data {
374 struct { 372 struct {
375 struct dentry *channel_use; 373 struct dentry *channel_use;
376 struct dentry *drop_unencrypted; 374 struct dentry *drop_unencrypted;
377 struct dentry *eapol; 375 struct dentry *ieee802_1x_pac;
378 struct dentry *ieee8021_x;
379 struct dentry *peer; 376 struct dentry *peer;
380 } wds; 377 } wds;
381 struct { 378 struct {
382 struct dentry *channel_use; 379 struct dentry *channel_use;
383 struct dentry *drop_unencrypted; 380 struct dentry *drop_unencrypted;
384 struct dentry *eapol; 381 struct dentry *ieee802_1x_pac;
385 struct dentry *ieee8021_x;
386 } vlan; 382 } vlan;
387 struct { 383 struct {
388 struct dentry *mode; 384 struct dentry *mode;