mac80211: mesh: fix HWMP sequence numbering to follow standard

IEEE 802.11-2016 14.10.8.3 HWMP sequence numbering says:
If it is a target mesh STA, it shall update its own HWMP SN to
maximum (current HWMP SN, target HWMP SN in the PREQ element) + 1
immediately before it generates a PREP element in response to a
PREQ element.

Signed-off-by: Yuan-Chi Pang <fu3mo6goo@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Yuan-Chi Pang 2018-08-29 09:30:08 +08:00 committed by Johannes Berg
parent b88d26d97c
commit 1f631c3201
1 changed files with 4 additions and 0 deletions

View File

@ -572,6 +572,10 @@ static void hwmp_preq_frame_process(struct ieee80211_sub_if_data *sdata,
forward = false; forward = false;
reply = true; reply = true;
target_metric = 0; target_metric = 0;
if (SN_GT(target_sn, ifmsh->sn))
ifmsh->sn = target_sn;
if (time_after(jiffies, ifmsh->last_sn_update + if (time_after(jiffies, ifmsh->last_sn_update +
net_traversal_jiffies(sdata)) || net_traversal_jiffies(sdata)) ||
time_before(jiffies, ifmsh->last_sn_update)) { time_before(jiffies, ifmsh->last_sn_update)) {