Bug 2514 - The maximum transmission time for VHT A-MPDUs is not correct
The maximum transmission time for VHT A-MPDUs is not correct
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: wifi
ns-3.25
All All
: P3 normal
Assigned To: sebastien.deronne
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-10-01 09:16 UTC by sebastien.deronne
Modified: 2016-10-01 22:41 UTC (History)
2 users (show)

See Also:


Attachments
Patch to fix (1.82 KB, patch)
2016-10-01 09:16 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-10-01 09:16:29 UTC
Created attachment 2600 [details]
Patch to fix

The maximum transmission time, which is used to decide whether a new MPDU can be aggregated in an existing A-MPDU (see MacLow::StopMpduAggregation), is different for HT and VHT PPDUs.
 
In HT, the maximum duration is 10ms (current value in the code).
However, in VHT the maximum duration should be 5.484ms (see IEEE 802.11ac-2013 Table 22-29 — VHT PHY characteristics).
Comment 1 sebastien.deronne 2016-10-01 09:42:13 UTC
I would like to take this one for ns-3.26 release, could have have feedback asap?
Thanks!
Comment 2 Tom Henderson 2016-10-01 13:51:19 UTC
Another possibility is to initialize aPPDUMaxTime to 10 ms, and to decrease it if VHT is in use, and then to simplify the if statement as:

if ((m_phy->CalculateTxDuration (aggregatedPacket->GetSize () + peekedPacket->GetSize () + peekedHdr.GetSize () + WIFI_MAC_FCS_LENGTH, m_currentTxVector, preamble, m_phy->GetFrequency ()) > aPPDUMaxTime))

Also, does this patch change any regression test results?
Comment 3 sebastien.deronne 2016-10-01 13:58:12 UTC
(In reply to Tom Henderson from comment #2)
> Another possibility is to initialize aPPDUMaxTime to 10 ms, and to decrease
> it if VHT is in use, and then to simplify the if statement as:
> 
> if ((m_phy->CalculateTxDuration (aggregatedPacket->GetSize () +
> peekedPacket->GetSize () + peekedHdr.GetSize () + WIFI_MAC_FCS_LENGTH,
> m_currentTxVector, preamble, m_phy->GetFrequency ()) > aPPDUMaxTime))
> 
> Also, does this patch change any regression test results?

I am ok with your suggestion.

It does not affect any test.
Comment 4 sebastien.deronne 2016-10-01 22:41:06 UTC
Reworked patch pushed in changeset 12358:f577cc35732a