diff options
author | Thomas Pedersen <thomas@cozybit.com> | 2011-11-24 20:15:25 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-11-28 14:44:07 -0500 |
commit | 0cfda8519c85eb279166fb55a8553ee66eac9b35 (patch) | |
tree | 55f917c9402c0164a76c80b4675ea173562a869f /net/mac80211/tx.c | |
parent | dca7e9430cb3e492437a5ce891b8b3e315c147ca (diff) |
mac80211: don't initiate path discovery when forwarding frame with unknown DA
We used to initiate a path discovery when receiving a frame for which
there is no forwarding information. To cut down on PREQ spam, just send
a (gated) PERR in response.
Also separate path discovery logic from nexthop querying. This patch
means we no longer queue frames when forwarding, so kill the PERR TX
stuff in discard_frame().
Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r-- | net/mac80211/tx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 655e3a97f92e..c4cb4a536e27 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c | |||
@@ -1464,7 +1464,7 @@ void ieee80211_xmit(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb) | |||
1464 | if (ieee80211_vif_is_mesh(&sdata->vif) && | 1464 | if (ieee80211_vif_is_mesh(&sdata->vif) && |
1465 | ieee80211_is_data(hdr->frame_control) && | 1465 | ieee80211_is_data(hdr->frame_control) && |
1466 | !is_multicast_ether_addr(hdr->addr1)) | 1466 | !is_multicast_ether_addr(hdr->addr1)) |
1467 | if (mesh_nexthop_lookup(skb, sdata)) { | 1467 | if (mesh_nexthop_resolve(skb, sdata)) { |
1468 | /* skb queued: don't free */ | 1468 | /* skb queued: don't free */ |
1469 | rcu_read_unlock(); | 1469 | rcu_read_unlock(); |
1470 | return; | 1470 | return; |