Bugzilla – Full Text Bug Listing |
Summary: | There should only be one instance of MacTxMiddle per RegularWifiMac station, the current implementation causes sequence number confusion and drops | ||
---|---|---|---|
Product: | ns-3 | Reporter: | l.salameh |
Component: | wifi | Assignee: | Daniel L. <nikkipui> |
Status: | RESOLVED FIXED | ||
Severity: | critical | CC: | l.salameh, ns-bugs, tomh |
Priority: | P2 | Keywords: | bug, patch |
Version: | ns-3.14 | ||
Hardware: | Mac Intel | ||
OS: | Mac OS | ||
Attachments: |
Patch for having single MacTxMiddle instance
Patch against ns-3-dev |
Created attachment 1840 [details]
Patch against ns-3-dev
Note that this fix will break the "devices-mesh-dot11s-regression" test (pcap files differ).
pushed in changeset 10792:75d257577104 |
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.