--- a/RELEASE_NOTES Sat Oct 01 16:28:29 2016 +0200
+++ b/RELEASE_NOTES Sun Oct 02 04:38:54 2016 +0200
@@ -126,6 +126,7 @@
- Bug 2500 - Ipv[4,6]RawSocket ignores IpTtl tag
- Bug 2507 - ConfigStore RawTextConfigLoad doesn't reset stream error state
- Bug 2508 - Duplicate of bug 2507
+- Bug 2514 - The maximum transmission time for VHT A-MPDUs is not correct
- No BugId - Arp logging: label with request or reply properly
Known issues
--- a/src/wifi/model/mac-low.cc Sat Oct 01 16:28:29 2016 +0200
+++ b/src/wifi/model/mac-low.cc Sun Oct 02 04:38:54 2016 +0200
@@ -2914,6 +2914,7 @@
}
WifiPreamble preamble;
+ Time aPPDUMaxTime = MilliSeconds (10);
uint8_t tid = GetTid (peekedPacket, peekedHdr);
AcIndex ac = QosUtilsMapTidToAc (tid);
@@ -2922,6 +2923,7 @@
if (m_currentTxVector.GetMode ().GetModulationClass () == WIFI_MOD_CLASS_VHT)
{
preamble = WIFI_PREAMBLE_VHT;
+ aPPDUMaxTime = MicroSeconds (5484);
}
else if (m_phy->GetGreenfield () && m_stationManager->GetGreenfieldSupported (m_currentHdr.GetAddr1 ()))
{
@@ -2940,8 +2942,8 @@
preamble = WIFI_PREAMBLE_LONG;
}
- //An HT STA shall not transmit a PPDU that has a duration that is greater than aPPDUMaxTime (10 milliseconds)
- if (m_phy->CalculateTxDuration (aggregatedPacket->GetSize () + peekedPacket->GetSize () + peekedHdr.GetSize () + WIFI_MAC_FCS_LENGTH, m_currentTxVector, preamble, m_phy->GetFrequency ()) > MilliSeconds (10))
+ //A STA shall not transmit a PPDU that has a duration that is greater than aPPDUMaxTime
+ if (m_phy->CalculateTxDuration (aggregatedPacket->GetSize () + peekedPacket->GetSize () + peekedHdr.GetSize () + WIFI_MAC_FCS_LENGTH, m_currentTxVector, preamble, m_phy->GetFrequency ()) > aPPDUMaxTime)
{
NS_LOG_DEBUG ("no more packets can be aggregated to satisfy PPDU <= aPPDUMaxTime");
return true;