[Ns-developers] IPv6 extension support

Sebastien Vincent vincent at clarinet.u-strasbg.fr
Mon Oct 26 03:51:00 PDT 2009


Hi,

Here is the repository for IPv6 extension support: 
http://svnet.u-strasbg.fr/hg/ns-3-ipv6-ext/

It contains two new examples:
- fragmentation-ipv6, a node sends packets > MTU, packets are fragmented 
in IPv6 stack;
- loose-routing-ipv6, a node sends special ICMPv6 which have IPv6 
routing header type 0 (it choose the router path).

There are some stuff that could/have to be enhanced:
- In ipv6-static-routing.cc, class Ipv6LooseRoutingExtension send 
directly the packets instead of passing up to Ipv6L3Protocol and it need 
Ipv6StaticRouting object to have a lookup (StaticLookup) in routing 
table (I don't need LocalDeliver/IpForward, ... callbacks). To do this I 
copy code from Ipv6RoutingHelper to get Ipv6StaticRouting object from 
Ipv6L3Protocol::GetRoutingProtocol. So we have the following choices:
  - include an helper class in stack (not sure it is good);
  - refactor to pass processed packets with routing header in IPv6 stack 
(tag, ...);
  - add a virtual method in Ipv6RoutingProtocol that just look in 
routing table for a destination (stuff like RouteInput() with no 
callback) and returns a route.

- The IPv6 option processing, as suggested by Fabian Mauchle, it should 
not have an Ipv6OptionDemux class and Ipv6Option process method because 
of conceptual stuff. Maybe he can say more about it and provide a way to 
do this.

As usual, any feedback is welcome.

Best regards,
--
Sebastien

Sebastien Vincent a écrit :
> Hi all,
>
> I have found some time to integrate IPv6 extensions contributed last 
> year by David Gross during a placement and some improvement patch from 
> Fabian Mauchle.
>
> I will release source by the end of the week. And I propose this 
> feature for a merge in ns-3.7.
>
> Basically it support parsing IPv6 extensions and options. The most 
> useful stuff is fragmentation and routing type 0 (deprecated and 
> dangerous extension but we include it for some case studies). Other 
> extensions can be parsed (hop-by-hop, AH, ESP, ...) but for now there 
> are no special processing.
> IPv6 extension support is the base for an future implementation of 
> Mobile IPv6. If I remember correctly someone (Fabian Mauchle ?) worked 
> on a MIPv6 implementation last year.
>
> Best regards,
> -- 
> Sebastien
>
>



More information about the Ns-developers mailing list