Welcome to the IPv6-DRET Presentation Homepage

IPv6-DRET is a public implementation of the next generation Internet Protocol, IPv6, funded by the DGA/DRET (French Military Research Agency) and co-developped by INRIA Sophia-Antipolis and MASI laboratories.

The clickable map below presents the status and characteristics of the implementation. IPv6-DRET can operate IPv6 hosts as well as IPv6 routers. It comes with an implementation of the RIPng routing protocole within GateD, tested to operate over IPv6/IPv4 tunnels.

View it without frame.

This file is best browsable using HTML3.0 to visualize frames, mapped pictures, etc... All the IPv6-DRET materials are directly accessible from the CD-ROM. However, a browser with an active Internet connection is required to access remote links.

What is IPv6 ?

IPv6 is the new version of the Internet Protocol. It should replace progressively the current IPv4 routing protocol which is responsible for interconnecting the gateways of the thousands of networks across the worldwide Internet.

IPv6 was primarily designed to extend the current address space which has become too small to accomodate the increasing growth of the network. IPv6 addresses are 128-bit long, thus multiplying the potential Internet size by a factor of 296. This allows for different addressing schemes, new types of applications, etc...

IPv6 specifications have also been tuned to support the following:

While native IPv6 stacks and native IPv4 stacks will not be able to interoperate directly, IPv4-compatibility mechanisms have been introduced in IPv6 to ensure a smooth transition, i.e. allow isolated IPv6 islands to communicate via the IPv4 internet through "tunnels"


IPv6-DRET has been implemented inside the Linux operating system. The current release is based on kernel 2.1.6. Regular upgrades will keep up with the ever growing contribution to the Linux system.

Since routing issues are among the most important research interests concerning IPv6, our network stack is intended to accomodate both host and router IPv6 machines. Routing neighbor discovery daemons insure that host and routers on a same link are communicating properly to exchange parameters, set default routes, etc...

Besides implementing the router specification of the IPv6 protocol, a great deal of effort was also put into the developpement of RIPng into GateD.

As of today, the IPv6-DRET implementation makes it possible to start studying issues such as the impact of IPv6 mechanisms on multimedia applications transmission for example.


Current IPv6-DRET features

Future functionalities and features


Applications currently available are network configuration (ifconfig, route) and debugging tools (ping,traceroute). Their use is described with more detail in the "How To".

Basically, ifconfig allows to configure IPv6 interface addresses for the loopback, SIT and Ethernet devices. By configuring, we mean add, delete addresses, set flags, etc... It can also be used to setup configured tunnels to remote IPv4/IPv6 routers across the IPv4 internet. section.

Route is used to configure IPv4 and IPv6 routes: add, delete routes, set flags, lookup the routing table, etc...
Actually, the use of the above tools is not really required for IPv6-DRET hosts when they are running the ndpd-host daemon and routers are running the ndpd-router daemon.

Ping is a useful tool to check if the route between two hosts of the Internet is up. Besides, it provides statistics such as the round-trip time, time-to-live, ... Traceroute, as its name indicates, traces the route between two hosts and reports the routers messages go through to reach a given machine.


RIPng is a package for dynamic management of routing tables in an IPv6 networking environment. For instance, most of today's routes across the 6Bone are maintained manually. While this is possible with few nodes in the network, the 6Bone will soon become unmanagable this way. Several tunnels are now added daily!

RIPng is among the "simplest" routing protocols available and therefore will be used in first place in the 6Bone. Companies or consortium such as cisco or Merit already use RIPng message to maintain their IPv6 routing tables.

The protocol relies on a "Distance Vector" algorithm. Its simplicity comes from the fact that it does not require any global knowledge of the network. Only local messages are exchanged with neighboring routers.

It is currently implemented into GateD, a routing daemon maintained by Merit consortium.

How To?

This HOW TO provides information concerning the general setup of the package available by FTP on the WWW, and the configuration of IPv6-DRET hosts and routers.

Setting the package up

The installation procedure has been made as simple as possible. By default, it will not interfere with any of your current configuration and will compile in place. Copy the whole IPv6_DRET directory to the place that best suits you.
Enter the IPv6_DRET directory and type
> make all
This command compiles the whole package (about 30' on a PPro 200). You will be prompted for the Linux kernel configuration and GateD configuration. See below for further information. If you only want to compile parts of the package, more selective commands are available. You can get them with make help.

The kernel

The following steps are required to set the IPv6-DRET package up:

DNS and resolver library

Unless you already use a DNS server handling the AAAA field, you will need to setup an IPv6-capable DNS. BIND 4.9.5-t6b is provided for that purpose. It also contains the resolver library code and the "nslookup" and "host" applications.

IPv6 configuration guidelines

Code package

IPv6-DRET_0.0.1 is available here


A line-by-line style documentation of the code is partially available here. The volume and quality of this documentation will be incrementally improved.

Our testbed

ISI registry entry:

ipv6-site: G6-INRIA-SOPH
origin: AS1717
descr: Southern France, near Nice
descr: G6 node
country: FR
prefix: 5F06:B500:C133::/48
application: ping plvxv6-v6.ipv6.inria.fr
tunnel: IPv6 in IPv4 plvxv6.inria.fr -> 6bone-gw.ipv6.imag.fr G6 STATIC
contact: BB2-6BONE
remarks: Linux 2.1.23 (DRET code) on PPro200
remarks: Member of the G6 group
url: http://www.inria.fr/rodeo/IPv6/
notify: Benoit.Brodard@inria.fr
notify: Christophe.Diot@inria.fr
changed: Benoit.Brodard@inria.fr 19970902
source: 6BONE


Cool Links

6Bone and IPv6 projects

RFC - Internet drafts


This work is funded by the DGA/DRET (French Military Research Agency) and was co-developped by INRIA Sophia-Antipolis and MASI.

Copyright attached to the code.