[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ns] Bug in 802.11 RTS-CTS-DATA sequence?
hi all,
is the following a bug in the timing of the RTS-CTS-DATA sequence
for the 802.11 MAC:
recvCTS() calls tx_resume() to schedule the transmission of DATA.
tx_resume() schedules the transmission DIFS units later.
...
else if(pktTx_) {
if(mhBackoff_.busy() == 0)
mhDefer_.start(difs_);
}
...
but according to the spec, the DATA in an RTS-CTS-DATA seq should follow
SIFS units after reception of CTS. so should we remember state
in tx_resume() and conditionally set the defer timer, something like:
else if(pktTx_) {
if(mhBackoff_.busy() == 0)
if (tx_state_== MAC_RTS && rx_state_ == MAC_RECV_CTS) /* MAC_RECV_CTS to
be set in recvCTS */
mhDefer_.start(sifs_);
else
mhDefer_.start(difs_);
}
-neeraj
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com