[ns] MAC-NetIF interaction
fl0wer at virgilio.it
Wed Apr 6 01:48:53 PDT 2005
I designed a new application that lies on top of Agent/MessagePassing (a
simple ns-2 agent supporting the sendto() method, which allows the application
to define the destination of messages). In a wired scenario I had no problems,
and the application works fine. However, in a wireless scenario something
I identified the problem in the MAC-NetIF layers interaction inside mobilenodes.
MAC layer is set to 802.11, and NetIF is set to WirelessPhy (sort of standard
in ns-2, I think). The DSDV routing set-up (i.e. exchange of route discovery
messages works fine, and 802.11 and WirelessPhy classes interact correctly.
When the application sends its first message, it is passed to the underlying
MessagePassing agent and then to the 802.11 object, but then *stops* and
never reaches the WirelessPhy object. That is, 802.11 invokes
downtarget_->recv(p->copy(), this); // in Mac802_11::transmit()
but WirelessPhy::recv() method is never reached.
Notice that, MAC trace is OFF, and error and FEC layers are not present
between MAC and NetIF ojects, therefore they are *directly* connected (I
also verified this in debug). The strange thing is that no error message
is displayed (no segmentation fault or similar), the simulation just stops
and ns-2 terminates.
With a normal CBR application, everything runs fine.
If you have any explaination for this, any experience with similar problems,
or any hint on how the application could affect MAC-NetIF interaction, please
let me know.
More information about the Ns-users