[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