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:
PPP MTU is 1492.
Address and Control Field Compression (ACFC), Asynchronous Control Character Map (ACCM), and Protocol Field Compression (PFC) disabled.
All compression algorithms disabled.
Magic number enabled.
Do not enable DIAL, PPP-over-FRVC, or LAN-EMULATION on a PPPoE interface since these do not make sense for a PPPoE interface.
Do not configure a SET DATALINK type of a PPPoE interface since this PPPoE is a virtual interface and not a physical interface.
Since you cannot use PPPoE in a manually configured stack, PPPoE does not support multilink PPP.
PPPoE Connection Processing
The processing for a PPPoE connection occurs in two stagesthe 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.
| 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. |
| 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
| 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:
PPPoE Active Discovery Initiation (PADI) packet
PPPoE Active Discovery Offer (PADO) packet
PPPoE Active Discovery Request (PADR) packet
PPPoE Active Discovery Session-confirmation (PADS) packet
PPPoE Active Discovery Terminate (PADT) packet
Discovery Protocol (First Exchange)
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)
Creating a PPPoE Interface
To create a PPPoE interface and display the PPPoE configuration prompt:
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
Config>network
What is the network number [0]? 3
Circuit Configuration
Circuit Config <NET-3>
Circuit Config <NET-3> pppoe
PPP over Ethernet user configuration
PPPoE Config <NET-3>
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
Monitor>network 3
Circuit <NET-3>
Circuit <NET-3>pppoe
PPP over Ethernet Console
PPPoE <NET-3>
The MTU maximum is 1492 bytes and compression features are turned off by default.
There are no special run-time checks to verify PPP config settings for PPPoE. You can modify the PPP configuration later to implement workarounds for unforeseen problems.
When the PPPoE interface is created, the IP address on the interface is automatically configured as PPP-dynamic assigned.
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>
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.
nodisplay sub all
display event PPP.120
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.
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.
PPPoE Config <NET-3> add profile manual mac_addr_of_AC=332343819564
PPPoE Config <NET-3> set interface 3 profile=manual
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]? 240Circuit Config <NET-3> list
Idle Time: 240 seconds
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.
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
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 930AC 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
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 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
[C] means the command is available at the PPPoE Config <NET-#> prompt.
[M] means the command is available at the PPPoE <NET-#> prompt.
| 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
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.
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.
PPPoE Config <NET-3> LIST ALL
Ifc profile Manual AC Session ID
2 default 0Profile name: default
AC name: <none>
Service name: <none>
Discovery: On
AC MAC Address: 000000000000
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. |
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].
Profile name: default
AC name: <none>
Service name: <none>
Discovery: On
AC MAC Address: 000000000000
interface
Lists the same information as the PPPoE Config <NET-#>
list interface command.
profile
Lists the same information as the PPPoE Config <NET-#>
list profile command.
Revert [M]
Restores the current configuration from permanent memory.
Syntax: set interface interface_number
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].
set profile manual rename=disc_off
Show [M]
Shows statistics and information about the PPPoE interface.
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
counters
Presents PPPoE packet counters for all PPPoE interfaces.
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
summary
Presents summary information for all PPPoE interfaces.
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