[Ns-developers] 802.11 bug fix when not using RTS/CTS
Sally Floyd
floyd at icir.org
Wed Jan 25 22:49:09 PST 2006
Michele -
>I've just started looking at wireless in ns-2, so I can't say if the
>fix breaks things that aren't obvious to me, but it fixed the problem
>that I was having. I ran validate, and the following tests failed:
>./test-all-diffusion3 ./test-all-wireless-shadowing ./test-all-
>wireless-lan-aodv ./test-all-wireless-gridkeeper ./test-all-wireless-
>diffusion ./test-all-wireless-lan-newnode ./test-all-WLtutorial ./
>test-all-energy ./test-all-tagged-trace
>
>A quick glance at some of the test-output showed that the differences
>were mainly timing differences (probably due to the fix changing the
>waiting time).
Sometimes I use a variable to control a bug fix, with the default
set to true in ns-default.tcl.
E.g., in ns-default.tcl:
Agent/TCP set timerfix_ true ; # Variable added on 2001/05/11
# Set to "false" to give the old
# behavior.
Then some of the validation tests can use the variable with its new
value, and other validation tests can simply have the following:
# FOR UPDATING GLOBAL DEFAULTS:
Agent/TCP set timerfix_ false ; # The default is being changed.
For some of the transport and queue management validation tests,
it would not be ok to make a small change in the code that affects
timing differences, and then just to update the code and the
output of all of the validation tests. Because some validation
test might have been testing some particular TCP behavior, e.g.,
the use of retransmit timers in a particular circumstance, and the
small timing change might result in the validation test no longer
testing the desired behavior, because a slightly different set
of packets gets dropped.
(There was a goal at one point of more automated validation tests,
where there was an automatic way to detect whether the validation
test was still exhibiting the desired general behavior even after
small changes in timing, but it is not a trivial thing to accomplish...)
- Sally
http://www.icir.org/floyd/
More information about the Ns-developers
mailing list