[ns] MAC-NetIF interaction

Marco Fiore fl0wer at virgilio.it
Wed Apr 6 01:48:53 PDT 2005


Hi,

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
goes wrong.
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()
method

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.

Regards,

Marco Fiore



More information about the Ns-users mailing list