Bug 1912 - There should only be one instance of MacTxMiddle per RegularWifiMac station, the current implementation causes sequence number confusion and drops
There should only be one instance of MacTxMiddle per RegularWifiMac station, ...
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: wifi
ns-3.14
Mac Intel Mac OS
: P2 critical
Assigned To: Daniel L.
: bug, patch
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-05-07 11:26 EDT by l.salameh
Modified: 2014-05-30 02:02 EDT (History)
3 users (show)

See Also:


Attachments
Patch for having single MacTxMiddle instance (2.77 KB, patch)
2014-05-07 11:26 EDT, l.salameh
Details | Diff
Patch against ns-3-dev (2.17 KB, patch)
2014-05-16 09:44 EDT, Daniel L.
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description l.salameh 2014-05-07 11:26:46 EDT
Created attachment 1837 [details]
Patch for having single MacTxMiddle instance

The RegularWifiMac class creates a MacTxMiddle instance to allocate
transmitted packet sequence numbers. It gives all the EdcaTxop instances pointers
to this MacTxMiddle instance which is correct.

Unfortunately, on creating a DcaTxop instance, the txop creates its own
MacTxMiddle. To make matters even worse, the beacon dcatxop in the ApWifiMac also
creates another MacTxMiddle instance.

There should me only one sequence number manager per station shared amongst all these classes.

The consequence of having multiple MacTxMiddles is having many sequence number spaces which causes confusion and a divergence from the expected behaviour. 

For example, one of this bug's side effects is dropped Addba response packets.
If an Addba response is a retried packet, it is marked
as a duplicate and dropped even though it has been received correctly
the second time.

The fix should be very straightforward. See attached patch.
Comment 1 Daniel L. 2014-05-16 09:44:38 EDT
Created attachment 1840 [details]
Patch against ns-3-dev

Note that this fix will break the "devices-mesh-dot11s-regression" test (pcap files differ).
Comment 2 Tom Henderson 2014-05-30 02:02:01 EDT
pushed in changeset 10792:75d257577104