[ns] 802.11 xRetryLimit_ implementations incorrect

Ren.Liu@csiro.au Ren.Liu at csiro.au
Tue Feb 3 17:31:32 PST 2009


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) ...}

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

Regards,
Ren Liu
CSIRO



More information about the Ns-users mailing list