summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_hwmp.c
diff options
context:
space:
mode:
authormonthadar <monthadar@FreeBSD.org>2013-02-07 21:28:25 +0000
committermonthadar <monthadar@FreeBSD.org>2013-02-07 21:28:25 +0000
commit94b538df94c33ff8a3c15e88e82ea11ef9bccc57 (patch)
tree96d2119b7128a9ad28292efad03b221b57892ad3 /sys/net80211/ieee80211_hwmp.c
parent989940d9efd2129ce37cfa645159588759926c15 (diff)
downloadFreeBSD-src-94b538df94c33ff8a3c15e88e82ea11ef9bccc57.zip
FreeBSD-src-94b538df94c33ff8a3c15e88e82ea11ef9bccc57.tar.gz
Mesh HWMP: don't send an intermediate PREP for proxy entries.
* The standard is unclear about what should happen in case a mesh STA (not marked as a mesh gate) recevies a PREQ for a destination that is marked as proxy. Solution for now is not to do intermediate reply at all, and let the PREQ reach the mesh gate; Approved by: adrian (mentor)
Diffstat (limited to 'sys/net80211/ieee80211_hwmp.c')
-rw-r--r--sys/net80211/ieee80211_hwmp.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_hwmp.c b/sys/net80211/ieee80211_hwmp.c
index 8f1a102..4602692 100644
--- a/sys/net80211/ieee80211_hwmp.c
+++ b/sys/net80211/ieee80211_hwmp.c
@@ -1133,9 +1133,11 @@ hwmp_recv_preq(struct ieee80211vap *vap, struct ieee80211_node *ni,
/*
* We have a valid route to this node.
+ * NB: if target is proxy dont reply.
*/
if (rttarg != NULL &&
- (rttarg->rt_flags & IEEE80211_MESHRT_FLAGS_VALID)) {
+ rttarg->rt_flags & IEEE80211_MESHRT_FLAGS_VALID &&
+ !(rttarg->rt_flags & IEEE80211_MESHRT_FLAGS_PROXY)) {
/*
* Check if we can send an intermediate Path Reply,
* i.e., Target Only bit is not set and target is not
OpenPOWER on IntegriCloud