svn commit: r246498 - head/sys/net80211
Monthadar Al Jaberi
monthadar at FreeBSD.org
Thu Feb 7 21:17:35 UTC 2013
Author: monthadar
Date: Thu Feb 7 21:17:35 2013
New Revision: 246498
URL: http://svnweb.freebsd.org/changeset/base/246498
Log:
Fix mesh path flag.
* A bug occurs while in discovery mode which leaves a path marked with
both Discover and Valid flag. This happens when receiving/sending
PREQ and PREP in a particular order. Solution is to assign the Valid bit
instead of oring it;
Approved by: adrian (mentor)
Modified:
head/sys/net80211/ieee80211_hwmp.c
Modified: head/sys/net80211/ieee80211_hwmp.c
==============================================================================
--- head/sys/net80211/ieee80211_hwmp.c Thu Feb 7 21:12:55 2013 (r246497)
+++ head/sys/net80211/ieee80211_hwmp.c Thu Feb 7 21:17:35 2013 (r246498)
@@ -995,8 +995,11 @@ hwmp_recv_preq(struct ieee80211vap *vap,
rtorig->rt_metric = metric;
rtorig->rt_nhops = preq->preq_hopcount + 1;
ieee80211_mesh_rt_update(rtorig, preq->preq_lifetime);
- /* path to orig is valid now */
- rtorig->rt_flags |= IEEE80211_MESHRT_FLAGS_VALID;
+ /* Path to orig is valid now.
+ * NB: we know it can't be Proxy, and if it is GATE
+ * it will be marked below.
+ */
+ rtorig->rt_flags = IEEE80211_MESHRT_FLAGS_VALID;
}else if ((hrtarg != NULL &&
HWMP_SEQ_EQ(hrtarg->hr_seq, PREQ_TSEQ(0)) &&
((rtorig->rt_flags & IEEE80211_MESHRT_FLAGS_VALID) == 0)) ||
More information about the svn-src-head
mailing list