aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-09-10 18:01:54 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-09-15 16:48:22 -0400
commit213cd118cbb88b76ae48f92cfb7dbef9a83cca62 (patch)
treef0b2237af6e1336648e350541c3871397e976a41 /net/mac80211/ieee80211_i.h
parente16751c3178add97c4f83dcf92e59b536537b22f (diff)
mac80211: make bridge_packets a virtual interface option
The bridge_packets configuration really should be per virtual interface (theoretically per AP/VLAN, but this is much easier); there currently is no way to set it yet though. Also invert the option to "NO_BRIDGE_PACKETS" so the default is to bridge. While at it, also document the flags properly. Signed-off-by: Johannes Berg <johannes@sipsolutions.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.h29
1 files changed, 19 insertions, 10 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 199d64143b41..52f36ab1ee57 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -402,11 +402,25 @@ struct ieee80211_if_mesh {
402 do { } while (0) 402 do { } while (0)
403#endif 403#endif
404 404
405/* flags used in struct ieee80211_sub_if_data.flags */ 405/**
406#define IEEE80211_SDATA_ALLMULTI BIT(0) 406 * enum ieee80211_sub_if_data_flags - virtual interface flags
407#define IEEE80211_SDATA_PROMISC BIT(1) 407 *
408#define IEEE80211_SDATA_USERSPACE_MLME BIT(2) 408 * @IEEE80211_SDATA_ALLMULTI: interface wants all multicast packets
409#define IEEE80211_SDATA_OPERATING_GMODE BIT(3) 409 * @IEEE80211_SDATA_PROMISC: interface is promisc
410 * @IEEE80211_SDATA_USERSPACE_MLME: userspace MLME is active
411 * @IEEE80211_SDATA_OPERATING_GMODE: operating in G-only mode
412 * @IEEE80211_SDATA_DONT_BRIDGE_PACKETS: bridge packets between
413 * associated stations and deliver multicast frames both
414 * back to wireless media and to the local net stack.
415 */
416enum ieee80211_sub_if_data_flags {
417 IEEE80211_SDATA_ALLMULTI = BIT(0),
418 IEEE80211_SDATA_PROMISC = BIT(1),
419 IEEE80211_SDATA_USERSPACE_MLME = BIT(2),
420 IEEE80211_SDATA_OPERATING_GMODE = BIT(3),
421 IEEE80211_SDATA_DONT_BRIDGE_PACKETS = BIT(4),
422};
423
410struct ieee80211_sub_if_data { 424struct ieee80211_sub_if_data {
411 struct list_head list; 425 struct list_head list;
412 426
@@ -635,10 +649,6 @@ struct ieee80211_local {
635 struct crypto_blkcipher *wep_rx_tfm; 649 struct crypto_blkcipher *wep_rx_tfm;
636 u32 wep_iv; 650 u32 wep_iv;
637 651
638 int bridge_packets; /* bridge packets between associated stations and
639 * deliver multicast frames both back to wireless
640 * media and to the local net stack */
641
642 struct list_head interfaces; 652 struct list_head interfaces;
643 653
644 /* 654 /*
@@ -726,7 +736,6 @@ struct ieee80211_local {
726 struct dentry *frequency; 736 struct dentry *frequency;
727 struct dentry *antenna_sel_tx; 737 struct dentry *antenna_sel_tx;
728 struct dentry *antenna_sel_rx; 738 struct dentry *antenna_sel_rx;
729 struct dentry *bridge_packets;
730 struct dentry *rts_threshold; 739 struct dentry *rts_threshold;
731 struct dentry *fragmentation_threshold; 740 struct dentry *fragmentation_threshold;
732 struct dentry *short_retry_limit; 741 struct dentry *short_retry_limit;