[Top] [Prev] [Next] [Bottom]

Using PPP over Ethernet (PPPoE)


This document provides information about Point-to-Point Protocol over Ethernet (PPPoE) interfaces, explains how to configure PPPoE interfaces, and describes the PPPoE commands. It includes the following topics:

Introduction to PPP over Ethernet

Standards and Features

PPPoE Connection Processing

Creating a PPPoE Interface

Displaying the PPPoE Monitoring Prompt

Configuring PPPoE

Creating and Assigning a PPPoE Profile

Setting the Idle Timer for a PPPoE Interface

Changing the Ethernet Device for a PPPoE Interface

Listing Information for PPPoE Interfaces

PPPoE Commands

Introduction to PPP over Ethernet

PPPoE allows a Nx Networks router to connect a network of hosts to a remote access concentrator (AC) on a third-party PPPoE server. Each network host uses its own PPP stack, which permits network administrators to manage access control, accounting, and service functions for individual hosts or groups of hosts rather than for the entire network.

A PPPoE interface is a virtual PPP interface created on a physical Ethernet device. Like PPP, PPP over Ethernet is designed for simple links that transport packets between two peers; it does not support multi-point relationships and other multi-access options available over Ethernet. PPP over Ethernet builds PPP sessions and encapsulates PPP packets over an Ethernet device. PPPoE supports most features and functions available for a physical PPP connection; however, there are some differences. The differences are explained in Standards and Features.

You create and monitor a PPPoE interface just as you would any other type of interface using the add and list commands. You configure and monitor the connection processing parameters and statistics of a PPPoE interface using commands in the PPPoE Config and PPPoE menus. Then you can configure parameters that pertain to the PPP packets (PAP/CHAP, IP addresses, IP routing protocols, IP packet forwarding, NAT firewall, IPSec firewall, IP Filters firewall) using the same methods used to configure a physical PPP connection (see Using PPP Interfaces).

Standards and Features

A PPPoE connection has a client side and a server side, and either endpoint can be the client or the server. Nx Networks routers implement the host side as defined in RFC 2516: A Method for Transmitting PPP Over Ethernet PPPoE. The router expects to be the client side of the PPPoE connection, and expects the server to be at the other side of the connection.

The default PPP configuration for PPPoE is:

The following limitations and guidelines apply to Nx Networks implementation of PPPoE:

You can create one or more PPPoE interfaces over each Ethernet device in the router; you choose the interface at creation time. You can change a PPPoE interface from one Ethernet card to another without reconfiguring.

PPPoE Connection Processing

The processing for a PPPoE connection occurs in two stages—the discovery stage and the session stage. During the discovery stage, a network host (client) discovers an access concentrator acting as a server, learns the Ethernet MAC address of the remote peer, and establishes a unique session identifier.

Once the necessary information has been exchanged, the session stage begins. At this point, the host and the access concentrator allocate resources for the virtual PPP interface, and the router begins to send PPP data over the Ethernet connection.

The three figures below illustrate the Ethernet frame, the Ethernet payload for PPPoE, and a PPPoE payload tag. The three tables describe the fields present in each of these structures.

Ethernet Frame Structure

Ethernet Frame Field Definitions

Field Definition
DESTINATION_ADDR A unicast Ethernet destination address or the Ethernet broadcast address (0xffffffff). In a discovery packet, it is an address as defined in the discovery section. In PPP session traffic, this is the peer's unicast address as determined from the discovery stage.

SOURCE_ADDR The Ethernet MAC address of the source device.

ETHER_TYPE The stage of the PPPoE session. A value of 0x8863 specifies the discovery stage, and a value of 0x8864 specifies the PPP session stage.

payload The payload header is 48 bits that define the version, type, code, session ID, and length for the payload.

Ethernet Payload for PPPoE

Ethernet Payload Header for PPPoE Field Definitions

Field Definition
VER The VER field is four bits. It begins each payload, and the only valid value is 0x1.

