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 access servers.
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 explicitly create /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 hme1 hme2 hme3 |
PPPoE clients usually have only one interface that is listed in /etc/ppp/pppoe.if.
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 up. 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 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 device-name:pppoed # /usr/sbin/sppptun plumb pppoe device-name device-name:pppoe |
The first time you issue the sppptun command, the discovery protocol pppoed is plumbed on the interface. The second time 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 thesppptun(1M) man page.
The following sample shows how to manually plumb an interface for PPPoE by using /usr/sbin/sppptun.
# /usr/sbin/sppptun plumb pppoed hme0 hme0:pppoed # /dev/sppptun plumb pppoe hme0 hme0:pppoe |
This sample shows how to list the interfaces on an access server that was plumbed for PPPoE.
/usr/sbin/sppptun query hme0:pppoe hme0:pppoed hme1:pppoe hme1:pppoed hme2:pppoe hme2:pppoed |
This sample shows how to unplumb an interface.
# sppptun unplumb hme0:pppoed # sppptun unplumb hme0:pppoe |