[Ns-developers] IPv6 extension support
Sebastien Vincent
vincent at clarinet.u-strasbg.fr
Wed Nov 4 05:10:45 PST 2009
Hi Tom,
Tom Henderson a écrit :
> Sebastien Vincent wrote:
>> 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, ...);
> Can the RouteInput method demux the routing headers (without tag) and
> forward on the routing header instead of the IPv6 header, since it
> gets the packet? I am suspicious of putting in these static routing
> methods because it may not be static routing that is operating on the
> packet. It seems to me that routing headers can be processed from
> within RouteInput, and destination headers can be processed in
> LocalDeliver.
The routing extension are processed in a local delivered packet, see
RFC2460 section 4.4 :
A Routing header is not examined or processed until it reaches the
node identified in the Destination Address field of the IPv6 header.
>
>> - 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.
> Can RouteOutput() be used for these use cases?
Oh I forget this method... yes it could work, I will test it.
Regards,
--
Sebastien
>
> - Tom
>
>
More information about the Ns-developers
mailing list