System Administration Guide: Network Services

Files for Configuring Interfaces for PPPoE

The interfaces that are used at either end of the PPPoE tunnel must be configured before the tunnel can support PPP communications. Use /usr/sbin/sppptun and /etc/ppp/pppoe.if files for this purpose. You must use these tools to configure Ethernet interfaces on all Solaris PPPoE clients and PPPoE access servers.

/etc/ppp/pppoe.if File

The /etc/ppp/pppoe.if file lists the names of all Ethernet interfaces on a host to be used for the PPPoE tunnels. This file is processed during system boot when the interfaces that are listed are plumbed for use in PPPoE tunnels.

You need to create explicitly /etc/ppp/pppoe.if. Type the name of one interface to be configured for PPPoE on each line.

The following example shows an /etc/ppp/pppoe.if file for a server that offers three interfaces for PPPoE tunnels.

# cat /etc/ppp/pppoe.if

PPPoE clients usually have only one interface that is listed in /etc/ppp/pppoe.if.

/usr/sbin/sppptun Command

You can use the /usr/sbin/sppptun command to manually plumb and unplumb the Ethernet interfaces to be used for PPPoE tunnels. By contrast, /etc/ppp/pppoe.if is only read when the system boots. These interfaces should correspond to the interfaces that are listed in /etc/ppp/pppoe.if.

sppptun plumbs the Ethernet interfaces that are used in PPPoE tunnels in a manner that is similar to the ifconfig command. Unlike ifconfig, you must plumb interfaces twice to support PPPoE because two Ethernet protocol numbers are involved.

The basic syntax for sppptun is as follows:

# /usr/sbin/sppptun plumb pppoed device-name
# /usr/sbin/sppptun plumb pppoe device-name

In this syntax, device-name is the name of the device to be plumbed for PPPoE.

The first time that you issue the sppptun command, the discovery protocol pppoed is plumbed on the interface. The second time that you run sppptun, the session protocol pppoe is plumbed. sppptun prints the name of the interface that was just plumbed. You use this name to unplumb the interface, when necessary.

For more information, refer to the sppptun(1M) man page.

Examples of sppptun Commands for Administering Interfaces

The following example shows how to manually plumb an interface for PPPoE by using /usr/sbin/sppptun.

# /usr/sbin/sppptun plumb pppoed hme0
# /dev/sppptun plumb pppoe hme0

This example shows how to list the interfaces on an access server that was plumbed for PPPoE.

# /usr/sbin/sppptun query

This example shows how to unplumb an interface.

# sppptun unplumb hme0:pppoed
# sppptun unplumb hme0:pppoe