System Administration Guide, Volume 3

IPv6 Network Interface Configuration File

IPv6 uses the file /etc/hostname6.interface at start-up to automatically define network interfaces in the same way IPv4 uses /etc/hostname.interface. At least one /etc/hostname.* or /etc/hostname6.* file should exist on the local machine. The Solaris installation program creates these files for you. In the file name, replace interface with the device name of the primary network interface.

The file name has the following syntax:


hostname.interface
hostname6.interface

Interface has the following syntax:


dev[.Module[.Module ...]]PPA

Dev

A network interface device. The device can be a physical network interface, such as le, qe, and so on, or a logical interface, such as a tunnel (see "Solaris Tunneling Interfaces for IPv6" for more details).

Module

The list of one or more streams modules to be pushed onto the device when it is plumbed 

PPA

The physical point of attachment 

The syntax [.[.]] is also accepted.

Examples of valid file names include:


hostname6.le0
hostname6.ip.tun0
hostname.ip.tun0

IPv6 Interface Configuration File Entry

Since autoconfiguration of interfaces in IPv6 allows a node to compute its own link-local address based on its link-layer address, the IPv6 interface configuration file might not have an entry. In this case the startup scripts configure an interface. The node then learns of other addresses and prefixes through the neighbor discovery daemon, in.ndpd. If it is required for an interface to have static addresses (which is less common in IPv6), you can still add them using the command interface of the ifconfig utility. Consequently, the address or hostname is stored in /etc/hostname6.interface (or /etc/hostname.interface) and the content is passed to ifconfig when configuring an interface.

In this case, the file contains only one entry: the host name or IP address associated with the network interface. For example, suppose smc0 is the primary network interface for a machine called ahaggar. Its /etc/hostname6.* file would have the name /etc/hostname6.smc0 and the file would contain the entry ahaggar.

The networking start-up script examines the number of interfaces and the existence of the /etc/inet/ndpd.conf file to start routing daemons and packet forwarding (see "How to Configure a Solaris IPv6 Router").

IPv6 Extensions to the ifconfig Utility

The ifconfig utility was changed to allow for plumbing IPv6 interfaces as well as the tunneling module. The ifconfig(1M) utility uses an extended set of ioctls to configure both IPv4 and IPv6 network interfaces. The following table shows the set of options added to this utility. See "How to Display Interface Address Assignments" for a description of useful diagnostic procedures using this utility.

Table 16-1 New ifconfig Utility Options

Option 

Description 

index

Set the interface index. 

tsrc/tdst

Set tunnel source/destination. 

addif

Create the next available logical interface. 

removeif

Delete a logical interface with a given IP address. 

destination

Set the point-to-point destination address for an interface. 

set

Set an address, netmask, or both for an interface. 

subnet

Set the subnet address of an interface. 

xmit/-xmit

Enable/disable packet transmission on an interface. 

"Enabling IPv6 Nodes" provides IPv6 configuration procedures.

Examples--New ifconfig Utility Options

The following usage of the ifconfig command creates the hme0:3 logical interface to the 1234::5678/64 IPv6 address and enables it with the up option, reports its status, disables it, then deletes the interface.


Example 16-1 Examples--Using addif and removeif


# ifconfig hme0 inet6 addif 1234::5678/64 up
Created new logical interface hme0:3

# ifconfig hme0:3 inet6
hme0:3: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2
		inet6 1234::5678/64 

# ifconfig hme0:3 inet6 down

# ifconfig hme0 inet6 removeif 1234::5678

The following usage of the ifconfig command opens the device associated with the physical interface name and sets up the streams needed for TCP/IP to use the device, reports its status, configures the tunnels source and destination address, and reports its new status after the configuration.


Example 16-2 Examples--Using tsrc/tdst and index


# ifconfig ip.tun0 inet6 plumb index 13

# ifconfig ip.tun0 inet6
ip.tun0: flags=2200850<POINTOPOINT,RUNNING,MULTICAST,NONUD,IPv6> mtu 
1480 index 13
		inet tunnel src 0.0.0.0 
		inet6 fe80::/10 --> :: 

# ifconfig ip.tun0 inet6 tsrc 120.46.86.158 tdst 120.46.86.122

# ifconfig ip.tun0 inet6
ip.tun0: flags=2200850<POINTOPOINT,RUNNING,MULTICAST,NONUD,IPv6> mtu 
1480 index 13
		inet tunnel src 120.46.86.158  tunnel dst 120.46.86.122
		inet6 fe80::8192:569e/10 --> fe80::8192:567a