diff options
author | Rajkumar Manoharan <rmanohar@codeaurora.org> | 2019-04-11 13:47:26 -0700 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2019-04-26 13:02:11 +0200 |
commit | 8828f81ad4a2f4e89ebe6e7793c06ed767c31d53 (patch) | |
tree | 71415b59b1233bbca345250bcbdc622ba99fdc47 /net/mac80211/mesh_hwmp.c | |
parent | 060167729a78d626abaee1a0ebb64b252374426e (diff) | |
download | linux-stable-8828f81ad4a2f4e89ebe6e7793c06ed767c31d53.tar.gz linux-stable-8828f81ad4a2f4e89ebe6e7793c06ed767c31d53.tar.bz2 linux-stable-8828f81ad4a2f4e89ebe6e7793c06ed767c31d53.zip |
mac80211: probe unexercised mesh links
The requirement for mesh link metric refreshing, is that from one
mesh point we be able to send some data frames to other mesh points
which are not currently selected as a primary traffic path, but which
are only 1 hop away. The absence of the primary path to the chosen node
makes it necessary to apply some form of marking on a chosen packet
stream so that the packets can be properly steered to the selected node
for testing, and not by the regular mesh path lookup.
Tested-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mesh_hwmp.c')
-rw-r--r-- | net/mac80211/mesh_hwmp.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/mesh_hwmp.c b/net/mac80211/mesh_hwmp.c index 2c5929c0fa62..bf8e13cd5fd1 100644 --- a/net/mac80211/mesh_hwmp.c +++ b/net/mac80211/mesh_hwmp.c @@ -1135,6 +1135,10 @@ int mesh_nexthop_resolve(struct ieee80211_sub_if_data *sdata, if (ieee80211_is_qos_nullfunc(hdr->frame_control)) return 0; + /* Allow injected packets to bypass mesh routing */ + if (info->control.flags & IEEE80211_TX_CTRL_SKIP_MPATH_LOOKUP) + return 0; + if (!mesh_nexthop_lookup(sdata, skb)) return 0; |