Bug 2376

Summary: New A-MPDU might not be received if MPDUs of a previous A-MPDU are lost
Product: ns-3 Reporter: Alexander Krotov <krotov>
Component: wifiAssignee: sebastien.deronne
Status: RESOLVED FIXED    
Severity: major CC: fuji246, ns-bugs
Priority: P5    
Version: ns-3.25   
Hardware: All   
OS: All   
Attachments: Proposed fix

Description Alexander Krotov 2016-04-18 12:39:47 UTC
Created attachment 2389 [details]
Proposed fix

YansWifiPhy processes the case when some frame with preamble is received while m_mpdusNum > 0 (it means that phy expects more MPDUs) by setting m_mpdusNum to 0. However, if the frame received is A-MPDU itself, YansWifiPhy should extract m_mpdusNum from A-MPDU tag instead of simply resetting it to 0. Otherwise, it will ignore all subsequent MPDUs with message stating that it did not receive preamble, while in fact it has received it:
http://code.nsnam.org/ns-3-dev/file/beca17a5a9b9/src/wifi/model/yans-wifi-phy.cc#l649

Proposed fix is attached.
Comment 1 sebastien.deronne 2016-04-19 16:21:09 UTC
It looks ok.
I also saw some enhancements quite related to this issue in YansWifiPhy, so I will post a slightly reworked patch for this bug.
Comment 2 sebastien.deronne 2016-04-20 02:29:55 UTC
Forget about my previous comment, my patch is more related to a different case, so another thread should be opened for this.

But then I actually do not see any test case where this is causing issue, although your patch looks ok. Could you please attach your test case?
Comment 3 sebastien.deronne 2016-04-21 03:43:54 UTC
*** Bug 2350 has been marked as a duplicate of this bug. ***
Comment 4 sebastien.deronne 2016-06-04 07:36:07 UTC
I suggest to deliver this fix, it can not hurt and it has been shown to fix some issues already.
Comment 5 sebastien.deronne 2016-06-10 16:14:29 UTC
pushed in changeset 12154:3a2f08a0d50c