Bug 2315

Summary: Problem when BACK Request is part of an A-MPDU
Product: ns-3 Reporter: Matías Richart <matis18>
Component: wifiAssignee: sebastien.deronne
Status: RESOLVED FIXED    
Severity: major CC: ns-bugs
Priority: P5    
Version: pre-release   
Hardware: All   
OS: All   
Attachments: proposed fix to solve 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