wifi: Fix guard interval for BlockAck frames sent in TB PPDUs

This commit is contained in:
Stefano Avallone
2022-11-02 11:51:50 +01:00
committed by Stefano Avallone
parent 4705aa9f3b
commit b1bf40f409

View File

@@ -518,7 +518,9 @@ WifiDefaultAckManager::GetAckInfoIfTfMuBar(Ptr<const WifiMpdu> mpdu,
WifiTxVector blockAckTxVector;
blockAckTxVector.SetPreambleType(WifiPreamble::WIFI_PREAMBLE_HE_TB);
blockAckTxVector.SetChannelWidth(txParams.m_txVector.GetChannelWidth());
blockAckTxVector.SetGuardInterval(txParams.m_txVector.GetGuardInterval());
// 800ns GI is not allowed for HE TB
blockAckTxVector.SetGuardInterval(
std::max<uint16_t>(txParams.m_txVector.GetGuardInterval(), 1600));
const auto& userInfo = txParams.m_txVector.GetHeMuUserInfo(staId);
blockAckTxVector.SetHeMuUserInfo(
staId,
@@ -602,7 +604,9 @@ WifiDefaultAckManager::GetAckInfoIfAggregatedMuBar(Ptr<const WifiMpdu> mpdu,
WifiTxVector blockAckTxVector;
blockAckTxVector.SetPreambleType(WifiPreamble::WIFI_PREAMBLE_HE_TB);
blockAckTxVector.SetChannelWidth(txParams.m_txVector.GetChannelWidth());
blockAckTxVector.SetGuardInterval(txParams.m_txVector.GetGuardInterval());
// 800ns GI is not allowed for HE TB
blockAckTxVector.SetGuardInterval(
std::max<uint16_t>(txParams.m_txVector.GetGuardInterval(), 1600));
const auto& userInfo = txParams.m_txVector.GetHeMuUserInfo(staId);
blockAckTxVector.SetHeMuUserInfo(
staId,