wifi: (fixes #2327) CWmin value selection based on 802.11g standard rules

This commit is contained in:
Sébastien Deronne
2016-03-09 20:32:05 +01:00
parent f2cdfb1144
commit 58c4f13f59
5 changed files with 67 additions and 44 deletions

View File

@@ -235,7 +235,7 @@ int main (int argc, char *argv[])
std::cout << "Protection mode" << "\t\t" << "Slot time supported" << "\t\t" << "PLCP preamble supported" << "\t\t" << "Scenario" << "\t" << "Throughput" << std::endl;
throughput = experiment.Run (false, false, false, false, isUdp, payloadSize, simulationTime);
if (throughput < 17 || throughput > 18)
if (throughput < 23 || throughput > 24)
{
NS_LOG_ERROR ("Obtained throughput is not in the expected boundaries!");
exit (1);
@@ -251,7 +251,7 @@ int main (int argc, char *argv[])
std::cout << "Disabled" << "\t\t" << "Short" << "\t\t\t\t" << "Long" << "\t\t\t\t" << "G-only" << "\t\t" << throughput <<" Mbit/s" << std::endl;
throughput = experiment.Run (false, false, false, true, isUdp, payloadSize, simulationTime);
if (throughput < 17 || throughput > 18)
if (throughput < 23 || throughput > 24)
{
NS_LOG_ERROR ("Obtained throughput is not in the expected boundaries!");
exit (1);
@@ -259,7 +259,7 @@ int main (int argc, char *argv[])
std::cout << "Disabled" << "\t\t" << "Long" << "\t\t\t\t" << "Long" << "\t\t\t\t" << "Mixed" << "\t\t" << throughput <<" Mbit/s" << std::endl;
throughput = experiment.Run (false, false, true, true, isUdp, payloadSize, simulationTime);
if (throughput < 17 || throughput > 18)
if (throughput < 23 || throughput > 24)
{
NS_LOG_ERROR ("Obtained throughput is not in the expected boundaries!");
exit (1);
@@ -269,7 +269,7 @@ int main (int argc, char *argv[])
Config::SetDefault ("ns3::WifiRemoteStationManager::ProtectionMode", StringValue ("Rts-Cts"));
throughput = experiment.Run (true, false, false, true, isUdp, payloadSize, simulationTime);
if (throughput < 9 || throughput > 10)
if (throughput < 11 || throughput > 12)
{
NS_LOG_ERROR ("Obtained throughput is not in the expected boundaries!");
exit (1);
@@ -277,7 +277,7 @@ int main (int argc, char *argv[])
std::cout << "RTS/CTS" << "\t\t\t" << "Long" << "\t\t\t\t" << "Long" << "\t\t\t\t" << "Mixed" << "\t\t" << throughput <<" Mbit/s" << std::endl;
throughput = experiment.Run (true, false, true, true, isUdp, payloadSize, simulationTime);
if (throughput < 11 || throughput > 12)
if (throughput < 13 || throughput > 14)
{
NS_LOG_ERROR ("Obtained throughput is not in the expected boundaries!");
exit (1);
@@ -287,7 +287,7 @@ int main (int argc, char *argv[])
Config::SetDefault ("ns3::WifiRemoteStationManager::ProtectionMode", StringValue ("Cts-To-Self"));
throughput = experiment.Run (true, false, false, true, isUdp, payloadSize, simulationTime);
if (throughput < 12 || throughput > 13)
if (throughput < 15 || throughput > 16)
{
NS_LOG_ERROR ("Obtained throughput is not in the expected boundaries!");
exit (1);
@@ -295,7 +295,7 @@ int main (int argc, char *argv[])
std::cout << "CTS-TO-SELF" << "\t\t" << "Long" << "\t\t\t\t" << "Long" << "\t\t\t\t" << "Mixed" << "\t\t" << throughput <<" Mbit/s" << std::endl;
throughput = experiment.Run (true, false, true, true, isUdp, payloadSize, simulationTime);
if (throughput < 14 || throughput > 15)
if (throughput < 17 || throughput > 18)
{
NS_LOG_ERROR ("Obtained throughput is not in the expected boundaries!");
exit (1);