In PW APS scenarios, MPLS OAM is used to detect the status of static MS-PWs.
This chapter applies only to the NetEngine 8000 F1A.
On the public network shown in Figure 1, static bidirectional co-routed LSPs need to be established between the four PEs. In addition, CE1 and CE2 need to reliably communicate through the four PEs on the public network.
PW redundancy needs to be deployed on PE1 and PE2. For primary and secondary PWs that share the same source and same destination and static bidirectional co-routed LSPs, consider deploying PW APS for static PWs. As the four PEs belong to different IGP domains, the PWs must be MS-PWs.
The configuration roadmap is as follows:
Configure interface IP addresses and a routing protocol.
Configure MPLS and public network tunnels.
In this example, a static bidirectional co-routed LSP is used between each PE and SPE. The specific configurations include:
Configure basic MPLS functions and enable MPLS TE.
Configure MPLS TE tunnel interfaces.
Configure static bidirectional co-routed LSPs.
Configure a PW protection group (static MS-PWs are used in this example), which includes:
Configure a PW protection group on PE1 and PE2.
Configure static switched PWs on SPE1 and SPE2.
Configure PW APS, which includes:
Configure a PW APS instance on PE1 and PE2.
Bind the PW protection group to the PW APS instance.
Configure MPLS OAM to detect PW status.
To complete the configuration, you need the following data:
PEs' interface numbers, IP addresses and OSPF process IDs
Each PE's LSR ID, tunnel interface numbers and IP addresses, and tunnel IDs and ingress LSR IDs of reverse RSVP LSPs
Local and remote IP addresses, VC IDs, and VC types of L2VCs
APS instance numbers on PE1 and PE2
Assign an IP address and mask to each interface according to Figure 1. The configuration details are not provided.
In this example, OSPF is used as the IGP for PE1, PE2, SPE1, and SPE2 to communicate at the network layer. The configuration details are not provided here.
Static MS-PWs are used in this example.
# Configure the primary and secondary static PWs on PE1.
[~PE1] mpls l2vpn [*PE1-l2vpn] quit [*PE1] tunnel-policy 1 [*PE1-tunnel-policy-1] tunnel binding destination 2.2.2.2 te Tunnel10 [*PE1-tunnel-policy-1] tunnel binding destination 3.3.3.3 te Tunnel11 [*PE1-tunnel-policy-1] quit [*PE1] interface gigabitethernet 0/1/0 [*PE1-GigabitEthernet0/1/0] undo shutdown [*PE1-GigabitEthernet0/1/0] quit [*PE1] interface gigabitethernet 0/1/0.1 [*PE1-GigabitEthernet0/1/0.1] mpls static-l2vc destination 2.2.2.2 1 transmit-vpn-label 100 receive-vpn-label 200 tunnel-policy 1 [*PE1-GigabitEthernet0/1/0.1] mpls static-l2vc destination 3.3.3.3 2 transmit-vpn-label 300 receive-vpn-label 400 tunnel-policy 1 secondary [*PE1-GigabitEthernet0/1/0.1] mpls l2vpn pw-ttl 2 [*PE1-GigabitEthernet0/1/0.1] mpls l2vpn pw-ttl 2 secondary [*PE1-GigabitEthernet0/1/0.1] quit [*PE1] commit
# Configure the primary and secondary static PWs on PE2.
[~PE2] mpls l2vpn [*PE2-l2vpn] quit [*PE2] tunnel-policy 1 [*PE2-tunnel-policy-1] tunnel binding destination 2.2.2.2 te Tunnel11 [*PE2-tunnel-policy-1] tunnel binding destination 3.3.3.3 te Tunnel10 [*PE2-tunnel-policy-1] quit [*PE2] interface gigabitethernet0/1/2 [*PE2-GigabitEthernet0/1/2] quit [*PE2] interface gigabitethernet0/1/2.1 [*PE2-GigabitEthernet0/1/2.1] mpls static-l2vc destination 2.2.2.2 1 transmit-vpn-label 500 receive-vpn-label 600 tunnel-policy 1 [*PE2-GigabitEthernet0/1/2.1] mpls static-l2vc destination 3.3.3.3 2 transmit-vpn-label 700 receive-vpn-label 800 tunnel-policy 1 secondary [*PE2-GigabitEthernet0/1/2.1] mpls l2vpn pw-ttl 2 [*PE2-GigabitEthernet0/1/2.1] mpls l2vpn pw-ttl 2 secondary [*PE2-GigabitEthernet0/1/2.1] quit [*PE2] commit
# Configure a static switched PW on SPE1.
[~SPE1] mpls l2vpn [*SPE1-l2vpn] quit [*SPE1] tunnel-policy 1 [*SPE1-tunnel-policy-1] tunnel binding destination 1.1.1.1 te Tunnel10 [*SPE1-tunnel-policy-1] tunnel binding destination 4.4.4.4 te Tunnel11 [*SPE1-tunnel-policy-1] quit [*SPE1] mpls switch-l2vc instance-name 1 1.1.1.1 1 trans 200 recv 100 tunnel-policy 1 between 4.4.4.4 1 trans 600 recv 500 tunnel-policy 1 encapsulation vlan control-word [*SPE1] commit
# Configure a static switched PW on SPE2.
[*SPE2] mpls l2vpn [*SPE2-l2vpn] quit [*SPE2] tunnel-policy 1 [*SPE2-tunnel-policy-1] tunnel binding destination 1.1.1.1 te Tunnel11 [*SPE2-tunnel-policy-1] tunnel binding destination 4.4.4.4 te Tunnel10 [*SPE2-tunnel-policy-1] quit [*SPE2] mpls switch-l2vc instance-name 1 1.1.1.1 2 trans 400 recv 300 tunnel-policy 1 between 4.4.4.4 1 trans 800 recv 700 tunnel-policy 1 encapsulation vlan control-word [*SPE2] commit
# Configure PE1.
[~PE1] mpls [*PE1-mpls] mpls oam [*PE1-mpls] quit [*PE1] mpls-oam [*PE1-mpls-oam] mpls oam l2vc peer-ip 2.2.2.2 vc-id 1 vc-type vlan remote-peer-ip 4.4.4.4 remote-vc-id 3 remote-vc-type vlan type cv auto-protocol [*PE1-mpls-oam] mpls oam l2vc peer-ip 3.3.3.3 vc-id 2 vc-type vlan remote-peer-ip 4.4.4.4 remote-vc-id 4 remote-vc-type vlan type cv auto-protocol [*PE1-mpls-oam] mpls oam l2vc enable receive peer-ip 2.2.2.2 vc-id 1 vc-type vlan [*PE1-mpls-oam] mpls oam l2vc enable receive peer-ip 3.3.3.3 vc-id 2 vc-type vlan [*PE1-mpls-oam] mpls oam l2vc enable send peer-ip 2.2.2.2 vc-id 1 vc-type vlan [*PE1-mpls-oam] mpls oam l2vc enable send peer-ip 3.3.3.3 vc-id 2 vc-type vlan [*PE1-mpls-oam] quit [*PE1] commit
# Configure PE2.
[~PE2] mpls [*PE2-mpls] mpls oam [*PE2-mpls] quit [*PE2] mpls-oam [*PE2-mpls-oam] mpls oam l2vc peer-ip 2.2.2.2 vc-id 3 vc-type vlan remote-peer-ip 1.1.1.1 remote-vc-id 1 remote-vc-type vlan type cv auto-protocol [*PE2-mpls-oam] mpls oam l2vc peer-ip 3.3.3.3 vc-id 4 vc-type vlan remote-peer-ip 1.1.1.1 remote-vc-id 2 remote-vc-type vlan type cv auto-protocol [*PE2-mpls-oam] mpls oam l2vc enable receive peer-ip 2.2.2.2 vc-id 3 vc-type vlan [*PE2-mpls-oam] mpls oam l2vc enable receive peer-ip 3.3.3.3 vc-id 4 vc-type vlan [*PE2-mpls-oam] mpls oam l2vc enable send peer-ip 2.2.2.2 vc-id 3 vc-type vlan [*PE2-mpls-oam] mpls oam l2vc enable send peer-ip 3.3.3.3 vc-id 4 vc-type vlan [*PE2-mpls-oam] quit [*PE2] commit
Check MPLS OAM information on PE1.
[~PE1] display mpls oam l2vc all
--------------------------------------------------------------------------------
Total Oam Num: 2
Total Start Oam Num: 2
Total Defect Oam Num: 0
--------------------------------------------------------------------------------
No. Peer IP VC Type VC ID Status
--------------------------------------------------------------------------------
1 2.2.2.2 vlan 3 Start/Non-defect
2 3.3.3.3 vlan 4 Start/Non-defect
# Ping a GE sub-interface of CE2 from CE1.
[~CE1] ping 10.1.1.2
PING 10.1.1.2: 56 data bytes, press CTRL_C to break
Reply from 10.1.1.2: bytes=56 Sequence=1 ttl=255 time=40 ms
Reply from 10.1.1.2: bytes=56 Sequence=2 ttl=255 time=30 ms
Reply from 10.1.1.2: bytes=56 Sequence=3 ttl=255 time=40 ms
Reply from 10.1.1.2: bytes=56 Sequence=4 ttl=255 time=1 ms
Reply from 10.1.1.2: bytes=56 Sequence=5 ttl=255 time=1 ms
--- 10.1.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 1/22/40 ms
CE1 configuration file
# sysname CE1 # interface GigabitEthernet0/1/0 undo shutdown # interface GigabitEthernet0/1/0.1 vlan-type dot1q 10 ip address 10.1.1.1 255.255.255.0 # return
PE1 configuration file
# sysname PE1 # mpls lsr-id 1.1.1.1 mpls mpls te # mpls l2vpn # pw-aps 1 # bidirectional static-cr-lsp ingress Tunnel10 forward outgoing-interface GigabitEthernet0/1/1 nexthop 10.1.2.2 out-label 20 backward in-label 30 lsrid 2.2.2.2 tunnel-id 100 # bidirectional static-cr-lsp ingress Tunnel11 forward outgoing-interface GigabitEthernet0/1/2 nexthop 10.1.3.2 out-label 40 backward in-label 50 lsrid 3.3.3.3 tunnel-id 200 # interface GigabitEthernet0/1/0 undo shutdown # interface GigabitEthernet0/1/0.1 vlan-type dot1q 10 mpls static-l2vc destination 2.2.2.2 1 transmit-vpn-label 100 receive-vpn-label 200 tunnel-policy 1 mpls l2vpn pw-ttl 2 mpls static-l2vc destination 3.3.3.3 2 transmit-vpn-label 300 receive-vpn-label 400 tunnel-policy 1 secondary mpls l2vpn pw-ttl 2 secondary mpls l2vpn pw-aps 1 admin # interface GigabitEthernet0/1/1 undo shutdown ip address 10.1.2.1 255.255.255.0 mpls mpls te # interface GigabitEthernet0/1/2 undo shutdown ip address 10.1.3.1 255.255.255.0 mpls mpls te # interface LoopBack0 ip address 1.1.1.1 255.255.255.255 # interface Tunnel10 ip address unnumbered interface LoopBack0 tunnel-protocol mpls te destination 2.2.2.2 mpls te signal-protocol cr-static mpls te tunnel-id 100 mpls te bidirectional mpls te reserved-for-binding # interface Tunnel11 ip address unnumbered interface LoopBack0 tunnel-protocol mpls te destination 3.3.3.3 mpls te signal-protocol cr-static mpls te tunnel-id 200 mpls te bidirectional mpls te reserved-for-binding # ospf 1 area 0.0.0.0 network 10.1.2.0 0.0.0.255 network 1.1.1.1 0.0.0.0 network 10.1.3.0 0.0.0.255 # mpls-oam mpls oam l2vc peer-ip 2.2.2.2 vc-id 1 vc-type vlan remote-peer-ip 4.4.4.4 remote-vc-id 3 remote-vc-type vlan type cv auto-protocol mpls oam l2vc peer-ip 3.3.3.3 vc-id 2 vc-type vlan remote-peer-ip 4.4.4.4 remote-vc-id 4 remote-vc-type vlan type cv auto-protocol mpls oam l2vc enable receive peer-ip 2.2.2.2 vc-id 1 vc-type vlan mpls oam l2vc enable send peer-ip 2.2.2.2 vc-id 1 vc-type vlan mpls oam l2vc enable receive peer-ip 3.3.3.3 vc-id 2 vc-type vlan mpls oam l2vc enable send peer-ip 3.3.3.3 vc-id 2 vc-type vlan # return
PE2 configuration file
# sysname PE2 # mpls lsr-id 4.4.4.4 mpls mpls te # mpls l2vpn # pw-aps 2 # bidirectional static-cr-lsp egress Tunnel11 forward outgoing-interface GigabitEthernet0/1/0 in-label 60 lsrid 1.1.1.1 tunnel-id 200 backward nexthop 10.1.3.1 out-label 70 # bidirectional static-cr-lsp ingress Tunnel11 forward outgoing-interface GigabitEthernet0/1/0 in-label 90 lsrid 4.4.4.4 tunnel-id 100 backward nexthop 10.1.5.2 out-label 80 # interface GigabitEthernet0/1/0 undo shutdown ip address 10.1.4.2 255.255.255.0 mpls mpls te # interface GigabitEthernet0/1/1 undo shutdown ip address 10.1.5.2 255.255.255.0 mpls mpls te # interface GigabitEthernet0/1/2 undo shutdown # interface GigabitEthernet0/1/2.1 mpls static-l2vc destination 2.2.2.2 1 transmit-vpn-label 500 receive-vpn-label 600 tunnel-policy 1 mpls l2vpn pw-ttl 2 mpls static-l2vc destination 3.3.3.3 2 transmit-vpn-label 700 receive-vpn-label 800 tunnel-policy 1 secondary mpls l2vpn pw-ttl 2 secondary mpls l2vpn pw-aps 2 admin # interface LoopBack0 ip address 4.4.4.4 255.255.255.255 # interface Tunnel10 ip address unnumbered interface LoopBack0 tunnel-protocol mpls te destination 3.3.3.3 mpls te tunnel-id 400 mpls te passive-tunnel mpls te binding bidirectional static-cr-lsp egress Tunnel10 # interface Tunnel11 ip address unnumbered interface LoopBack0 tunnel-protocol mpls te destination 2.2.2.2 mpls te tunnel-id 300 mpls te passive-tunnel mpls te binding bidirectional static-cr-lsp egress Tunnel10 # ospf 1 opaque-capability enable area 0.0.0.0 network 10.1.4.0 0.0.0.255 network 10.1.5.0 0.0.0.255 network 4.4.4.4 0.0.0.0 mpls-te enable # mpls-oam mpls oam l2vc peer-ip 2.2.2.2 vc-id 3 vc-type vlan remote-peer-ip 1.1.1.1 remote-vc-id 1 remote-vc-type vlan type cv auto-protocol mpls oam l2vc peer-ip 3.3.3.3 vc-id 4 vc-type vlan remote-peer-ip 1.1.1.1 remote-vc-id 2 remote-vc-type vlan type cv auto-protocol mpls oam l2vc enable receive peer-ip 2.2.2.2 vc-id 3 vc-type vlan mpls oam l2vc enable send peer-ip 2.2.2.2 vc-id 3 vc-type vlan mpls oam l2vc enable receive peer-ip 3.3.3.3 vc-id 4 vc-type vlan mpls oam l2vc enable send peer-ip 3.3.3.3 vc-id 4 vc-type vlan # return
SPE1 configuration file
# sysname SPE1 # mpls lsr-id 2.2.2.2 mpls mpls te # mpls l2vpn # mpls switch-l2vc instance-name 1 1.1.1.1 1 trans 200 recv 100 tunnel-policy 1 between 4.4.4.4 1 trans 600 recv 500 tunnel-policy 1 encapsulation vlan control-word # interface GigabitEthernet0/1/0 undo shutdown ip address 10.1.2.2 255.255.255.0 mpls mpls te # interface GigabitEthernet0/1/1 undo shutdown ip address 10.1.4.1 255.255.255.0 mpls mpls te # interface LoopBack0 ip address 2.2.2.2 255.255.255.255 # interface Tunnel10 ip address unnumbered interface LoopBack0 tunnel-protocol mpls te destination 1.1.1.1 mpls te tunnel-id 100 mpls te signal-protocol cr-static # interface Tunnel11 ip address unnumbered interface LoopBack0 tunnel-protocol mpls te destination 4.4.4.4 mpls te tunnel-id 300 mpls te signal-protocol cr-static # ospf 1 opaque-capability enable area 0.0.0.0 network 2.2.2.2 0.0.0.0 network 10.1.4.0 0.0.0.255 network 10.1.2.0 0.0.0.255 mpls-te enable # return
SPE2 configuration file
# sysname SPE2 # mpls lsr-id 3.3.3.3 mpls mpls te # mpls l2vpn # mpls switch-l2vc instance-name 1 1.1.1.1 2 trans 400 recv 300 tunnel-policy 1 between 4.4.4.4 1 trans 800 recv 700 tunnel-policy 1 encapsulation vlan control-word # interface GigabitEthernet0/1/0 undo shutdown ip address 10.1.3.2 255.255.255.0 mpls mpls te # interface GigabitEthernet0/1/1 undo shutdown ip address 10.1.5.1 255.255.255.0 mpls mpls te # interface LoopBack0 ip address 3.3.3.3 255.255.255.255 # interface Tunnel10 ip address unnumbered interface LoopBack0 tunnel-protocol mpls te destination 4.4.4.4 mpls te tunnel-id 400 mpls te signal-protocol cr-static # interface Tunnel11 ip address unnumbered interface LoopBack0 tunnel-protocol mpls te destination 1.1.1.1 mpls te tunnel-id 200 mpls te signal-protocol cr-static # ospf 1 opaque-capability enable area 0.0.0.0 network 3.3.3.3 0.0.0.0 network 10.1.3.0 0.0.0.255 network 10.1.4.0 0.0.0.255 network 10.1.5.0 0.0.0.255 mpls-te enable # return
CE2 configuration file
# sysname CE2 # interface GigabitEthernet0/1/0 undo shutdown # interface GigabitEthernet0/1/0.1 vlan-type dot1q 10 ip address 10.1.1.2 255.255.255.0 # return