diff options
author | monthadar <monthadar@FreeBSD.org> | 2013-02-07 21:29:14 +0000 |
---|---|---|
committer | monthadar <monthadar@FreeBSD.org> | 2013-02-07 21:29:14 +0000 |
commit | 422806540dea1e01868b6ba5127e297b53892a07 (patch) | |
tree | 43b52cb8d14e72c68bb15cabddcdde71f9a884ce /sys/net80211 | |
parent | 94b538df94c33ff8a3c15e88e82ea11ef9bccc57 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/net80211/ieee80211_hwmp.c | 8 |
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", |