Bug 2468 - Simulation with A-MPDU enabled hangs when fragmentation threshold is smaller than MSDU size
Simulation with A-MPDU enabled hangs when fragmentation threshold is smaller ...
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: wifi
ns-3.25
All All
: P5 normal
Assigned To: sebastien.deronne
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-08-07 14:21 UTC by sebastien.deronne
Modified: 2016-08-10 15:01 UTC (History)
1 user (show)

See Also:


Attachments
patch to fix (3.30 KB, patch)
2016-08-07 14:21 UTC, sebastien.deronne
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description sebastien.deronne 2016-08-07 14:21:53 UTC
Created attachment 2527 [details]
patch to fix

In the current code, setting a fragmentation threshold smaller than the MSDU size while A-MPDU is used results in a hanging simulation.

However, the standard says the following:

Except as described below, when an individually addressed MSDU received from the LLC would result in an MPDU of length greater than dot11FragmentationThreshold, the MSDU shall be fragmented. Except as described below, when an individually addressed MMPDU received from the MLME, would result in an MPDU of length greater than dot11FragmentationThreshold, the MMPDU shall be fragmented.
The exception applies when an MSDU is transmitted using an HT-immediate or HT-delayed Block Ack agreement or when the MSDU or MMPDU is carried in an A-MPDU, in which case the MSDU or MMPDU is transmitted without fragmentation. Each fragment is a frame no longer than dot11FragmentationThreshold, if security encapsulation is not invoked for the MPDU.

This means fragmentation should never occur with A-MPDU, regardless of the fragmentation threshold that has been set. I attach a patch to respect standard rules and fix the bug.
Comment 1 sebastien.deronne 2016-08-07 14:52:10 UTC
This patch could still be pushed for the upcoming release
Comment 2 sebastien.deronne 2016-08-10 15:01:12 UTC
pushed in changeset 12252:0abf417c0040