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/1PE-AGG2 router:22:07:37.471: %BGP_LMM-6-AUTOGEN1: The mpls bgp forwarding command has been configured on interface: FastEthernet1/0VC 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 vfiLegend: RT=Route-target, S=Split-horizon, Y=Yes, N=NoVFI name: L2VPN, type: point-to-point  Neighbors connected via pseudowires:  Peer Address     VC ID  3.3.3.3          10  1.1.1.1          1000PE-AGG1# show mpls l2transport vcLocal intf     Local circuit              Dest address    VC ID      Status-------------  -------------------------- --------------- ---------- ----------MPLS PW        3.3.3.3:10                 1.1.1.1         1000       UPMPLS PW        1.1.1.1:1000               3.3.3.3         10         UPPE-AGG1# show mpls l2transport vc detailLocal 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 0Local 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 0VC Status on PE-AGG2
PE-AGG2# show vfiLegend: RT=Route-target, S=Split-horizon, Y=Yes, N=NoVFI name: L2VPN, type: point-to-point  Neighbors connected via pseudowires:  Peer Address     VC ID  4.4.4.4          2000  2.2.2.2          10PE-AGG2# show mpls l2transport vcLocal intf     Local circuit              Dest address    VC ID      Status-------------  -------------------------- --------------- ---------- ----------MPLS PW        4.4.4.4:2000               2.2.2.2         10         UPMPLS PW        2.2.2.2:10                 4.4.4.4         2000       UPPE-AGG2# show mpls l2transport vc detailLocal 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 0Local 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 0The following output proves end-to-end connectivity between two CE routers.
End-to-end connectivity
CE1# ping 192.168.1.2Type 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