Bug 2315 - Problem when BACK Request is part of an A-MPDU
Problem when BACK Request is part of an A-MPDU
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: wifi
pre-release
All All
: P5 major
Assigned To: sebastien.deronne
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-02-29 09:02 UTC by Matías Richart
Modified: 2016-03-01 14:43 UTC (History)
1 user (show)

See Also:


Attachments
proposed fix to solve this bug (653 bytes, patch)
2016-02-29 15:20 UTC, sebastien.deronne
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Matías Richart 2016-02-29 09:02:41 UTC
When BACK Request is sent as part of an A-MPDU the, it is not count as a MPDU in ampdu tag. See ForwardDown in mac-low:
if (hdr->IsBlockAckReq ())
 {
   ampdutag.SetNoOfMpdus (queueSize - 1);
 }

However, when receiving the MPDUs in StartReceivePreambleAndHeader in yans-wifi-phy, it is not considered if it is a BACK request and m_mpdusNum is always decreased.

This makes the last MPDU to not be received correctly.
Comment 1 sebastien.deronne 2016-02-29 09:19:09 UTC
Matias, thanks for reporting, I will have a look.
Comment 2 sebastien.deronne 2016-02-29 15:20:10 UTC
Created attachment 2311 [details]
proposed fix to solve this bug

I agree, I do not see a reason for having size-1 when a BAR is piggybacked.
I checked back in the code and I do not think this change might hurt.
On the contrary, I suspect this bug is present for a while bug was only detected now (assert is triggered since proposed fix for bug 2313)
Comment 3 sebastien.deronne 2016-02-29 15:20:37 UTC
IMPORTANT fix, setting also to LAST CALL
Comment 4 Matías Richart 2016-03-01 06:20:41 UTC
The patch works for me.
I don't see any problems with the change.
Comment 5 sebastien.deronne 2016-03-01 14:43:49 UTC
pushed in changeset 11944:9d01f88b6c2c