wifi: (fixes #2838) Fix rate selection for control frames when no rate available in the BSSBasicRateSet

This commit is contained in:
Sébastien Deronne
2018-01-13 12:14:55 +01:00
parent 12ba919ef2
commit 5bd9704dd0
21 changed files with 10 additions and 4 deletions

View File

@@ -40,6 +40,7 @@ Bugs fixed
- Bug 2828 - OLSR simple P2P example produces wrong results
- Bug 2827 - wifi: Active scanning not working with 802.11n/ac/ax
- Bug 2836 - wifi: Missing VHT information in radiotap header when A-MPDU is used
- Bug 2838 - wifi: ht-wifi-network crashes with RTS/CTS enabled and frequency set to 2.4GHz
- Bug 2843 - spectrum, wifi: Incorrect channel width and center frequency provided for non-HT PPDUs when building SpectralDensity
- Bug 2848 - wifi: Association ID not correctly set upon association

View File

@@ -441,6 +441,7 @@ WifiRemoteStationManager::SetupPhy (const Ptr<WifiPhy> phy)
//acknowledgements.
m_wifiPhy = phy;
m_defaultTxMode = phy->GetMode (0);
NS_ASSERT (m_defaultTxMode.IsMandatory ());
if (HasHtSupported () || HasVhtSupported () || HasHeSupported ())
{
m_defaultTxMcs = phy->GetMcs (0);
@@ -1824,10 +1825,7 @@ WifiRemoteStationManager::Reset (void)
}
m_stations.clear ();
m_bssBasicRateSet.clear ();
m_bssBasicRateSet.push_back (m_defaultTxMode);
m_bssBasicMcsSet.clear ();
m_bssBasicMcsSet.push_back (m_defaultTxMcs);
NS_ASSERT (m_defaultTxMode.IsMandatory ());
}
void
@@ -1933,7 +1931,14 @@ WifiRemoteStationManager::GetNonUnicastMode (void) const
{
if (m_nonUnicastMode == WifiMode ())
{
return GetBasicMode (0);
if (GetNBasicModes () > 0)
{
return GetBasicMode (0);
}
else
{
return GetDefaultMode ();
}
}
else
{