TYPE The TYPE field is four bits, and the only valid value is 0x1.

CODE The CODE field is 8 bits and the value varies depending on the session stage (discovery or PPP session).

SESSION_ID The SESSION_ID field is 16 bits. It is an unsigned value in network byte order. Its value varies depending on the session stage (discovery or PPP session). Before the access concentrator has assigned a session ID or if the session ID is unknown, the value is 0. For the PPP session stage, the value is fixed and defines a PPP session and the Ethernet SOURCE_ADDR and DESTINATION_ADDR. The value 0xffff is reserved for future use and must not be used.

LENGTH The LENGTH is 16 bits. The value in network byte order specifies the length of the PPPoE payload. It does not include the length of the Ethernet or PPPoE headers.

payload The PPPoE payload can include tags or not include tags. If the PPPoE packet is a discovery packet, the payload after the PPPoE header is a sequence of tags. Tags appear only in discovery packets. If there is a tag, it consists of a tag type, length, and value as shown in the figure below.

Tag Format for a PPPoE Payload

PPPoE Tag Field Definitions

Field Definition
TAG_TYPE The TAG_TYPE field is 16 bits in network byte order. The router uses this field to include routing tags to a payload.

TAG_LENGTH The TAG_LENGTH field is 16 bits that specify the length in octets of the tag value. It is an unsigned number in network byte order.

TAG_VALUE The TAG_VALUE field is of variable length.

The Discovery Protocol

The discovery protocol allows a PPPoE client to find a PPPoE server and enter the PPP session stage. Five types of messages are exchanged during the discovery stage:

The figure below illustrates the first exchange between the router and the server. Discovery protocol processing is as follows during the first exchange:

1. The router sends the PADI packet to the broadcast destination MAC address (0xffffffffffff) to search for a specific service or for any service.

2. One or more servers respond with PADO packets; these packets identify one or more service names that the server supports.

3. When the client finds an acceptable server, the client proceeds to the next exchange.

4. From this point on, all packets are sent to specific individual MAC address.

Discovery Protocol (First Exchange)

The figure below illustrates the second exchange between the router and the server. Discovery protocol processing is as follows during the second exchange:

1. Once the router has received a successful PADO, it sends a request for service to a specific server.

2. If the server responds with a session ID, the connection enters the PPP session stage.

Either side can send a PADT at any time to terminate the relationship. However, it is more desirable for PPP LCP to go through its termination logic. If the PPP LCP terminates, the PPPoE returns to the discovery stage and runs through the discovery stage again before running PPP LCP.

Although not possible in PPPoE connections as defined by the RFC 2516, Nx Networks implementation of PPPoE allows you to manually configure the PPPoE peer's MAC address and the session number so that the PPPoE session skips the discovery stage and goes directly into the PPP session stage. To configure the session number manually use the set interface interface_number command.

Discovery Protocol (Second Exchange)

When the PPPoE connection enters the PPP session stage, the same PPP services available on a standard PPP connection on the router are used (see Using PPP Interfaces). Standards and Features describes exceptions and limitations for PPPoE.

Creating a PPPoE Interface

To create a PPPoE interface and display the PPPoE configuration prompt:

1. Enter add interface pppoe at the Config> prompt. If the router has more than one Ethernet device, you are asked to select the physical device to host the PPPoE from a list of available Ethernet devices.

Config>add interface pppoe
Select the physical device used to host the interface from the following list: Ethernet1, Ethernet2? Ethernet2
Adding interface 3 linked to base device Ethernet2

2. Enter network followed by the number of the PPP interface you want to configure.

Config>network
What is the network number [0]? 3
Circuit Configuration

Circuit Config <NET-3>

3. Enter pppoe.

Circuit Config <NET-3> pppoe
PPP over Ethernet user configuration

PPPoE Config <NET-3>

Displaying the PPPoE Monitoring Prompt

To display the PPPoE monitoring prompt:

1. Enter list configuration at the Monitor> prompt to see a list of interfaces configured on the router.

