[Bug Report]

-----------------------------
Category:  Other
Package:   ns 2.33
OS:        WindowsXP
Environment Variables:
LD_LIBRARY_PATH=
TCL_LIBRARY=
TK_LIBRARY=


-----------------------------
Description:

Description of Problem:
The 802.11 implementations of ShortRetryLimit_ and LongRetryLimit_ are 
incorrect: if you set the ShortRetryLimit_ to 7, you would expect the STA to 
retry for 7 times (total number of transmissions of 8). However, ns-2.33 STA 
only retransmits 6 times (total number of transmissions of 7). The same happens 
to LongRetryLimit_. This doesn't conform to the IEEE 802.11 standard which 
specifies STA to give up "when SLRC reaches aLongRetryLimit, or when SSRC 
reaches dot11ShortRetryLimit." In the case of ns-2.33, STA give up before 
reaching the RetryLimit!

The problem is in mac-802_11.cc:
Mac802_11::RetransmitRTS() {... if(ssrc_ >= macmib_.getShortRetryLimit()) ...}
Mac802_11::RetransmitDATA() {... if(*rcount >= thresh) ...}

Fix: The conditions should be ">" instead of ">=", as follows:
Mac802_11::RetransmitRTS() {... if(ssrc_ > macmib_.getShortRetryLimit()) ...}
Mac802_11::RetransmitDATA() {... if(*rcount > thresh) ...}

How Easily Reproducible:
(e.g. every time, intermittent, once only, etc.)
every time.

Steps to Reproduce:
(describe the minimal set of steps necessary to trigger the bug)
1. 
2. 
3. 


Actual Results:
(describe what the application did after performing the above steps)


Expected Results:
(describe what the application should have done, were the bug not present)


Additional Information:
(the following infomation is helpful to debug:
 1. simulation script, detailed output files, packet trace
 2. patch file if you modify some source code
 3. a backtrace from gdb if you get a segment fault
 If they are big files, PLEASE put them in your web space and
 include the URL here.)


Reply via email to