Bugzilla – Bug 2314
"vanet-routing-compare" example cannot support multi-channel switch
Last modified: 2016-09-23 11:25:05 UTC
Created attachment 2310 [details] The patch for "vanet-routing-compare" example cannot support multi-channel switch Odongo Steven, who is the user of ns3 wave module, reported that the example "vanet-routing-compare" cannot support multi-channel switch well. I created the patch and sented to him. Finally he confirmed that he can get what he wants currently. This patch will affect the wifi module a littile. But I think it is OK since wifi "IsBusy" function should consider CCA busy. diff -r ff532caf9e15 src/wifi/model/dcf-manager.cc --- a/src/wifi/model/dcf-manager.cc Sun Feb 28 22:50:25 2016 +0100 +++ b/src/wifi/model/dcf-manager.cc Mon Feb 29 16:21:43 2016 +0800 @@ -474,6 +474,12 @@ { return true; } + // CCA busy + Time lastBusyEnd = m_lastBusyStart + m_lastBusyDuration; + if (lastBusyEnd >= Simulator::Now ()) + { + return true; + } Moreover, this patch has been tested by using the newest ns-3-dev 11941:ff532caf9e15. So it should be ready for merging. Junling.
A similar fix for DCF is proposed in bug 2306. I still need to verify this one, and we agreed to postpone its delivery after ns-3.25 release.
(In reply to sebastien.deronne from comment #1) > A similar fix for DCF is proposed in bug 2306. > > I still need to verify this one, and we agreed to postpone its delivery > after ns-3.25 release. Hi, Ok, I also find this modification will make two test cases crashed. 340 of 354 tests passed (340 passed, 10 skipped, 2 failed, 2 crashed, 0 valgrind errors) List of SKIPped tests: examples/routing/simple-routing-ping6.py examples/tutorial/first.py examples/wireless/mixed-wireless.py examples/wireless/wifi-ap.py ns3-tcp-cwnd ns3-tcp-interoperability nsc-tcp-loss src/bridge/examples/csma-bridge.py src/core/examples/sample-simulator.py src/flow-monitor/examples/wifi-olsr-flowmon.py List of FAILed tests: devices-mesh-dot11s-regression routing-aodv-regression List of CRASHed tests: devices-wifi-dcf power-rate-adaptation-wifi Moreover, my modification requires "if (lastBusyEnd >= Simulator::Now ())" instead of "if (lastBusyEnd >= Simulator::Now ())". Because the current WAVE module is heavily based on " >= " rather than " > ". Ok, I will be interested in any information about "IsBusy". Thanks.
*** Bug 2489 has been marked as a duplicate of this bug. ***
I applied patch provided by Junling for this (2314) bug, but it is failing for simulation time 100 and different number of nodes.
Created attachment 2597 [details] The patch for vanet-routing-comare.cc
Now this patch has a similar part with the patch for bug 2306. So I'd like to wait for the result of bug 2306.
I am working on a revised patch for 2306. Once that is committed, we can evaluate whether the rest of this patch is still compatible or needs further work.