Monitor>list configuration

3 Networks:
Net Interface MAC/Data-Link Protocol Stack State
0 Eth/0 Ethernet/IEEE 802.3 Ethernet1 Up
1 Eth/1 Ethernet/IEEE 802.3 Ethernet2 Up
2 PPP/0 Point to Point INT2:PPP:SL:WAN1 Up
3 PPP/1 Point to Point INT3:PPP:PPPoE:Ethernet1 Up
4 PPP/2 Point to Point INT4:PPP:PPPoE:Ethernet2 Up

2. Enter network followed by the number of the PPP interface at the Monitor> prompt.

Monitor>network 3
Circuit <NET-3>

3. Enter pppoe.

Circuit <NET-3>pppoe
PPP over Ethernet Console

PPPoE <NET-3>

Configuring PPPoE

The initial default PPP configuration for a PPPoE interface reflects the limitations and consideration of PPP on a PPPoE virtual interface described in Standards and Features. Specifically:

Note: The default PPP settings and PPPoE profile are ideal for virtually all PPPoE interfaces. For quick configuration, we recommend that you use the default values for LCP options, IPCP options, PPP parameters and IP address.

To configure PPPoE, do the following:

1. Display the PPPoE configuration prompt.

Config>network
What is the network number [0]? 3
Circuit Configuration

Circuit Config <NET-3> pppoe
PPP over Ethernet user configuration

PPPoE Config <NET-3>

2. If the PPPoE server uses PAP to authenticate the client, configure PAP on the PPPoE interface. Most PPPoE servers use PAP to check client userid/password verification before allowing the client to connect. This is the most likely reason that a PPPoE client will not connect.

Below are commands for the situation where the ISP is using PAP for authentication, you have assigned your router the hostname hhhh and the password pppp, and the PPPoE interface number is 3. If PAP isn't working properly after entering these commands, try using the full name hhhh.provider.com where provider.com is the domain name of your ISP.

Config>set hostname hhhh
Config>net 3
Circuit Config <NET-3> PPP
PPP Config <NET-3> add password hhhh pppp

Note: Although you can set up a local name to identify the router using an explicit set pap local-name command, PPP will use the router's hostname for the local name if you have not set up the local name explicitly. If you wish, you can configure the PPP interface with a local name different from the router hostname. One example of a reason for this is if there are several PPP interfaces connecting to different servers, and the servers want unique hostnames for each connection.

3. To check if PAP is working, enter:

nodisplay sub all
display event PPP.120

4. As the PPPoE tries to connect, the following is displayed:

16:04:59 PPP.120: Aut fld, nt 2 int PPP/1
16:05:01 PPP.120: Aut pss, nt 2 int PPP/1

Note: Do not enable PAP Answering-Calls. This prevents the establishment of a successful PPPoE circuit because the router tries to challenge the PPPoE server, which won't respond. The router responds to a PAP challenge without the Enable, as long as a hostname and password for it are configured.

Creating and Assigning a PPPoE Profile

The default PPPoE profile is ideal for virtually all PPPoE interfaces. We recommend that you use the default profile.

If you do not wish to use the default profile, you can create a PPPoE profile and configure the optional parameters for the profile. You can specify an access concentrator name and a service name, enable or disable the discovery stage, and manually configure the access concentrator's MAC address. By default, there is no AC name, no service name, discovery is on, and the MAC address is set to 000000000000.

To create a new PPPoE profile and assign it to the interface, follow these instructions.

1. Add a profile.

PPPoE Config <NET-3> add profile manual mac_addr_of_AC=332343819564

2. Assign a profile to the current PPPoE interface.

PPPoE Config <NET-3> set interface 3 profile=manual

Setting the Idle Timer for a PPPoE Interface

By default, the idle timer is disabled (set the 0) for PPPoE, which keeps the PPPoE connection up all the time. Setting the idle timer for a PPPoE connection is an advanced function.

