summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_hwmp.c
diff options
context:
space:
mode:
authormonthadar <monthadar@FreeBSD.org>2013-02-07 21:29:14 +0000
committermonthadar <monthadar@FreeBSD.org>2013-02-07 21:29:14 +0000
commit422806540dea1e01868b6ba5127e297b53892a07 (patch)
tree43b52cb8d14e72c68bb15cabddcdde71f9a884ce /sys/net80211/ieee80211_hwmp.c
parent94b538df94c33ff8a3c15e88e82ea11ef9bccc57 (diff)
downloadFreeBSD-src-422806540dea1e01868b6ba5127e297b53892a07.zip
FreeBSD-src-422806540dea1e01868b6ba5127e297b53892a07.tar.gz
Mesh HWMP PREQ: fixed conditions for discarding elements.
Approved by: adrian (mentor)
Diffstat (limited to 'sys/net80211/ieee80211_hwmp.c')
-rw-r--r--sys/net80211/ieee80211_hwmp.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/net80211/ieee80211_hwmp.c b/sys/net80211/ieee80211_hwmp.c
index 4602692..707a790 100644
--- a/sys/net80211/ieee80211_hwmp.c
+++ b/sys/net80211/ieee80211_hwmp.c
@@ -997,10 +997,10 @@ hwmp_recv_preq(struct ieee80211vap *vap, struct ieee80211_node *ni,
* 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)) ||
- preqid >= preq->preq_id) {
+ } else if ((hrtarg != NULL &&
+ !HWMP_SEQ_EQ(hrtarg->hr_seq, PREQ_TSEQ(0))) ||
+ (rtorig->rt_flags & IEEE80211_MESHRT_FLAGS_VALID &&
+ preqid >= preq->preq_id)) {
IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni,
"discard PREQ from %6D, old seqno %u <= %u,"
" or old preqid %u < %u",
OpenPOWER on IntegriCloud