System Administration Guide, Volume 3
[ Previous ][ Fast Back ]Chapter 1. Managing IPv6 Concepts[ Fast Forward ][ Next ]

Solaris Tunneling Interfaces for IPv6

Tunneling interfaces have the following format:
ip.tun ppa

Note - The Solaris software does not yet support encapsulating packets within IPv6 packets.

At system startup the tunneling module (tun) is pushed (by ifconfig) on top of IP to create a virtual interface. This is accomplished by creating the appropriate hostsname6. file.

For example, to create a tunnel to encapsulate IPv6 packets over an IPv4 network (IPv6 over IPv4), you create a file like:

The content of these files is passed to ifconfig(1M) after the interfaces have been plumbed and the content becomes the parameters necessary to configure a Point-to-Point tunnel.

The following listing is an example of a hostname6.ip.tun0 file:
tsrc tdst up
addif 1234:1234::1 5678:5678::2 up

In this example, the IPv4 source and destination addresses are used as tokens to autoconfigure source and destination IPv6 link-local addresses for the ip.tun0 interface. Two interfaces would be configured, the ip.tun0 interface mentioned, and a logical interface (ip.tun0:1) having the source and destination IPv6 addresses given by the addif command.

As mentioned previously, the contents of these configuration files are passed to ifconfig unmodified when the system is started as multiuser. The previous example is equivalent to:
ifconfig ip.tun0 inet6 plumb
ifconfig ip.tun0 inet6 tsrc tdst up
ifconfig ip.tun0 inet6 addif 1234:1234::1 5678:5678::2 up

The output of ifconfig -a for this tunnel is:
ip.tun0: flags=2200850<UP,POINTOPOINT,RUNNING,MULTICAST,NONUD,IPv6> mtu 1480 
index 6
        inet tunnel src  tunnel dst
        inet6 fe80::c0a8:6417/10 --> fe80::c0a8:713
ip.tun0:1: flags=2200850<UP,POINTOPOINT,RUNNING,MULTICAST,NONUD,IPv6> mtu 1480 
index 5
        inet6 1234:1234::1/128 --> 5678:5678::2 

You can configure more logical interfaces by adding lines to the configuration file using the following syntax:
addif IPv6-source IPv6-destination up

Note - If either end of the tunnel is an IPv6 router advertising one or more prefixes over the tunnel, you do not need addif commands in the tunnel configuration files, that is, just tsrc and tdst might be required because all other addresses are autoconfigured.

In some cases, specific source and destination link-local addresses need to be manually configured for a given tunnel. This is easily done by changing the first line of the configuration file to include these link-local addresses. For example:
tsrc tdst fe80::1/10 fe80::2 up

Notice that the source link-local address has a prefix length of 10. In this example, the ip.tun0 interface looks like the following:
ip.tun0: flags=2200850<UP,POINTOPOINT,RUNNING,MULTICAST,NONUD,IPv6> mtu 1480 
index 6
        inet tunnel src  tunnel dst
        inet6 fe80::1/10 --> fe80::2

For specific information about tun, see the tun(7M) man page. For a general description of tunneling concepts during the transition to IPv6, see [xref to non-existent element 'TRANSITION-5']. For a description of a procedure for configuring tunnels see How to Configure IPv6 Over IPv4 Tunnels in Chapter 2.

[ Previous ][ Home ][ Next ]
Controlling Display Output[ Up ]IPv6 Extensions to Solaris Name Services