diff options
author | Chun-Yeow Yeoh <yeohchunyeow@gmail.com> | 2012-03-02 02:03:19 +0800 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-03-05 15:38:33 -0500 |
commit | d665508b98d3cdbeb476e7d6848a513184a81ed0 (patch) | |
tree | 00032469034dc31c007251d956396bcfbe2103c6 /net/mac80211/rx.c | |
parent | fe8431f89e25de722610ee5beb2892bd019d1fed (diff) | |
download | linux-d665508b98d3cdbeb476e7d6848a513184a81ed0.tar.gz linux-d665508b98d3cdbeb476e7d6848a513184a81ed0.tar.bz2 linux-d665508b98d3cdbeb476e7d6848a513184a81ed0.zip |
mac80211: fix the support of setting non-forwarding entity in Mesh
RANN, PREP and PERR propagation should happen only if the
dot11MeshForwarding is true. Besides, data frame should not be
forwarded if dot11MeshForwarding is false. This redundant checking
is necessary to avoid the broadcasted ARP breaking the non-forwarding
rule.
Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index f3b515d16f24..c8166adcd600 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -1960,6 +1960,9 @@ ieee80211_rx_h_mesh_fwding(struct ieee80211_rx_data *rx) return RX_DROP_MONITOR; } + if (!ifmsh->mshcfg.dot11MeshForwarding) + goto out; + fwd_skb = skb_copy(skb, GFP_ATOMIC); if (!fwd_skb) { if (net_ratelimit()) |