[Ns-developers] ns-3.5 planning

Tom Henderson tomh at tomh.org
Wed Apr 15 07:39:56 PDT 2009


> Here is my understanding of the status of each separate item:
> 
> 1) ipv4 rework: tom and I agreed to try to split it, and specifically,
> try to split the API changes from the implementation changes. Right now,
> the proposal is to merge the following trees:
>   - mathieu/ns-3-olsr
>   - tomh/ns-3-ip-interfaces
 >   - tomh/ns-3-ip-routing

I didn't yet socialize these trees to the list yet for review but they 
are ready for review.  I will introduce these in a separate mail.

>    -tomh/ns-3-ip-interfaces: my main comment for this tree is that I am
> still unsure I understand what the peer field is supposed to represent
> and how it is expected to be used.

This is a field in struct in_addr used for point-to-point links in 
Linux; documentation from iproute2:

  peer ADDRESS--- address of remote endpoint for pointopoint interfaces.

We do not use this in our code right now, so it could be commented out 
until it is used.

>   - tomh/ns-3-ip-routing: missing a README.api. Ipv4Route should derive
> from src/node/ref-count-based.h instead of implementing Ref+Unref.

OK.  This tree is not as far along as the other tree in incorporating 
the proposed routing changes that are in ns-3-ip tree.

> 
> Needed followup patches:
>   - new src/helper/ipv4-routing-helper.h 
>   - move src/internet-stack/static-routing-protocol.h to src/node,
> modify it to implement a linux-like routing table API
>   - introduce a loopback device, remove Ipv4LoopbackInterface
>   - remove virtual methods from Ipv4Interface
>   - add src/node/arp.h, implement it in ArpL3Protocol

agree with all of the above

>   - remove ::SetNode in src/internet-stack/*.h|cc: all these objects are
> aggregated to a node, so, they can call GetObject.
>   - remove src/internet-stack/internet-stack.cc:
>       a) make UdpL4Protocol aggregate UdpSocketFactory to self from
> constructor. Same for TcpL4Protocol/TcpSocketFactory.
>       b) add src/core/object.h: call NotifyNewAggregate from
> AggregateObject
>       c) Hook in NotifyNewAggregate from UdpL4Protocol, check for
> Ipv4L3Protocol, register new l4 protocol when Ipv4L3Protocol is
> aggregated or when they are created

I hadn't planned to do the above replumbing, but one improvement that 
the current ns-3-ip-interfaces has is the removal of class Ipv4Impl. 
I'll leave the above alone for now since they are somewhat orthogonal to 
the routing stuff (which is where I want to focus).

> 
> 4) virtual devices was sent here for review a long time ago:
> http://code.nsnam.org/gjc/ns-3-virtual-netdevice/ I think that it could
> be useful to more users so, I would support merging it and would be
> happy to help gustavo port this to ns-3-dev.

+1 but we could probably call this one a TapDevice.

> 8) so far, ipv6 is blocked on item 1) and item 1. is far from being
> finished. If I put my realistic hat on, I predict that there is zero
> chance to complete 1) sufficiently early to allow ipv6 to go in this
> release cycle.

I would like to move forward on a few IPv6 things at least in this 
release cycle, but I agree that the item 1 work is substantial.


> 
> 10) This was posted a while ago: tom agreed on the basic idea with minor
> comments, and there were no other comments. I think that it could go in
> in a couple of days once we have fixed the identified issues.
> 

Agree.

- Tom


More information about the Ns-developers mailing list