This document provides a sample configuration for Layer 2 Tunneling Protocol Version 3 (L2TPv3) static and hairpinning methods.
This table describes the Cisco IOS® Software Release modification support for L2TPv3:
Cisco IOS Software Release | L2TPv3 Support Description |
---|---|
12.0(21)S | Initial data plane support for L2TPv3 was introduced on the Cisco 7200 series, Cisco 7500 series, Cisco 10720, and Cisco 12000 series platforms. |
12.0(23)S | L2TPv3 control plane support was introduced on the Cisco 7200 series, Cisco 7500 series, Cisco 10720, and Cisco 12000 series platforms. |
12.3(2)T | This feature was integrated into Cisco IOS Software Release 12.3(2)T. |
You must enable Cisco Express Forwarding (CEF) to use the L2TPv3 feature. The Xconnect configuration submode is blocked until CEF is enabled. On distributed platforms, such as the Cisco 7500 series, if CEF is disabled while a session is established, the session is torn down and remains down until CEF is reenabled. Use the ip cef or ip cef distributed command to enable CEF.
Specifying a source IP address to configure a loopback interface is highly recommended. If you do not configure a loopback interface, the router selects the best available local address, which could be any IP address configured on a core-facing interface. This configuration may prevent establishment of a control channel. The loopback address must be reachable from the core networks.
Before attempting this configuration, ensure that you are knowledgeable of:
This document is not restricted to specific software and hardware versions.
For more information on document conventions, refer to Cisco Technical Tips Conventions.
In this section, you are presented with the information to configure the features described in this document.
Note: To find additional information on the commands used in this document, use the Command Lookup Tool (registered customers only) .
This document uses this network setup:
Note: Routers R2 and R3 are used by the provider. Routers R1, R4, R5, and R6 are end customers. By using L2TPv3, router R4 appears to have a direct connection to R5; this is also true for the connection between router R1 to router R6.
This document uses these configurations:
Static pseudo-wire through an IP cloud. Relevant part of the configuration can be found in R2 and R3 where two unidirectional tunnels are configured.
Hairpin pseudo-wire or Local switching (from one port to another port in the same router). The configuration is done only on R2 and consists of configuring two unidirectional tunnels pointing to two loopbacks, which are both on router R2.
R2 |
---|
R2# show running-config Building configuration... service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname R2 ! ! clock timezone EST 10 ip subnet-zero ip cef no ip domain-lookup l2tp-class R2signal hello 10 password 0 cisco cookie size 8 ! pseudowire-class wireR5R4 encapsulation l2tpv3 protocol l2tpv3 R2signal ip local interface Loopback0 ip dfbit set ! pseudowire-class wireR6R1 encapsulation l2tpv3 protocol l2tpv3 R2signal ip local interface Loopback1 ip dfbit set ! pseudowire-class wireR1R6 encapsulation l2tpv3 protocol l2tpv3 R2signal ip local interface Loopback2 ip dfbit set ! interface Loopback0 description Used by wireR5R4 for Static Connection ip address 2.2.2.2 255.255.255.255 no ip directed-broadcast ! interface Loopback1 description Used by wireR6R1 for Hair Pinning Connection ip address 2.2.2.6 255.255.255.255 no ip directed-broadcast ! interface Loopback2 description Used by wireR1R6 for Hair Pinning Connection ip address 2.2.2.1 255.255.255.255 no ip directed-broadcast ! interface Ethernet0/0 description Connection to R1 no ip address no ip directed-broadcast xconnect 2.2.2.6 16 encapsulation l2tpv3 pw-class wireR1R6 ! interface Ethernet1/0 description Connection to Pretend Cloud. ip address 20.20.20.2 255.255.255.0 no ip directed-broadcast no cdp enable ! interface Ethernet2/0 description Connection to R5 no ip address no ip directed-broadcast no cdp enable xconnect 3.3.3.3 12 encapsulation l2tpv3 pw-class wireR5R4 ! interface Ethernet3/0 description Connection to R6 no ip address no ip directed-broadcast xconnect 2.2.2.1 16 encapsulation l2tpv3 pw-class wireR6R1 ! ip classless ip route 3.3.3.3 255.255.255.255 20.20.20.3 !--- The other end of wireR5R4 loopback (3.3.3.3) must be !--- reachable from this router. Hair Pinning loopbacks !--- are reachable—there is no need for additional routes. ! ! line con 0 exec-timeout 0 0 privilege level 15 line aux 0 line vty 0 4 login ! end |
R3 |
---|
R3# show running-config Building configuration... version 12.0 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname R3 ! ! clock timezone EST 10 ip subnet-zero ip cef ! l2tp-class R3signal hello 10 password 0 cisco cookie size 8 ! pseudowire-class wireR4R5 encapsulation l2tpv3 protocol l2tpv3 R3signal ip local interface Loopback0 ip dfbit set ! interface Loopback0 description Use by wireR4R5 for static connection ip address 3.3.3.3 255.255.255.255 no ip directed-broadcast ! interface Ethernet0/0 ip address 20.20.20.3 255.255.255.0 no ip directed-broadcast ! interface Ethernet1/0 no ip address no ip directed-broadcast no cdp enable xconnect 2.2.2.2 12 encapsulation l2tpv3 pw-class wireR4R5 ! ip classless ip route 2.2.2.2 255.255.255.255 Ethernet0/0 !--- The other end of wireR4R5 loopback (3.3.3.3) must be !--- reachable from this router. ! line con 0 exec-timeout 0 0 privilege level 15 line aux 0 line vty 0 4 login ! end |
Customer R1R6 tunnel (pseudo-wire) end router configuration:
R1 |
---|
R1# show running-config Building configuration... version 12.0 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname R1 ! ! clock timezone EST 10 ip subnet-zero no ip domain-lookup ! interface Ethernet0/0 ip address 10.10.10.1 255.255.255.0 no ip directed-broadcast ! ip classless ! line con 0 exec-timeout 0 0 privilege level 15 line aux 0 line vty 0 4 login ! end |
R6 |
---|
R6# show running-config Building configuration... version 12.0 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname R6 ! ! clock timezone EST 10 ip subnet-zero no ip domain-lookup ! interface Ethernet0/0 ip address 10.10.10.6 255.255.255.0 no ip directed-broadcast ! ip classless ! line con 0 exec-timeout 0 0 privilege level 15 line aux 0 line vty 0 4 login ! end |
Customer R4R5 tunnel (pseudo-wire) end router configuration:
R4 |
---|
R4# show running-config Building configuration... version 12.0 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname R4 ! ! ip subnet-zero ! interface Ethernet0/0 ip address 30.30.30.4 255.255.255.0 no ip directed-broadcast ! router ospf 1 log-adjacency-changes network 30.30.30.0 0.0.0.255 area 0 ! ip classless ! line con 0 exec-timeout 0 0 privilege level 15 line aux 0 line vty 0 4 login ! end |
R5 |
---|
R5# show running-config Building configuration... version 12.0 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname R5 ! ! ip subnet-zero ! interface Ethernet0/0 ip address 30.30.30.5 255.255.255.0 no ip directed-broadcast ! router ospf 1 log-adjacency-changes network 30.30.30.0 0.0.0.255 area 0 ! ip classless ! line con 0 exec-timeout 0 0 privilege level 15 line aux 0 line vty 0 4 login ! end |
This section provides information you can use to confirm your configuration is working properly.
R4# show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 30.30.30.5 1 FULL/DR 00:00:39 30.30.30.5 Ethernet0/0 R5# show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 30.30.30.4 1 FULL/BDR 00:00:38 30.30.30.4 Ethernet0/0 R1# show cdp neighbors Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater Device ID Local Intrfce Holdtme Capability Platform Port ID R6 Eth 0/0 158 R 7206VXR Eth 0/0
Certain show commands are supported by the Output Interpreter Tool (registered customers only) , which allows you to view an analysis of show command output.
show l2tun tunnel all—To display the current state of an L2TPv3 session and display information about currently configured sessions, including local and remote L2TP host names, aggregate packet counts, and L2TP control channels, use the show l2tun tunnel all command in EXEC mode.
R2# show l2tun tunnel all Tunnel Information Total tunnels 3 sessions 3 Tunnel id 54217 is up, remote id is 44186, 1 active sessions Tunnel state is established, time since change 00:12:07 Tunnel transport is IP (115) Remote tunnel name is R2 Internet Address 2.2.2.6, port 0 Local tunnel name is R2 Internet Address 2.2.2.1, port 0 Tunnel domain is VPDN group for tunnel is - L2TP class for tunnel is R2signal 88 packets sent, 87 received 10086 bytes sent, 11092 received Control Ns 76, Nr 74 Local RWS 1024 (default), Remote RWS 1024 (max) Tunnel PMTU checking disabled Retransmission time 1, max 1 seconds Unsent queuesize 0, max 0 Resend queuesize 0, max 2 Total resends 0, ZLB ACKs sent 72 Current nosession queue check 0 of 5 Retransmit time distribution: 0 0 0 0 0 0 0 0 0 Sessions disconnected due to lack of resources 0 Tunnel id 44186 is up, remote id is 54217, 1 active sessions Tunnel state is established, time since change 00:12:08 Tunnel transport is IP (115) Remote tunnel name is R2 Internet Address 2.2.2.1, port 0 Local tunnel name is R2 Internet Address 2.2.2.6, port 0 Tunnel domain is VPDN group for tunnel is - L2TP class for tunnel is R2signal 87 packets sent, 88 received 11092 bytes sent, 10086 received Control Ns 74, Nr 76 Local RWS 1024 (default), Remote RWS 1024 (max) Tunnel PMTU checking disabled Retransmission time 1, max 1 seconds Unsent queuesize 0, max 0 Resend queuesize 0, max 1 Total resends 0, ZLB ACKs sent 74 Current nosession queue check 0 of 5 Retransmit time distribution: 0 0 0 0 0 0 0 0 0 Sessions disconnected due to lack of resources 0 Tunnel id 24124 is up, remote id is 48735, 1 active sessions Tunnel state is established, time since change 00:11:00 Tunnel transport is IP (115) Remote tunnel name is R3 Internet Address 3.3.3.3, port 0 Local tunnel name is R2 Internet Address 2.2.2.2, port 0 Tunnel domain is VPDN group for tunnel is - L2TP class for tunnel is R2signal 155 packets sent, 158 received 15230 bytes sent, 17586 received Control Ns 69, Nr 67 Local RWS 1024 (default), Remote RWS 1024 (max) Tunnel PMTU checking disabled Retransmission time 1, max 1 seconds Unsent queuesize 0, max 0 Resend queuesize 0, max 2 Total resends 1, ZLB ACKs sent 65 Current nosession queue check 0 of 5 Retransmit time distribution: 0 0 1 0 0 0 0 0 0 Sessions disconnected due to lack of resources 0 R3# show l2tun tunnel all Tunnel Information Total tunnels 1 sessions 1 Tunnel id 48735 is up, remote id is 24124, 1 active sessions Tunnel state is established, time since change 00:12:36 Tunnel transport is IP (115) Remote tunnel name is R2 Internet Address 2.2.2.2, port 0 Local tunnel name is R3 Internet Address 3.3.3.3, port 0 Tunnel domain is VPDN group for tunnel is - L2TP class for tunnel is R3signal 180 packets sent, 176 received 19766 bytes sent, 17316 received Control Ns 77, Nr 79 Local RWS 1024 (default), Remote RWS 1024 (max) Tunnel PMTU checking disabled Retransmission time 1, max 1 seconds Unsent queuesize 0, max 0 Resend queuesize 0, max 1 Total resends 1, ZLB ACKs sent 78 Current nosession queue check 0 of 5 Retransmit time distribution: 0 0 1 0 0 0 0 0 0 Sessions disconnected due to lack of resources 0
show l2tun session all—To display the current state of a Layer 2 session and display protocol information about an L2TPv3 control channel, use the show l2tun session all command in EXEC mode.
R2# show l2tun session all Session Information Total tunnels 3 sessions 3 Session id 19996 is up, tunnel id 54217 Call serial number is 1492400000 Remote tunnel name is R2 Internet address is 2.2.2.6 Session is L2TP signalled Session state is established, time since change 00:15:37 112 Packets sent, 111 received 12309 Bytes sent, 13312 received Receive packets dropped: out-of-order: 0 total: 0 Send packets dropped: exceeded session MTU: 0 total: 0 Session vcid is 16 Session Layer 2 circuit, type is Ethernet, name is Ethernet0/0 Circuit state is UP Remote session id is 19999, remote tunnel id 44186 DF bit on, ToS reflect disabled, ToS value 0, TTL value 255 Session cookie information: local cookie, size 8 bytes, value 6E 47 8C 4A BA BF 7E A4 remote cookie, size 8 bytes, value 7F 9F 65 C4 C7 5B 57 FF FS cached header information: encap size = 32 bytes 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Sequencing is off Session id 19999 is up, tunnel id 44186 Call serial number is 1492400000 Remote tunnel name is R2 Internet address is 2.2.2.1 Session is L2TP signalled Session state is established, time since change 00:15:38 111 Packets sent, 112 received 13312 Bytes sent, 12309 received Receive packets dropped: out-of-order: 0 total: 0 Send packets dropped: exceeded session MTU: 0 total: 0 Session vcid is 16 Session Layer 2 circuit, type is Ethernet, name is Ethernet3/0 Circuit state is UP Remote session id is 19996, remote tunnel id 54217 DF bit on, ToS reflect disabled, ToS value 0, TTL value 255 Session cookie information: local cookie, size 8 bytes, value 7F 9F 65 C4 C7 5B 57 FF remote cookie, size 8 bytes, value 6E 47 8C 4A BA BF 7E A4 FS cached header information: encap size = 32 bytes 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Sequencing is off Session id 20005 is up, tunnel id 24124 Call serial number is 1492400002 Remote tunnel name is R3 Internet address is 3.3.3.3 Session is L2TP signalled Session state is established, time since change 00:14:29 200 Packets sent, 204 received 19650 Bytes sent, 22100 received Receive packets dropped: out-of-order: 0 total: 0 Send packets dropped: exceeded session MTU: 0 total: 0 Session vcid is 12 Session Layer 2 circuit, type is Ethernet, name is Ethernet2/0 Circuit state is UP Remote session id is 17834, remote tunnel id 48735 DF bit on, ToS reflect disabled, ToS value 0, TTL value 255 Session cookie information: local cookie, size 8 bytes, value 22 09 F1 E9 BC 8C 00 94 remote cookie, size 8 bytes, value 39 DD CB 00 9C 4B 1C 8C FS cached header information: encap size = 32 bytes 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Sequencing is off R3# show l2tun session all Session Information Total tunnels 1 sessions 1 Session id 17834 is up, tunnel id 48735 Call serial number is 1492400002 Remote tunnel name is R2 Internet address is 2.2.2.2 Session is L2TP signalled Session state is established, time since change 00:23:53 327 Packets sent, 322 received 33758 Bytes sent, 31248 received Receive packets dropped: out-of-order: 0 total: 0 Send packets dropped: exceeded session MTU: 0 total: 0 Session vcid is 12 Session Layer 2 circuit, type is Ethernet, name is Ethernet1/0 Circuit state is UP Remote session id is 20005, remote tunnel id 24124 DF bit on, ToS reflect disabled, ToS value 0, TTL value 255 Session cookie information: local cookie, size 8 bytes, value 39 DD CB 00 9C 4B 1C 8C remote cookie, size 8 bytes, value 22 09 F1 E9 BC 8C 00 94 FS cached header information: encap size = 32 bytes 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Sequencing is off
This section provides information you can use to troubleshoot your configuration.
You can use Bug Tool Kit (registered customers only) for more information on these L2TPv3 feature-related bugs:
CSCdz01467 (registered customers only) —Resolved (R) L2TPv3: Tunnel packet counter, displays inaccurate count.
CSCeb56061 (registered customers only) —Resolved (R) L2TPv3: L2TPv3oETH generates zombie tunnels.
CSCeb35497 (registered customers only) —Resolved (R) L2TPv3 sequencing: Tx Seqnum does not wrap to 1 after 16777215.
CSCdz48481 (registered customers only) —Resolved (R) L2TPv3 hairpinning configuration is no longer supported.
CSCec00463 (registered customers only) —Resolved (R) L2TPv3: Gig Ethernet Port mode decap failure
CSCec44356 (registered customers only) —Resolved (R) C10720: Match 802.1P in L2TPv3 hairpinning is broken.
Revision | Publish Date | Comments |
---|---|---|
1.0 |
10-Aug-2005 |
Initial Release |