Normally, it is desirable to keep the PPPoE connection up all the time; however, you can configure the idle timer if you have a special reason for doing so. You set the idle timer to drop the connection after a specified idle time by setting the time to the desired number of seconds. The following commands provide an example for setting the idle timer on a PPPoE.

Config>network 3
Circuit Configuration

Circuit Config <NET-3> list
Idle Time: (disabled)

Circuit Config <NET-3> set idle
Idle timer (seconds, 0 means always active) [60]? 240

Circuit Config <NET-3> list
Idle Time: 240 seconds

Changing the Ethernet Device for a PPPoE Interface

You can change the physical Ethernet device on which you created the PPPoE without disturbing the configuration of other defined interfaces. To do so use the change interface command in the Config menu.

Example: Config>change interface pppoe

Interface number [0]? 4
Select the physical device used to host the interface from the following list: Ethernet1, Ethernet2 [Ethernet1]? Ethernet2

Listing Information for PPPoE Interfaces

You can use the list command at the Monitor> prompt to display information about the PPPoE interface.

The PPPoE interface displays as a PPP interface in the results from a list error, list statistics, or list utilization command in the Monitor menu.

In the list utilization results, the speed displayed and used in the utilization calculation is the speed of the Ethernet. That is, 10000000 bits per second, or possibly less if bandwidth throttling is configured on the Ethernet.

Syntax: list

configuration
interfaces
services
stack

configuration

Displays the configured interfaces. The PPPoE is listed as a PPP interface with a PPPoE protocol stack.

Example: list configuration

5 Networks:
Net Interface MAC/Data-Link Protocol Stack State
0 Eth/0 Ethernet/IEEE 802.3 Ethernet1 Up
1 Eth/1 Ethernet/IEEE 802.3 Ethernet2 Up
2 PPP/0 Point to Point INT2:PPP:SL:WAN1 Up
3 PPP/1 Point to Point INT3:PPP:PPPoE:Ethernet1 Up
4 PPP/2 Point to Point INT4:PPP:PPPoE:Ethernet2 Up

interfaces

Displays the same statistics provided by the show counters and the show summary commands in the PPPoE menu. These are described in counters and summary.

Example: list interfaces 3

PADI PADO PADR PADS PADT PADT Session Session
Net sent rcvd sent rcvd sent rcvd sent rcvd
3 2 4 2 4 1 0 930 930

AC AC Sess Uptime --Discovery Stage--
Net Stage NAME MAC ID (hh:mm:ss) Successes Failures
3 SESS YourFriendlyISP 0000930C3C3C 88 1:01:13 2 0

services

Lists PPPoE as one of the services.

Example: list services

Service Description
------- -----------
BRI Basic Rate ISDN
DIAL Dial Serial Interface
FRLANE Frame Relay LAN Emulation
FRMGR Frame Relay Manager
FRVC Frame Relay Virtual Circuit
INT2 Interface 2
INT3 Interface 3
INT4 Interface 4
PPP Point-to-Point Protocol
PPPoE PPP over Ethernet
SL Serial Line

stack

Distinguishes a PPP interface from a PPPoE interface in the services list.

Example: list stack

Stack Creator State ID Service List
----- ------- ----- -- ------------
BASE-2 Router Open 2 SL:WAN1
NET-2 Router Open 2 INT2:PPP:BASE-2
NET-3 Router Open 3 INT3:PPP:PPPoE:Ethernet1

PPPoE Commands

This table lists the PPPoE commands. Enter help for information about using the command line interface.

[C] means the command is available at the PPPoE Config <NET-#> prompt.

[M] means the command is available at the PPPoE <NET-#> prompt.

PPPoE Commands

Command Function
Add Profile [C] [M] Adds a PPPoE profile.

Delete Profile [C] [M] Deletes a PPPoE profile.

Exit [C] [M] Returns to the previous prompt.

List [C] [M] Lists the PPPoE configuration, statistics, and counters.

Revert [M] Restores the current configuration from permanent memory.

Save [M] Saves the current running configuration to permanent memory.

