diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-04-26 19:23:35 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-04-27 16:09:21 -0400 |
commit | fd8aaaf3519f3fd3c82594e90bc6808072b94d54 (patch) | |
tree | 70ebab87226b597270c1d33b57955afac3e2f4fe /net/wireless | |
parent | 740c2679396d60763968ffd16362f1f5c8242172 (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')
-rw-r--r-- | net/wireless/nl80211.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index df5505b3930c..c27bef8e0c11 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 | ||