[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