Set [C] [M] Modifies PPPoE profiles and interfaces.

Show [M] Displays PPPoE status.

The add, delete, set, and list configuration commands in the PPPoE Config menu are also present in the PPPoE menu. Any configuration in the monitor is dynamic configuration, which becomes permanent when you execute the save or revert command.

The PPPoE dynamic configuration, in general, affects what PPPoE does during the discovery stage so most dynamic configuration changes do not have an effect until the PPPoE interface enters the discovery stage again.

If you wish to immediately force an interface that is up back into the discovery stage, use the test interface command in the Monitor menu. If the interface is already in the discovery stage, any changed dynamic configuration is used as soon as the discovery stage restarts from the beginning. It can take up to one minute for the discovery stage to restart from the beginning.

Add Profile [C] [M]

Creates a new PPPoE profile. A PPPoE profile is a global definition of parameters used in the discovery stage of PPPoE connections. Once defined, you can assign the properties of a profile to any number of PPPoE interfaces. If most of the PPPoE configuration is put into a profile that more than one PPPoE interface can share, the configuration of multiple PPPoE interfaces is much easier.

Syntax: add profile profile_name

AC_name=
service_name=
discovery=
mac_addr_of_AC=
rename=
profile_name

A unique name for the profile.

AC_name

The name of the desired access concentrator.

service_name

The name of the desired service. If no service name is specified (none), the router searches for any service during the discovery stage.

discovery

Whether the discovery stage is turned on or off. If the value is on, discovery processing takes place before a connection is made. If the value is off, the router skips the discovery processing and begins transmitting immediately to a manually configured MAC address. You must also specify the MAC address if the value is off.

mac_addr_of_AC

The MAC address of the access concentrator to which the PPPoE interface will connect. This value is ignored unless discovery is set to off.

rename

Specifies the profile's new name and renames references to the old name where it is used in a configuration.

This table describes each parameter in the PPPoE profile.

Example: add profile manual mac_addr_of_AC=332343819564

This example creates a profile named manual, which specifies a fixed MAC address for the AC server that will be used when discovery is turned off.

Delete Profile [C] [M]

Deletes a PPPoE profile. You cannot delete a profile that is in use by a PPPoE interface.

Syntax: delete profile profile_name

Example: delete profile manual

Exit [C] [M]

Returns to the previous prompt.

Syntax: exit

Example: exit

List [C] [M]

The next sections describe the list commands available at the PPPoE Config <NET-#> prompt and the PPPoE <NET-#> prompt.

List [C]

At the PPP Config <NET-#> prompt, list displays information related to the PPP interface and its protocol parameters and options.

Syntax: list

all
interface
profile

all

Lists all options and parameters related to the PPPoE interface. The profile parameters are described under Add Profile [C] [M].

Example: list all

PPPoE Config <NET-3> LIST ALL
Ifc profile Manual AC Session ID
2 default 0

Profile name: default
AC name: <none>
Service name: <none>
Discovery: On
AC MAC Address: 000000000000

interface

Lists information about all configured PPPoE interfaces.

Example: list interface

PPPoE Config <NET-3> LIST INTERFACE

Ifc profile Manual AC Session ID
2 default 0

Ifc

The PPPoE interface number.

profile

The name of the assigned PPPoE profile.

Manual AC Session ID

The session ID for an access concentrator session that was started with discovery set to off.

The table describes the output from this command:

profile

Lists information about the specified profile. If no profile is specified, all profiles are listed. The parameters are described under Add Profile [C] [M].

Example: list profile

Profile name: default
AC name: <none>
Service name: <none>
Discovery: On
AC MAC Address: 000000000000

List [M]

Displays information and counters related to the PPP interface and PPP parameters and options. You can display specific groups of information by listing the information for that group only.

Syntax: list

all
interface
profile

all

Lists the same information available through the PPPoE Config <NET-#> list all command.

Example: list all

interface

Lists the same information as the PPPoE Config <NET-#> list interface command.

