--- a/src/wifi/model/amrr-wifi-manager.cc Wed Sep 02 16:37:05 2015 -0700
+++ b/src/wifi/model/amrr-wifi-manager.cc Thu Sep 03 22:16:49 2015 +0200
@@ -335,8 +335,13 @@
rateIndex = station->m_txrate;
}
}
-
- return WifiTxVector (GetSupported (station, rateIndex), GetDefaultTxPowerLevel (), GetLongRetryCount (station), GetShortGuardInterval (station), Min (GetNumberOfReceiveAntennas (station), GetNumberOfTransmitAntennas ()), GetNess (station), GetAggregation (station), GetStbc (station));
+ uint32_t channelWidth = GetChannelWidth (station);
+ if (channelWidth >= 40)
+ {
+ //avoid to use legacy rate adaptation algorithms for IEEE 802.11n/ac
+ channelWidth = 20;
+ }
+ return WifiTxVector (GetSupported (station, rateIndex), GetDefaultTxPowerLevel (), GetLongRetryCount (station), false, 1, 0, channelWidth, GetAggregation (station), false);
}
WifiTxVector
@@ -344,9 +349,15 @@
{
NS_LOG_FUNCTION (this << st);
AmrrWifiRemoteStation *station = (AmrrWifiRemoteStation *)st;
+ uint32_t channelWidth = GetChannelWidth (station);
+ if (channelWidth >= 40)
+ {
+ //avoid to use legacy rate adaptation algorithms for IEEE 802.11n/ac
+ channelWidth = 20;
+ }
UpdateMode (station);
/// \todo can we implement something smarter ?
- return WifiTxVector (GetSupported (station, 0), GetDefaultTxPowerLevel (), GetLongRetryCount (station), GetShortGuardInterval (station), Min (GetNumberOfReceiveAntennas (station), GetNumberOfTransmitAntennas ()), GetNess (station), GetAggregation (station), GetStbc (station));
+ return WifiTxVector (GetSupported (station, 0), GetDefaultTxPowerLevel (), GetLongRetryCount (station), false, 1, 0, channelWidth, GetAggregation (station), false);
}
bool