aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless/nl80211.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-04-26 19:23:35 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-04-27 16:09:21 -0400
commitfd8aaaf3519f3fd3c82594e90bc6808072b94d54 (patch)
tree70ebab87226b597270c1d33b57955afac3e2f4fe /net/wireless/nl80211.c
parent740c2679396d60763968ffd16362f1f5c8242172 (diff)
cfg80211: add ap isolation support
This is used to configure APs to not bridge traffic between connected stations. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r--net/wireless/nl80211.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index df5505b3930..c27bef8e0c1 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -151,6 +151,7 @@ static const struct nla_policy nl80211_policy[NL80211_ATTR_MAX+1] = {
151 [NL80211_ATTR_PS_STATE] = { .type = NLA_U32 }, 151 [NL80211_ATTR_PS_STATE] = { .type = NLA_U32 },
152 [NL80211_ATTR_CQM] = { .type = NLA_NESTED, }, 152 [NL80211_ATTR_CQM] = { .type = NLA_NESTED, },
153 [NL80211_ATTR_LOCAL_STATE_CHANGE] = { .type = NLA_FLAG }, 153 [NL80211_ATTR_LOCAL_STATE_CHANGE] = { .type = NLA_FLAG },
154 [NL80211_ATTR_AP_ISOLATE] = { .type = NLA_U8 },
154}; 155};
155 156
156/* policy for the attributes */ 157/* policy for the attributes */
@@ -2441,6 +2442,7 @@ static int nl80211_set_bss(struct sk_buff *skb, struct genl_info *info)
2441 params.use_cts_prot = -1; 2442 params.use_cts_prot = -1;
2442 params.use_short_preamble = -1; 2443 params.use_short_preamble = -1;
2443 params.use_short_slot_time = -1; 2444 params.use_short_slot_time = -1;
2445 params.ap_isolate = -1;
2444 2446
2445 if (info->attrs[NL80211_ATTR_BSS_CTS_PROT]) 2447 if (info->attrs[NL80211_ATTR_BSS_CTS_PROT])
2446 params.use_cts_prot = 2448 params.use_cts_prot =
@@ -2457,6 +2459,8 @@ static int nl80211_set_bss(struct sk_buff *skb, struct genl_info *info)
2457 params.basic_rates_len = 2459 params.basic_rates_len =
2458 nla_len(info->attrs[NL80211_ATTR_BSS_BASIC_RATES]); 2460 nla_len(info->attrs[NL80211_ATTR_BSS_BASIC_RATES]);
2459 } 2461 }
2462 if (info->attrs[NL80211_ATTR_AP_ISOLATE])
2463 params.ap_isolate = !!nla_get_u8(info->attrs[NL80211_ATTR_AP_ISOLATE]);
2460 2464
2461 rtnl_lock(); 2465 rtnl_lock();
2462 2466