WARNING: This server is unstable and will be retired in the next days.
If you want to keep this forum available, please request immediately a migration
on the Nabble Support forum.
Forums that don't receive any migration request will be deleted forever.
Hello, my name is Daniel Howell and I'm interning over the summer at the
Lawrence Livermore National Laboratory working on network simulations
under Peter Barnes.
My project is implementing BGP in ns-3 simulations with the goal being
to run large-scale simulations of 10k+ nodes. I've looked into the
recent DCE implementation of Quagga, but from what I saw, it installs
individual Quagga processes on each node that runs BGP on it. For a
large scale simulation, this would run too slowly. We also want to be
able to run our code on any machine ns-3 can normally run on without
having to worry about DCE compatibility between computers.
I'm currently looking into extending Ipv4RoutingProtocol to implement
BGP at the moment, using the OLSRRoutingProtocol that is built-in as an
example. This BGPRoutingProtocol class would call upon the Quagga source
code for BGP to run. A few spots of challenge would be making sure the C
code compiles in the C++ compiler, running ns-3's simulation time
instead of real time on Quagga, and having the sockets communicate
between ns-3 and Quagga.
I started learning ns-3 just recently for this internship, so I'm not
well-versed on the ns-3 data structures. Does this approach make sense
or am I misunderstanding/overlooking something? If anyone has the older
Quagga Porting code, knows of a similar resource, or can offer any
advice or an opinion on this, that'd be very helpful!