[Ns-developers] GlobalRoutingManager and virtual interfaces

Gustavo Carneiro gjcarneiro at gmail.com
Wed May 14 07:05:46 PDT 2008


Hello, I am working on a VirtualNetDevice in ns-3.0.11, which is something
similar to Linux "tap" interfaces.

GlobalRoutingManager::PopulateRoutingTables () is segfaulting or aborting in
this simulated network that I have.  Maybe someone can give me some advice
here.

If I configure the virtual interface with EnableBroadcast() or
EnablePointToPoint(), GlobalRoutingManager will assume the netdevice has a
channel and try to do something with it.  Obviously it doesn't have any
channel, so GRM will just segfault.

If I configure neither as p2p nor broadcast, GRB will assert due to not
expecting this.

Finally, removing the assert, it still crashes in
GlobalRouter::FindIfIndexForDevice () because it assumes every interface is
an IP interface, while in this case I have pure L2 interfaces and the only
IP interface is the virtual one, on certain nodes.

Tips to procceed are appreciated.  Although I can manage something on my
own, alignment of my private changes with what NS developers think is
preferable is better, of course...

-- 
Gustavo J. A. M. Carneiro
INESC Porto, Telecommunications and Multimedia Unit
"The universe is always one step beyond logic." -- Frank Herbert


More information about the Ns-developers mailing list