wifi: (fixes #1104) Fix computation of reordering buffer start SeqN

Reported and fix suggested by Charles Huang
This commit is contained in:
Stefano Avallone
2024-11-11 16:50:17 +01:00
parent d0c6e41881
commit c72b1df7bc
2 changed files with 5 additions and 2 deletions

View File

@@ -61,6 +61,7 @@ The required Doxygen version for documentation generation is version 1.11.
- (wifi) Fix S-MPDU TX duration computation with BlockAck ack policy
- (wifi) Fix missing DSSS Param Set in Probe Request sent over 2.4 GHz links
- (spectrum) Trigger 3GPP channel updates after changes to antenna attributes
- (wifi) #1104 - Fix wrong calculation of start sequence number
## Release 3.43

View File

@@ -159,8 +159,10 @@ RecipientBlockAckAgreement::NotifyReceivedMpdu(Ptr<const WifiMpdu> mpdu)
// MAC process in order of increasing Sequence Number subfield value. Gaps may
// exist in the Sequence Number subfield values of the MSDUs or A-MSDUs that are
// passed up to the next MAC process.
PassBufferedMpdusWithSeqNumberLessThan(mpdu->GetHeader().GetSequenceNumber() - m_winSizeB +
1);
const uint16_t newWinStartB =
(mpdu->GetHeader().GetSequenceNumber() - m_winSizeB + 1 + SEQNO_SPACE_SIZE) %
SEQNO_SPACE_SIZE;
PassBufferedMpdusWithSeqNumberLessThan(newWinStartB);
// 5. Pass MSDUs or A-MSDUs stored in the buffer up to the next MAC process in
// order of increasing value of the Sequence Number subfield starting with