Example: list interface

profile

Lists the same information as the PPPoE Config <NET-#> list profile command.

Example: list profile

Revert [M]

Restores the current configuration from permanent memory.

Syntax: revert

Save [M]

Saves the current running configuration to permanent memory.

Syntax: save

Set [C] [M]

Modifies PPPoE profiles and interfaces.

Syntax: set

interface
profile

interface

Every PPPoE interface must specify the profile that is it using. The interface is initially set to use a profile called default. If this profile does not exist, a default profile containing all default values is automatically created. You can modify, rename, or delete the default profile, just as you can any other profile.

Syntax: set interface interface_number

profile
AC_session_id

interface_number

Any PPPoE interface number.

profile

A PPPoE profile to use with calls over this PPPoE interface.

AC_Session_ID

A session number for the access concentrator to use with calls over this PPPoE interface.

Example: set interface 3 profile=manual AC_Session_ID=55

Example: set interface 2 profile=default

profile

Modifies a PPPoE profile. You can modify any profile, including the default profile. The parameters are described under Add Profile [C] [M].

Syntax: set profile profile

AC_name=
service_name=
discovery=
mac_addr_of_AC=
rename=
Example: set profile manual rename=disc_off

Show [M]

Shows statistics and information about the PPPoE interface.

Syntax: show

all
counters
summary

all

Shows all PPPoE statistics and information.

Example: show all

PADI PADO PADR PADS PADT PADT Session Session
Net sent rcvd sent rcvd sent rcvd sent rcvd
2 2 4 2 4 1 0 930 930

AC AC Sess Uptime --Discovery Stage--
Net Stage NAME MAC ID (hh:mm:ss) Successes Failures
2 SESS YourFriendlyISP 0000930C3C3C 88 1:01:13 2 0

The following table describes the output.
Net

Interface number.

PADI sent

Number of PADI packets sent.

PADO rcvd

Number of PADO packets received.

PADR sent

Number of PADR packets sent.

PADS rcvd

Number of PADS packets received.

PADT sent

Number of PADT packets sent.

PADT rcvd

Number of PADT packets received.

Session sent

Number of PPP session stage packets sent.

Session rcvd

Number of PPP session stage packets received.

Stage

The stage of the current connection. Values are SESS for session stage, DISC for the discovery stage, or DEMAND for the connect on demand idle situation. DEMAND is the idle situation where there is no connection to the access concentrator, the discovery process is not running, and the interface is just waiting for activity to occur.

AC NAME

The name of the access concentrator acting as the PPPoE server. If the stage is SESS, the name of the AC to which the PPPoE is connected is displayed. The AC name is truncated if it is longer than 15 characters.

AC MAC

The MAC Address of the most recently accepted access concentrator. The value is 000000000000 if no AC has ever been accepted.

Sess ID

The last known session ID that the access concentrator has assigned. The value is 0 if never assigned.

Uptime

If the interface is in the session stage, the amount of time that PPPoE has been in the PPP Session Stage. If the interface is not in the session stage, the value is 00:00:00.

Discovery Stage Successes

The number of times the discovery stage ran and succeeded.

Discovery Stage Failures

The number of times the discovery stage ran and failed.

counters

Presents PPPoE packet counters for all PPPoE interfaces.

Example: show counters

PADI PADO PADR PADS PADT PADT Session Session
Net sent rcvd sent rcvd sent rcvd sent rcvd
2 2 4 2 4 1 0 930 930

The statistics for packets sent and received are the same as those described under the show all command.

summary

Presents summary information for all PPPoE interfaces.

Example: show summary

AC AC Sess Uptime --Discovery Stage--
Net Stage NAME MAC ID (hh:mm:ss) Successes Failures
2 SESS YourFriendlyISP 0000930C3C3C 88 1:01:13 2 0

The fields are the same as those described under the show all command.



[Top] [Prev] [Next] [Bottom]

Copyright © 2001, Nx Networks, Inc. All rights reserved.