sppptun.1m revision c10c16dec587a0662068f6e2991c29ed3a9db943
te
Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
sppptun 1M "27 May 2009" "SunOS 5.11" "System Administration Commands"
NAME
sppptun - PPP tunneling driver utility
SYNOPSIS

sppptun plumb 

sppptun plumb [-s sap] protocol device

sppptun unplumb interface

sppptun query 
DESCRIPTION

The sppptun utility is used to configure and query the Solaris PPP tunneling device driver, /dev/sppptun. Currently, only PPP over Ethernet (PPPoE) is supported, so the plumb and unplumb arguments are used to specify Ethernet interfaces that are to be used for PPPoE, and the query option lists the plumbed interfaces.

The use of sppptun to add interfaces is similar to the use of ifconfig(1M) to add interfaces to IP. The plumbing is done once for each interface, preferably at system start-up time, and is not normally manipulated on a running system. If multiple instances of PPP are run over a single interface, they share the plumbing to that interface. Plumbing for each session is not required (and not possible for PPPoE).

The proper way to plumb interfaces for PPPoE is to list the interfaces, one per line, in the /etc/ppp/pppoe.if file. If alternate Ethertype (SAP) values are necessary, then include the PPPoE Session and Discovery Stage values as hexadecimal on the same line. The line format is:

interface [session [discovery]]

The defaults are the Ethertypes specified in RFC 2516, and most users should not need to set these values. See the examples for one possible use.

USAGE

sppptun plumb

When specified with no additional arguments, the plumb argument lists the protocols that are supported by the utility. These are the strings that are used as the protocol argument below.

sppptun plumb [-s sap] protocol device

This plumbs a new interface into the driver. The protocol parameter is pppoe for the PPP-carrying "Session Stage" connection or pppoed for the PPPoE "Discovery Stage" connection. Both connections must be present for each Ethernet interface that is to be used for PPPoE. The device parameter is the path name of the Ethernet interface to use (use ifconfig(1M) to list available devices). If the path begins with /dev/, then this portion may be omitted. The -s sap option can be specified to use an alternate Ethertype (SAP) for the selected protocol. The sap value must be given in hexadecimal. Some access servers use Ethertypes for PPPoE different from those in RFC 2516. The defaults are 8864 for pppoe and 8863 for pppoed.

sppptun unplumb interface

This removes an existing interface from the driver and terminates any PPP sessions that were using the interface. The interface parameter is the name of the interface as reported when the interface was plumbed.

sppptun query

Displays the canonical names of all interfaces plumbed into the /dev/sppptun device driver.

EXAMPLES

Example 1 Setting up to Use PPPoE on hme0

Plumb the hme0 interface.

# sppptun plumb pppoed hme0
hme0:pppoed
# sppptun plumb pppoe hme0
hme0:pppoe

Remove the hme0 interface.

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

Example 2 Script to Remove All Plumbed Interfaces

#!/bin/sh
for intf in `sppptun query`
do
 sppptun unplumb $intf
done

Example 3 Interoperating with 3COM HomeConnect Dual Link ADSL

# dladm show-link
LINK CLASS MTU STATE OVER
nge0 phys 1500 up --
# echo nge0 3c13 3c12 > /etc/ppp/pppoe.if
EXIT STATUS

The following exit values are returned:

0

Successful completion.

1

One or more errors occurred.

FILES

/etc/ppp/pppoe.if

list of Ethernet interfaces to be plumbed at boot time

/usr/sbin/sppptun

executable command

/dev/sppptun

Solaris PPP tunneling device driver

SEE ALSO

pppd(1M), pppoec(1M), pppoed(1M), sppptun(7M)

RFC 2516, Method for Transmitting PPP Over Ethernet (PPPoE), Mamakos et al, February 1999