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>
This commit is contained in:
committed by
David S. Miller
parent
1946b74ce0
commit
ce3edf6d0b
@ -306,11 +306,11 @@ struct ieee80211_sub_if_data {
|
||||
unsigned int flags;
|
||||
|
||||
int drop_unencrypted;
|
||||
int eapol; /* 0 = process EAPOL frames as normal data frames,
|
||||
* 1 = send EAPOL frames through wlan#ap to hostapd
|
||||
* (default) */
|
||||
int ieee802_1x; /* IEEE 802.1X PAE - drop packet to/from unauthorized
|
||||
* port */
|
||||
/*
|
||||
* IEEE 802.1X Port access control in effect,
|
||||
* drop packets to/from unauthorized port
|
||||
*/
|
||||
int ieee802_1x_pac;
|
||||
|
||||
u16 sequence;
|
||||
|
||||
@ -339,8 +339,7 @@ struct ieee80211_sub_if_data {
|
||||
struct {
|
||||
struct dentry *channel_use;
|
||||
struct dentry *drop_unencrypted;
|
||||
struct dentry *eapol;
|
||||
struct dentry *ieee8021_x;
|
||||
struct dentry *ieee802_1x_pac;
|
||||
struct dentry *state;
|
||||
struct dentry *bssid;
|
||||
struct dentry *prev_bssid;
|
||||
@ -359,8 +358,7 @@ struct ieee80211_sub_if_data {
|
||||
struct {
|
||||
struct dentry *channel_use;
|
||||
struct dentry *drop_unencrypted;
|
||||
struct dentry *eapol;
|
||||
struct dentry *ieee8021_x;
|
||||
struct dentry *ieee802_1x_pac;
|
||||
struct dentry *num_sta_ps;
|
||||
struct dentry *dtim_period;
|
||||
struct dentry *dtim_count;
|
||||
@ -374,15 +372,13 @@ struct ieee80211_sub_if_data {
|
||||
struct {
|
||||
struct dentry *channel_use;
|
||||
struct dentry *drop_unencrypted;
|
||||
struct dentry *eapol;
|
||||
struct dentry *ieee8021_x;
|
||||
struct dentry *ieee802_1x_pac;
|
||||
struct dentry *peer;
|
||||
} wds;
|
||||
struct {
|
||||
struct dentry *channel_use;
|
||||
struct dentry *drop_unencrypted;
|
||||
struct dentry *eapol;
|
||||
struct dentry *ieee8021_x;
|
||||
struct dentry *ieee802_1x_pac;
|
||||
} vlan;
|
||||
struct {
|
||||
struct dentry *mode;
|
||||
|
Reference in New Issue
Block a user