[Ns-developers] About real-world application integration

Mathieu Lacage mathieu.lacage at sophia.inria.fr
Wed Mar 11 09:54:59 PDT 2009


hi,

On Fri, 2009-03-06 at 15:50 +0900, Hajime Tazaki wrote:
> Hi All,
> 
> Now I'm working GNU Zebra bridge function to ns-3.
> #Note that not for Quagga, but I believe that quagga also
>  works.

This sounds really cool !

> 
> Is there anyone who works on this topic?

I work on this when I have time. More below.

> 
> First of all, I tried to use the following branch
> 
> [1] http://code.nsnam.org/lj/quagga-porting/
> 
> but it seems not to be worked. So I integrate [1,2,3,4]
> based on [2] branch.

ok.

> 
> 
> Although there is a lot of issues to fix, such as
> - Focusing on only my software (modified zebra) which use
>   only ICMP6 and UDP6.
> - IP{v4,v6} construction can be reorganized as doing in
> "tomh/ns-3-ip"
> - routing table in ns3 can handle longest match prefix
> - performance is not so good (max node is 100?)
> - make patches for HEAD branch
> - and, etc...
> 
> but current snapshot of this work is available at
> 
> http://www.sfc.wide.ad.jp/~tazaki/hg/hgwebdir.cgi/ns-3-simu_zebra_ipv6/
> 
> Currently I can run simulation about 50nodes with Tree
> Discovery procotol(draft-thubert-tree-discovery) and OLSRv1
> with IPv6 extension with this repo.
> 
> Any comments and suggestions are appreciate.

The bad news is that the ns-3-simu branch can't be merged in ns-3-dev
as-is because it has many problems and because ns-3-dev has many
problems so, your work can't be merged in ns-3-dev today. 

The good news is that we have plans to address all these issues:

1) First, we need to complete the ipv4 API/implementation rework.
2) Then, we need to merge the ipv6 work
3) Then, we need to fix some fundamental issues in the ELF loader in
ns-3-simu
4) Then, we need to merge the netlink code
5) Finally, we can merge the missing pieces to make quagga and zebra
work.

1) is current planned for the second half of march (i.e., starting next
week). My hope is that tom and myself can complete a mergeable version
just after we release 3.4 so that we can merge this in early may.

2) would, ideally, be worked on after 1) is completed but I don't plan
to work on it myself other than review code from sebastien.

3) is something I have been working on since december in my spare time.
It is basically a re-implementation of an ELF loader for i386 and x86-64
linux. This should fix a number of very hard to track bugs in the
current implementation which can be seen by very-hard-to-reproduce
random segfaults.

4) and 5) seem to be mostly what you have started doing.

I glanced at your tree and it seems that you have started doing 4) and
5) which is great because no one is working on it so, if you can keep
improving the libc implementation located in src/process-manager, this
will help us move fast once I have completed 3. So, my initial reaction
is that what you are doing is great, I think that there is no real
overlap with other people if you work only on the src/process-manager
code, and I will do a more thorough review of your code sometime next
week (I am supposed to be away from email this week :).

thanks a lot for working on this, and for sharing your efforts with us,
Mathieu



More information about the Ns-developers mailing list