L2VPN Pseudowire Switching
L2VPN Pseudowire Switching
L2VPN Pseudowire Switching allows the user to extend L2VPN Pseudowires across an inter-AS boundary. This feature connects multiple contiguous pseudowires to form an end-to-end multihop pseudowire.
Network topology:
One Pseudowire VC ID 1000 is established within MPLS-A network between PE1 and PE-AGG1 routers. A second Pseudowire VC ID 10 is established between PE-AGG1 and PE-AGG2 routers. And a third Pseudowire VC ID 2000 is established within MPLS-B network between PE-AGG2 and PE2 routers.
An eBGP session is established between PE-AGG1 and PE-AGG2 routers which is used to send labeled IP packets between two ASes.
Pseudowire Configuration:
First a Pseudowire VC ID 1000 is established between PE1 and PE-AGG1 routers.
Pseudowire between PE1 and PE-AGG1
PE1 router:
interface Loopback 0
ip address 1.1.1.1 255.255.255.255
ip ospf 1 area 0
!
interface Fastethernet 1/0
description Connected to CE1
no ip address
xconnect 2.2.2.2 1000 encapsulation mpls
!
PE-AGG1 router:
interface Loopback 0
ip address 2.2.2.2 255.255.255.255
ip ospf 1 area 0
!
l2 vfi L2VPN point-to-point
neighbor 1.1.1.1 1000 encapsulation mpls
!
Another Pseudowire VC ID 2000 is established within MPLS-B network between PE-AGG2 and PE2 routers.
Pseudowire between PE-AGG2 and PE2
PE-AGG2 router:
interface Loopback 0
ip address 3.3.3.3 255.255.255.255
ip ospf 1 area 0
!
l2 vfi L2VPN point-to-point
neighbor 4.4.4.4 2000 encapsulation mpls
!
PE2 router:
interface Loopback 0
ip address 4.4.4.4 255.255.255.255
ip ospf 1 area 0
!
interface Fastethernet 1/1
description Connected to CE2
no ip address
xconnect 3.3.3.3 2000 encapsulation mpls
!
And a third Pseudowire VC ID 10 is established between PE-AGG1 and PE-AGG2 routers.
Pseudowire between PE-AGG1 and PE-AGG2
PE-AGG1 router:
l2 vfi L2VPN point-to-point
neighbor 3.3.3.3 10 encapsulation mpls
!
PE-AGG2 router:
l2 vfi L2VPN point-to-point
neighbor 2.2.2.2 10 encapsulation mpls
!
eBGP Connection between PE-AGG1 and PE-AGG2:
An eBGP session is established between aggregating routers. This connection is used to send labeled packets between two ASes.
eBGP Connection
PE-AGG1 router:
interface Fastethernet 1/1
ip address 172.16.1.1 255.255.255.252
!
router bgp 100
neighbor 172.16.1.2 remote-as 200
neighbor 172.16.1.2 send-label
network 2.2.2.2 mask 255.255.255.255
!
PE-AGG2 router:
interface Fastethernet 1/0
ip address 172.16.1.2 255.255.255.252
!
router bgp 200
neighbor 172.16.1.1 remote-as 100
neighbor 172.16.1.1 send-label
network 3.3.3.3 mask 255.255.255.255
!
When neighbor <ip-address> send-label command is configured under BGP, mpls bgp forwarding command is automatically configured under the interfaces connecting the two Aggregating routers.
Automatically generated commands
PE-AGG1 router:
22:07:37.703: %BGP_LMM-6-AUTOGEN1: The mpls bgp forwarding command has been configured on interface: FastEthernet1/1
PE-AGG2 router:
22:07:37.471: %BGP_LMM-6-AUTOGEN1: The mpls bgp forwarding command has been configured on interface: FastEthernet1/0
VC Status verification:
The show mpls l2transport vc [detail] command shows VC status and label stack that will be imposed.
VC Status on PE-AGG1
PE-AGG1# show vfi
Legend: RT=Route-target, S=Split-horizon, Y=Yes, N=No
VFI name: L2VPN, type: point-to-point
Neighbors connected via pseudowires:
Peer Address VC ID
3.3.3.3 10
1.1.1.1 1000
PE-AGG1# show mpls l2transport vc
Local intf Local circuit Dest address VC ID Status
------------- -------------------------- --------------- ---------- ----------
MPLS PW 3.3.3.3:10 1.1.1.1 1000 UP
MPLS PW 1.1.1.1:1000 3.3.3.3 10 UP
PE-AGG1# show mpls l2transport vc detail
Local interface: MPLS PW 3.3.3.3:10 up
Destination address: 1.1.1.1, VC ID: 1000, VC status: up
Output interface: Fa1/0, imposed label stack {16 18}
Preferred path: not configured
Default path: active
Next hop: 10.1.1.5
Create time: 02:24:47, last status change time: 00:44:08
Signaling protocol: LDP, peer 1.1.1.1:0 up
Targeted Hello: 2.2.2.2(LDP Id) -> 1.1.1.1, LDP is UP
Status TLV support (local/remote) : enabled/supported
LDP route watch : enabled
Label/status state machine : established, LruRru
Last local dataplane status rcvd: No fault
Last local SSS circuit status rcvd: No fault
Last local SSS circuit status sent: No fault
Last local LDP TLV status sent: No fault
Last remote LDP TLV status rcvd: No fault
Last remote LDP ADJ status rcvd: No fault
MPLS VC labels: local 22, remote 18
Group ID: local 0, remote 0
MTU: local 1500, remote 1500
Remote interface description:
Sequencing: receive transparent, send transparent
Sequencing resync disabled
Control Word: On (configured: autosense)
VC statistics:
transit packet totals: receive 88, send 77
transit byte totals: receive 11342, send 10188
transit packet drops: receive 0, seq error 0, send 0
Local interface: MPLS PW 1.1.1.1:1000 up
Destination address: 3.3.3.3, VC ID: 10, VC status: up
Output interface: Fa1/1, imposed label stack {22}
Preferred path: not configured
Default path: active
Next hop: 172.16.1.2
Create time: 02:24:47, last status change time: 00:44:08
Signaling protocol: LDP, peer 3.3.3.3:0 up
Targeted Hello: 2.2.2.2(LDP Id) -> 3.3.3.3, LDP is UP
Status TLV support (local/remote) : enabled/supported
LDP route watch : enabled
Label/status state machine : established, LruRru
Last local dataplane status rcvd: No fault
Last local SSS circuit status rcvd: No fault
Last local SSS circuit status sent: No fault
Last local LDP TLV status sent: No fault
Last remote LDP TLV status rcvd: No fault
Last remote LDP ADJ status rcvd: No fault
MPLS VC labels: local 19, remote 22
Group ID: local 0, remote 0
MTU: local 1500, remote 1500
Remote interface description:
Sequencing: receive transparent, send transparent
Sequencing resync disabled
Control Word: On (configured: autosense)
VC statistics:
transit packet totals: receive 77, send 88
transit byte totals: receive 10188, send 11342
transit packet drops: receive 0, seq error 0, send 0
VC Status on PE-AGG2
PE-AGG2# show vfi
Legend: RT=Route-target, S=Split-horizon, Y=Yes, N=No
VFI name: L2VPN, type: point-to-point
Neighbors connected via pseudowires:
Peer Address VC ID
4.4.4.4 2000
2.2.2.2 10
PE-AGG2# show mpls l2transport vc
Local intf Local circuit Dest address VC ID Status
------------- -------------------------- --------------- ---------- ----------
MPLS PW 4.4.4.4:2000 2.2.2.2 10 UP
MPLS PW 2.2.2.2:10 4.4.4.4 2000 UP
PE-AGG2# show mpls l2transport vc detail
Local interface: MPLS PW 4.4.4.4:2000 up
Destination address: 2.2.2.2, VC ID: 10, VC status: up
Output interface: Fa1/0, imposed label stack {19}
Preferred path: not configured
Default path: active
Next hop: 172.16.1.1
Create time: 02:13:27, last status change time: 00:42:55
Signaling protocol: LDP, peer 2.2.2.2:0 up
Targeted Hello: 3.3.3.3(LDP Id) -> 2.2.2.2, LDP is UP
Status TLV support (local/remote) : enabled/supported
LDP route watch : enabled
Label/status state machine : established, LruRru
Last local dataplane status rcvd: No fault
Last local SSS circuit status rcvd: No fault
Last local SSS circuit status sent: No fault
Last local LDP TLV status sent: No fault
Last remote LDP TLV status rcvd: No fault
Last remote LDP ADJ status rcvd: No fault
MPLS VC labels: local 22, remote 19
Group ID: local 0, remote 0
MTU: local 1500, remote 1500
Remote interface description:
Sequencing: receive transparent, send transparent
Sequencing resync disabled
Control Word: On (configured: autosense)
VC statistics:
transit packet totals: receive 79, send 69
transit byte totals: receive 10640, send 8944
transit packet drops: receive 0, seq error 0, send 0
Local interface: MPLS PW 2.2.2.2:10 up
Destination address: 4.4.4.4, VC ID: 2000, VC status: up
Output interface: Fa1/1, imposed label stack {17 17}
Preferred path: not configured
Default path: active
Next hop: 10.2.2.2
Create time: 02:13:28, last status change time: 00:42:56
Signaling protocol: LDP, peer 4.4.4.4:0 up
Targeted Hello: 3.3.3.3(LDP Id) -> 4.4.4.4, LDP is UP
Status TLV support (local/remote) : enabled/supported
LDP route watch : enabled
Label/status state machine : established, LruRru
Last local dataplane status rcvd: No fault
Last local SSS circuit status rcvd: No fault
Last local SSS circuit status sent: No fault
Last local LDP TLV status sent: No fault
Last remote LDP TLV status rcvd: No fault
Last remote LDP ADJ status rcvd: No fault
MPLS VC labels: local 21, remote 17
Group ID: local 0, remote 0
MTU: local 1500, remote 1500
Remote interface description:
Sequencing: receive transparent, send transparent
Sequencing resync disabled
Control Word: On (configured: autosense)
VC statistics:
transit packet totals: receive 69, send 79
transit byte totals: receive 8944, send 10640
transit packet drops: receive 0, seq error 0, send 0
The following output proves end-to-end connectivity between two CE routers.
End-to-end connectivity
CE1# ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 52/85/160 ms