src/wifi/model/minstrel-wifi-manager.cc
changeset 11644 527ed7692b84
parent 11628 243b71de25a0
equal deleted inserted replaced
11643:eb0fc97dfd5b 11644:527ed7692b84
   473 MinstrelWifiManager::DoGetDataTxVector (WifiRemoteStation *st,
   473 MinstrelWifiManager::DoGetDataTxVector (WifiRemoteStation *st,
   474                                         uint32_t size)
   474                                         uint32_t size)
   475 {
   475 {
   476   MinstrelWifiRemoteStation *station = (MinstrelWifiRemoteStation *) st;
   476   MinstrelWifiRemoteStation *station = (MinstrelWifiRemoteStation *) st;
   477   uint32_t channelWidth = GetChannelWidth (station);
   477   uint32_t channelWidth = GetChannelWidth (station);
   478   if (channelWidth >= 40)
   478   if (channelWidth > 20 && channelWidth != 22)
   479     {
   479     {
   480       //avoid to use legacy rate adaptation algorithms for IEEE 802.11n/ac
   480       //avoid to use legacy rate adaptation algorithms for IEEE 802.11n/ac
   481       channelWidth = 20;
   481       channelWidth = 20;
   482     }
   482     }
   483   if (!station->m_initialized)
   483   if (!station->m_initialized)
   495 MinstrelWifiManager::DoGetRtsTxVector (WifiRemoteStation *st)
   495 MinstrelWifiManager::DoGetRtsTxVector (WifiRemoteStation *st)
   496 {
   496 {
   497   MinstrelWifiRemoteStation *station = (MinstrelWifiRemoteStation *) st;
   497   MinstrelWifiRemoteStation *station = (MinstrelWifiRemoteStation *) st;
   498   NS_LOG_DEBUG ("DoGetRtsMode m_txrate=" << station->m_txrate);
   498   NS_LOG_DEBUG ("DoGetRtsMode m_txrate=" << station->m_txrate);
   499   uint32_t channelWidth = GetChannelWidth (station);
   499   uint32_t channelWidth = GetChannelWidth (station);
   500   if (channelWidth >= 40)
   500   if (channelWidth > 20 && channelWidth != 22)
   501     {
   501     {
   502       //avoid to use legacy rate adaptation algorithms for IEEE 802.11n/ac
   502       //avoid to use legacy rate adaptation algorithms for IEEE 802.11n/ac
   503       channelWidth = 20;
   503       channelWidth = 20;
   504     }
   504     }
   505   return WifiTxVector (GetSupported (station, 0), GetDefaultTxPowerLevel (), GetShortRetryCount (station), false, 1, 0, channelWidth, GetAggregation (station), false);
   505   return WifiTxVector (GetSupported (station, 0), GetDefaultTxPowerLevel (), GetShortRetryCount (station), false, 1, 0, channelWidth, GetAggregation (station), false);