[Ns-bugs] [Bug 555] DCF immediate access bug

code@nsnam.ece.gatech.edu code at nsnam.ece.gatech.edu
Sun Oct 31 22:56:23 PDT 2010


http://www.nsnam.org/bugzilla/show_bug.cgi?id=555


Nicola Baldo <nbaldo at cttc.es> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mathieu.lacage at sophia.inria
                   |                            |.fr




--- Comment #18 from Nicola Baldo <nbaldo at cttc.es>  2010-11-01 01:56:22 EDT ---

I spent more time examining this issue, and my conclusion is the same as
before: Mathieu's proposal of delaying RequestAccessIfNeeded will work. This is
my reasoning:

1) normally there is always a signal generated when a frame exchange terminates
 (e.g., received ACK, missed ACK, missed CTS...)

2) in this case, RequestAccessIfNeeded is called only *after* the frame
exchange is terminated

3) this is not true for broadcast packets: in this case, we have no signal at
the *end* of the frame exchange. Unlike all other types of frame exchanges,
RequestAccessIfNeeded is called *before* the frame exchange is terminated.
Hence the DcfState is *always* busy (due to the broadcast still being
transmitted), and whenever a zero backoff is generated a collision will result.

4) by generating an EndOfBroadcast event, RequestAccessIfNeeded will be called
correctly, i.e., after the previous frame exchange has terminated. 

I'll try to post a patch for the proposed solution as soon as possible.

-- 
Configure bugmail: http://www.nsnam.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the Ns-bugs mailing list