wifi: Fix incorrect TX duration calculated in MinstrelHt

This commit is contained in:
Sébastien Deronne
2024-10-13 13:37:04 +02:00
parent 2a9b56874c
commit 2c00428779
3 changed files with 4 additions and 3 deletions

View File

@@ -432,7 +432,7 @@ MinstrelHtWifiManager::CalculateMpduTxDuration(Ptr<WifiPhy> phy,
txvector.SetNess(0);
txvector.SetStbc(false);
txvector.SetMode(mode);
txvector.SetPreambleType(WIFI_PREAMBLE_HT_MF);
txvector.SetPreambleType(GetPreambleForTransmission(mode.GetModulationClass()));
return WifiPhy::CalculatePhyPreambleAndHeaderDuration(txvector) +
WifiPhy::GetPayloadDuration(m_frameLength, txvector, phy->GetPhyBand(), mpduType);
}

View File

@@ -56,7 +56,7 @@ GetGuardIntervalForMode(WifiMode mode, bool htShortGuardInterval, Time heGuardIn
}
WifiPreamble
GetPreambleForTransmission(WifiModulationClass modulation, bool useShortPreamble)
GetPreambleForTransmission(WifiModulationClass modulation, bool useShortPreamble /* = false */)
{
if (modulation == WIFI_MOD_CLASS_EHT)
{

View File

@@ -609,7 +609,8 @@ Time GetGuardIntervalForMode(WifiMode mode, bool htShortGuardInterval, Time heGu
*
* @return the preamble to be used for the transmission
*/
WifiPreamble GetPreambleForTransmission(WifiModulationClass modulation, bool useShortPreamble);
WifiPreamble GetPreambleForTransmission(WifiModulationClass modulation,
bool useShortPreamble = false);
/**
* Return the modulation class corresponding to the given preamble type.