From ebb9193ef9666cad0ff8ab68525e9f5ff059c9fa Mon Sep 17 00:00:00 2001 From: Dean Armstrong Date: Wed, 16 Jun 2010 10:55:13 +0100 Subject: [PATCH] Bug 871: Rework construction of Wi-Fi rates This patch attempts to lay some groundwork for enhancements to the Wi-Fi module by bringing the representation of transmit rates more in line with the standard. The key part of the patch is the introduction of a type that corresponds to the notion of Modulation Class described in IEEE 802.11-2007, Section 9.6.1, Table 9-2. It also adds coding rate information to the WifiModes and centralises their construction into a single WifiModeFactory method. The rates are also renamed with reference to their Modulation Class. WifiModes no longer have a WifiStandard, but the latter type still exists and is used to imply the set of WifiModes that a MAC/PHY pair will support. --- CHANGES.html | 22 + RELEASE_NOTES | 12 + examples/routing/aodv.cc | 2 +- examples/routing/olsr-hna.cc | 2 +- examples/tap/tap-wifi-virtual-machine.cc | 2 +- examples/tap/tap-wifi-virtual-machine.py | 2 +- examples/wireless/mixed-wireless.cc | 2 +- examples/wireless/mixed-wireless.py | 2 +- examples/wireless/wifi-adhoc.cc | 16 +- examples/wireless/wifi-clear-channel-cmu.cc | 8 +- examples/wireless/wifi-hidden-terminal.cc | 4 +- examples/wireless/wifi-simple-adhoc-grid.cc | 2 +- examples/wireless/wifi-simple-adhoc.cc | 2 +- examples/wireless/wifi-simple-infra.cc | 2 +- examples/wireless/wifi-simple-interference.cc | 2 +- .../wifi/constant-rate-wifi-manager.cc | 4 +- .../interference-helper-tx-duration-test.cc | 90 +-- src/devices/wifi/interference-helper.cc | 210 ++++--- src/devices/wifi/nist-error-rate-model.cc | 149 ++--- src/devices/wifi/wifi-mode.cc | 210 +++---- src/devices/wifi/wifi-mode.h | 188 +++--- src/devices/wifi/wifi-phy-test.cc | 22 +- src/devices/wifi/wifi-phy.cc | 554 +++++++++++------- src/devices/wifi/wifi-phy.h | 56 +- .../wifi/wifi-remote-station-manager.cc | 2 +- src/devices/wifi/yans-error-rate-model.cc | 221 +++---- src/devices/wifi/yans-wifi-phy.cc | 104 ++-- src/routing/aodv/test/aodv-regression.cc | 2 +- src/routing/aodv/test/bug-772.cc | 2 +- src/routing/aodv/test/loopback.cc | 2 +- src/routing/olsr/test/bug780-test.cc | 2 +- src/routing/olsr/test/tc-regression-test.cc | 2 +- .../ns3wifi/wifi-interference-test-suite.cc | 2 +- .../wifi-msdu-aggregator-test-suite.cc | 2 +- 34 files changed, 987 insertions(+), 919 deletions(-) diff --git a/CHANGES.html b/CHANGES.html index 7f5510c69..b15ccab06 100644 --- a/CHANGES.html +++ b/CHANGES.html @@ -69,6 +69,28 @@ to be recomputed upon any interface or address notification event from IPv4.

Changes to existing API:

+ +

Changed behavior: