The Point-to-Point Protocol (PPP) over Ethernet Client feature provides PPP over Ethernet (PPPoE) client support on routers.
PPPoE is a commonly used application in the deployment of digital subscriber lines (DSL). The PPP over Ethernet Client feature expands PPPoE functionality by providing support for PPPoE on the client as well as on the server.
Your software release may not support all the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the Feature Information Table at the end of this document.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Prerequisites for PPPoE Client
PPP connections must be established between two endpoints over a serial link or over an ATM virtual circuit (VC).
Restrictions for PPPoE Client
For PPPoE over ATM, one permanent virtual circuit (PVC) supports multiple PPPoE clients, allowing multiple PPPoE sessions to run concurrently on the same PVC. An ATM PVC is allowed to be a member of several dialer pools as long as the dialer pool number is unique.
For PPPoE, each PPPoE client must use a separate dialer interface and a separate dialer pool.
For the PPPoE--Max-Payload Support on Client feature the physical interface should support a maximum transmission unit (MTU) greater than 1500.
For the PPPoE--Max-Payload Support on Client feature, appropriate configuration is required on the Broadband Remote Access Server (BRAS). For more information, see the "PPP-Max-Payload and IWF PPPoE Tag Support" module.
The PPP over Ethernet Client feature provides PPPoE client support on
routers on customer premises. Before the introduction of this feature, Cisco
IOS software supported PPPoE on the access server side only. The figure below
shows the typical network topology for configuring a PPPoE client on an
Ethernet interface (E1 interface).
Figure 1
Typical Network Topology for PPPoE Deployment
PPPoE Client Support on ATM PVCs and Ethernet Interfaces
The PPPoE Client feature provides PPPoE client support on ATM PVCs and Ethernet interfaces. A dialer interface must be used for cloning virtual access.
Prior to Cisco IOS Release 12.4(15)T, one ATM PVC supported one PPPoE client. With the introduction of the Multiple PPPoE Client feature in Cisco IOS Release 12.4(15)T, one ATM PVC supports multiple PPPoE clients, allowing second line connection and redundancy. Multiple PPPoE clients can run concurrently on different PVCs, but each PPPoE client must use a separate dialer interface and a separate dialer pool.
Multiple PPPoE client sessions can be configured on an Ethernet interface, but each session must use a separate dialer interface and a separate dialer pool.
PPPoE, as described in RFC 2516, mandates a maximum negotiated Maximum Receive Unit (MRU) of 1492. This means that a PPPoE data packet cannot accommodate more than 1492 bytes of payload. To overcome this limitation, the client can use the PPP-Max-Payload tag (defined in RFC 4638) and negotiate a higher MRU with the Broadband Remote Access Server (BRAS). Use the pppoe-clientppp-max-payload command to send the PPP Max-Payload tag in PPPoE control packets to negotiate a higher MRU. A PPP Max-Payload tag allows a PPPoE client to override the MRU of 1492 by providing a maximum size for the PPP payload in both the sending and receiving directions.
The PPPoE client sends the PPPoE Max-Payload tag in a PPPoE Active Discovery Initiation (PADI) packet and if the PPPoE server can support a Maximum Transmission Unit (MTU)/Maximum Receive Unit (MRU) higher than 1492 octets, it responds with an echo of the clients tag in the PPPoE Active Discovery Offer (PADO) packet. The client sends the same tag in the PPPoE Active Discovery Request (PADR), and the server echoes the client tag in a PPPoE Active Discovery Session-confirmation (PADS) packet.
The pppoe-clientppp-max-payload command can only be configured when the PPPoE client dialer configuration is done. When the pppoe-clientppp-max-payload command is configured without the dialer configuration, an error message is displayed. If the dialer configuration is removed, the PPP max-payload configuration is also removed.
PPPoE Client Session Initiation
A PPPoE session is initiated by the PPPoE client. If the session has a timeout or is disconnected, the PPPoE client will immediately attempt to reestablish the session.
The following steps describe the exchange of packets that occurs when a PPPoE client initiates a PPPoE session:
The client broadcasts a PADI packet.
When the access concentrator receives a PADI that it can serve, it replies by sending a PADO packet to the client.
Because the PADI was broadcast, the host may receive more than one PADO packet. The host looks through the PADO packets it receives and chooses one. The choice can be based on the access concentrator name or on the services offered. The host then sends a single PADR packet to the access concentrator that it has chosen.
The access concentrator responds to the PADR by sending a PADS packet. At this point a virtual access interface is created that will then negotiate PPP, and the PPPoE session will run on this virtual access.
If a client does not receive a PADO for a preceding PADI, the client sends out a PADI at predetermined intervals. That interval length is doubled for every successive PADI that does not evoke a response, until the interval reaches the configured maximum.
If PPP negotiation fails or the PPP line protocol is brought down for any reason, the PPPoE session and the virtual access will be brought down. When the PPPoE session is brought down, the client waits for a predetermined number of seconds before trying again to establish a PPPoE.
Configures the PPPoE client and specifies the dialer interface to use for cloning on the PVC.
Step 6
end
Example:
Router(config-if-atm-vc)#
end
Returns to privileged EXEC mode.
What to Do Next
Note
If you make any changes to the PVC configuration after the PPPoE client session is established, the session is automatically terminated and reestablished.
Configuring a PPPoE Client on an Ethernet Interface
Perform this task to configure a PPPoE client on an Ethernet interface.
SUMMARY STEPS
1.enable
2.configureterminal
3.interfaceethernetnumber
4.pppoe-clientdial-pool-numbernumber
5.end
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Router> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
configureterminal
Example:
Router# configure terminal
Enters global configuration mode.
Step 3
interfaceethernetnumber
Example:
Router(config)# interface ethernet 0
Configures an Ethernet interface and enters interface configuration mode.
Configures the PPPoE client and specifies the dialer interface to use for cloning.
Step 5
end
Example:
Router(config-if)# end
Returns to privileged EXEC mode.
Configuring the Dialer Interface
Perform this task to configure the dialer interface to be used for cloning on the PVC.
SUMMARY STEPS
1.enable
2.configureterminal
3.interfacedialernumber
4.mtubytes
5.encapsulationppp
6.ipaddressnegotiated
7.dialerpoolnumber
8.dialer-groupgroup-number
9.end
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Router> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
configureterminal
Example:
Router# configure terminal
Enters global configuration mode.
Step 3
interfacedialernumber
Example:
Router(config)# interface dialer 1
Configures a dialer interface.
Step 4
mtubytes
Example:
Router(config-if)# mtu 1492
Adjusts the maximum packet size or maximum transmission unit (MTU) size. The range is from 64 to 17940.
Note
Cisco recommends that you set the MTU to 1492 bytes. This value accommodates a PPPoE header encapsulation of 8 bytes in the Ethernet frame payload.
Step 5
encapsulationppp
Example:
Router(config-if)# encapsulation ppp
Sets the encapsulation type of the interface to Point-to-Point Protocol.
Step 6
ipaddressnegotiated
Example:
Router(config-if)# ip address negotiated
Specifies that the IP address for the interface be obtained via PPP/IP Control Protocol (PPP/IPCP) address negotiation.
Step 7
dialerpoolnumber
Example:
Router(config-if)#
dialer pool 1
Specifies the dialing pool to use to connect to a specific destination subnetwork.
Step 8
dialer-groupgroup-number
Example:
Router(config-if)#
dialer-group 1
Configures an interface to belong to a specific dialing group.
Step 9
end
Example:
Router(config-if)# end
Exits interface configuration and returns to privileged EXEC mode.
Clearing PPPoE Client Sessions
Perform this task to clear PPPoE client sessions.
Note
This task applies only to releases prior to Cisco IOS Release 12.2(13)T.
>
SUMMARY STEPS
1.enable
2.clearvpdntunnelpppoe
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Router> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
clearvpdntunnelpppoe
Example:
Router# clear vpdn tunnel pppoe
Terminates the PPPoE client session and causes the PPPoE client to try to reestablish the session immediately.
What to Do Next
Note
To terminate a PPPoE client session, use the nopppoe-clientdial-pool-number command in interface configuration mode or interface-ATM-VC configuration mode.
Verifying the PPPoE Client
Perform this task to verify PPPoE client configuration.
Before You Begin
This task assumes that the PPPoE client has been configured.
SUMMARY STEPS
1.enable
2.showvpdn
3.showvpdnsessionpacket
4.showvpdnsessionall
5.showvpdntunnel
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Router> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
showvpdn
Example:
Router# show vpdn
Displays information about the active Layer 2 Forwarding (L2F) protocol tunnel and L2F message identifiers in a VPDN.
Step 3
showvpdnsessionpacket
Example:
Router# show vpdn session packet
Displays PPPoE session statistics.
Step 4
showvpdnsessionall
Example:
Router# show vpdn session all
Displays PPPoE session information for each session ID.
Step 5
showvpdntunnel
Example:
Router# show vpdn tunnel
Displays PPPoE session count for the tunnel.
Troubleshooting PPPoE Client Sessions
Perform this task to troubleshoot the PPPoE client.
Note
This task applies only to releases prior to Cisco IOS Release 12.2(13)T.
SUMMARY STEPS
1.enable
2.debugvpdnpppoe-data
3.debugvpdnpppoe-errors
4.debugvpdnpppoe-events
5.debugvpdnpppoe-packets
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Router> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
debugvpdnpppoe-data
Example:
Router# debug vpdn pppoe-data
Displays PPPoE session data packets.
Step 3
debugvpdnpppoe-errors
Example:
Router# debug vpdn pppoe-errors
Displays PPPoE protocol errors that prevent a session from being established or errors that cause an established session to be terminated.
Step 4
debugvpdnpppoe-events
Example:
Router# debug vpdn pppoe-events
Displays PPPoE protocol messages about events that are part of normal session establishment or shutdown.
Step 5
debugvpdnpppoe-packets
Example:
Router# debug vpdn pppoe-packets
Displays each PPPoE protocol packet exchanged.
Configuring a PPPoE Client in Cisco IOS Release 12.2(13)T 12.4T and Later Releases
Configures the PPPoE client and specifies the dialer interface to use for cloning on the PVC.
Note
If Cisco IOS Release 12.4(15)T or a later release is running, you can configure multiple PPPoE clients on the same PVC. For earlier releases, one PVC supports only one PPPoE client.
Configures the PPPoE client to send a PPP Max-Payload tag in PPPoE control packets.
Step 7
end
Example:
Router(config-if-atm-vc)#
end
Exits ATM virtual circuit configuration mode and returns to privileged EXEC mode.
What to Do Next
Note
If you make any changes to the PVC configuration after the PPPoE client session is established, the session is automatically terminated and reestablished.
Configuring a PPPoE Client on an Ethernet Interface
Perform this task to configure a PPPoE client on an Ethernet interface.
Clears the PPPoE client session and causes the PPPoE client to try immediately to reestablish the session.
What to Do Next
Note
To permanently terminate a PPPoE client session, use the nopppoe-clientdial-pool-numbercommand in interface configuration mode or interface-ATM-VC configuration mode.
Verifying the PPPoE Client
Perform this task to verify PPPoE client configuration.
Note
This task applies only to Cisco IOS Release 12.2(13)T and later releases.
>
SUMMARY STEPS
1.enable
2.showpppoesession [all | packets]
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Router> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
showpppoesession [all | packets]
Example:
Router# show pppoe session
Displays information about currently active PPPoE sessions.
Troubleshooting PPPoE Client Sessions
Perform this task to troubleshoot the PPPoE client.
Note
This task applies only to Cisco IOS Release 12.2(13)T and later releases.
>
SUMMARY STEPS
1.enable
2.debugpppoe {data | errors | events | packets}
DETAILED STEPS
Command or Action
Purpose
Step 1
enable
Example:
Router> enable
Enables privileged EXEC mode.
Enter your password if prompted.
Step 2
debugpppoe {data | errors | events | packets}
Example:
Router# debug pppoe errors
Displays debugging information for PPPoE sessions.
Examples PPPoE Client in Releases Prior to Cisco IOS Release 12.2(13)T
In the following example, a PPPoE client is configured on a PVC on the ATM interface 0. The PPPoE client uses the dialer interface 1 as its virtual access interface.
In the following example, two PPPoE client sessions are configured on an Ethernet interface. Each PPPoE client uses a separate dialer interface and a separate dialer pool.
vpdn enable
vpdn-group 1
request-dialin
protocol pppoe
!
interface ethernet1/1
pppoe-client dial-pool-number 1
pppoe-client dial-pool-number 2
!
interface dialer 1
ip address negotiated
dialer pool 1
dialer-group 1
!
interface dialer 2
ip address negotiated
dialer pool 2
dialer-group 2
Examples PPPoE Client in Cisco IOS Release 12.2(13)T and Later Releases
The following example shows how to configure a PPPoE client on an Ethernet interface. Note that in Releases 12.2(13)T and later it is not necessary to configure a global VPDN group before configuring the PPPoE client.
interface Ethernet 0
pppoe-client dial-pool-number 1
pppoe-client ppp-max-payload 1500
interface Dialer 1
ip address negotiated
dialer pool 1
mtu 1492
The following example shows how to configure multiple PPPoE clients on an ATM VC. Note that in Releases 12.4(15)T or a later release, more than one PPPoE session is supported on a single PVC.
interface ATM0
no ip address
no ip mroute-cache
no atm ilmi-keepalive
pvc 4/20
pppoe-client dial-pool-number 1
pppoe-client dial-pool-number 2
pppoe-client ppp-max-payload 1500
!
end
A Method for Transmitting PPP over Ethernet (PPPoE)
RFC 4638
Accommodating a Maximum Transit Unit/Maximum Receive Unit (MTU/MRU) Greater Than 1492 in the Point-to-Point Protocol over Ethernet (PPPoE)
Technical Assistance
Description
Link
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to
www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1
Feature Information for PPP over Ethernet Client
Feature Name
Releases
Feature Information
PPPoE--Max-Payload Support on Client
15.1(4)M
This feature supports the PPPoE client to send a PPP Max-Payload tag in PPPoE control packets. This feature is based on RFC 4638.
The following command was introduced or modified:
pppoe-clientppp-max-payload.
PPP over Ethernet Client
12.2(2)T 12.2(13)T 12.4(15)T 15.0(1)M
This feature was introduced.
In Cisco IOS Release 12.2(13)T, PPPoE client functionality was separated from VPDN functionality, resulting in changes to PPPoE client configuration.
In the Cisco IOS Release 12.4(15)T, support was added for multiple PPPoE sessions per VC.
No new commands were introduced or modified.
PPP over Ethernet Subinterface
12.4(20)T
Support was added for PPPoE clients on Ethernet subinterfaces.
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL:
www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.