[Ns-developers] Does NS2 /NS3 support IPv6 ?
Tom Henderson
tomh at tomh.org
Fri Feb 13 10:11:47 PST 2009
Sébastien Vincent wrote:
> Bahareh_ntc at yahoo.com a écrit :
>> Hi Dear all,
>>
>>
>> I read recently about NS3 and I saw the initial step of "IPv6 enable "
>> was started by December 2008. So any idea ?
>>
>
> More IPv6 stuff in ns-3 is planned after IPv4 refactoring will be merged
> (ns-3.4 or ns-3.5).
> For a complete ns-3 "IPv6 enabled" but with an obsolete version of ns-3
> (3 month ago version) see https://svnet.u-strasbg.fr/hg/ns-3-ipv6/.
>
> I have also started IPv6 integration in Tom Henderson's "IPv4
> refactoring" repository (http://code.nsnam.org/tomh/ns-3-ip/) but for
> the moment I have absolutely no time to polish it and made it public on
> code.nsnam.org.
>
> I think IPv6 support in ns-3 (ICMPv6, neighbor discovery, routing, UDP
> and some applications) could be ready for ns-3.5.
>
> Regards,
>
> --
> Seb
>
Sebastien,
Here are some more details of what I am working on now, and how it
relates to IPv6.
I think there are a few more issues to iron out for IPv4 stack and they
each relate to IPv6 in some way.
1) virtual net devices. A lot of current research on IPv6 involves IPv6
transition using tunnels over IPv4 networks, so I would like to make
sure that we get this right so that people can easily build such
topologies.
2) I am working on finishing the IPv4 multicast routing implementation
which uses virtual interfaces also, but I haven't had a chance to look
at IPv6 multicast implementation and whether allowance needs to be made
for these virtual interfaces to be IPv6-capable, or whether it is done
differently.
3) We do not have any public interface into the ARP tables for IPv4. Of
course in IPv6, neighbor discovery provides a superset of ARP and it
would be nice if we had some type of API coherency for these two things.
I haven't looked at this yet.
I was thinking, for starters, to try to add IPv6 addresses to
interfaces. For IPv4, I aligned things with how struct in_device stores
possibly multiple struct in_ifaddrs; this became class
Ipv4InterfaceAddress. The equivalent for IPv6 seems to be struct
rt6_info, so I was wondering whether we might define a class
Ipv6InterfaceAddress similarly, based on struct rt6_info.
Once the IPv4 implementation seems mostly complete, it will be
productive to try to review it from the standpoint of IPv6 and see
whether the alignment is good.
- Tom
More information about the Ns-developers
mailing list