Sun Microsystems Logo
Products and Services
 
Support and Training
 
 

Previous Previous     Contents     Index     Next Next
Chapter 3

IPv6 Files and Commands (Reference)

The Solaris implementation of IPv6 consists primarily of changes to the TCP/IP stack, both at the kernel and user level. New IPv6 modules enable tunneling, router discovery, and stateless address autoconfiguration. This chapter describes the concepts that are associated with the Solaris implementation of IPv6.

This chapter contains the following information:

Overview of the Solaris IPv6 Implementation

As a part of the IPv4 to IPv6 transition, IPv6 specifies methods for encapsulating IPv6 packets within IPv4 packets. IPv6 also specifies IPv6 packets that are encapsulated within IPv6 packets.

IPv6 includes the module tun(7M), which performs the actual packet encapsulation. This module, which is known as the tunneling module, is plumbed. You configure tun by using the ifconfig utility the same as any physical interface. This module enables the tunneling module to be pushed between IP device and IP module. Tunneling devices also have entries in the system interface list.

For automatic tunneling, IPv6 includes the 6to4tun.c module. 6to4 also uses the general tun.c module during 6to4 tunnel creation.

In IPv6, the ifconfig(1M) utility is also modified. You use ifconfig to create the IPv6 stack. ifconfig also supports new parameters that are described in this chapter.

The in.ndpd(1M) daemon is added to perform router discovery and stateless address autoconfiguration.

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. A minimum of one /etc/hostname.* or /etc/hostname6.* file should exist on the local machine. The Solaris installation program creates these files for you. You can also add IPv6 interfaces manually, after Solaris installation.

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 or qe, 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 the device is plumbed.

PPA

The physical point of attachment.

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

The following list shows examples of valid file names:

hostname6.le0
hostname.ip.tun0
hostname.ip6.tun0
hostname6.ip6to4tun0
hostname6.ip.tun0
hostname6.ip6.tun0

IPv6 Interface Configuration File Entry

The autoconfiguration of interfaces in IPv6 enables a node to compute its own link-local address. This address is based on the node's link-layer address, that is, its Ethernet (MAC) address. Consequently, the interface configuration file for IPv6 might not have an entry. In this instance, the startup scripts configure an interface. The node then "learns" of other addresses and other prefixes through the neighbor discovery daemon, in.ndpd.

If you require static addresses for an interface, use the ifconfig utility. Consequently, the address or host name is stored in /etc/hostname6.interface (or /etc/hostname.interface). The content is passed to ifconfig when the interface is configured.

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

The networking startup 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.

Utilities Added or Modified for IPv6

The following utilities have been modified or added to the IPv6 implementation:

  • ifconfig - This command now includes several modifications for IPv6 support.

  • 6to4relay - This command sets up a tunnel between a 6to4 router and a relay router.

IPv6 Extensions to the ifconfig Utility

The ifconfig utility now enables IPv6 interfaces and the tunneling module to be plumbed. 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 that are added to ifconfig. See How to Display Interface Address Assignments for a description of useful diagnostic procedures that use this utility.

Table 3-1 New ifconfig Utility Options

Option

Description

index

Sets the interface index

tsrc/tdst

Sets tunnel source or destination

addif

Creates the next available logical interface

removeif

Deletes a logical interface with a specific IP address

destination

Sets the point-to-point destination address for an interface

set

Sets an address, netmask, or both for an interface

subnet

Sets the subnet address of an interface

xmit/-xmit

Enables or disables packet transmission on an interface

Enabling IPv6 Nodes provides IPv6 configuration procedures.

Previous Previous     Contents     Index     Next Next
 

Updated: 2003-09-30, 03:48