Example for Configuring CBTS in a VPLS over TE Scenario
Networking Requirements
In Figure 3-44, CE1 and CE2 belong to the same VPLS network. They access the MPLS backbone network through PE1 and PE2, respectively. OSPF is used as an IGP on the MPLS backbone network.
It is required that a Martini VPLS tunnel and the dynamic signaling protocol RSVP-TE be used to establish two MPLS TE tunnels between PE1 and PE2 to transmit VPLS services. Each TE tunnel is assigned a specific priority. Interfaces that receive VPLS packets have behavior aggregate classification enabled and trust 8021.p priority values so that they can forward VPLS packets with a specific priority to a specific tunnel.
TE1 tunnel with ID 100 is established over the path PE1 –> P1 –> PE2, and TE2 tunnel with ID 200 is established over the path PE1 –> P2 –> PE2. AF1 is configured on TE1 interface, and AF2 is configured on TE2 interface. This configuration allows PE1 to forward traffic with service class AF1 along TE1 tunnel and traffic with service class AF2 along TE2 tunnel. The two tunnels can load-balance traffic based on priority values.
Note that if multiple tunnels with AF1 are established between PE1 and PE2, packets mapped to AF1 are load-balanced along these tunnels.
- Seamless MPLS
- Dynamic load balancing
Configuration Roadmap
The configuration roadmap is as follows:
Enable an IGP on the MPLS backbone network for devices on the backbone network to communicate.
Establish MPLS TE tunnels and configure a tunnel policy. For details about how to configure an MPLS TE tunnel, see "MPLS TE Configuration" in HUAWEI NetEngine40E Universal Service Router Configuration Guide - MPLS.
Enable MPLS Layer 2 virtual private network (L2VPN) on the PEs.
Create a virtual switching instance (VSI), configure LDP as a signaling protocol, and bind the VSI to an AC interface on each PE.
Configure MPLS TE tunnels to transmit VSI packets.
Data Preparation
To complete the configuration, you need the following data:
OSPF area enabled with TE
VSI name and VSI ID
IP addresses of peers and tunnel policy
Names of AC interfaces bound to the VSI
Interface number and IP address of each tunnel interface, as well as destination IP address, tunnel ID, tunnel signaling protocol (RSVP-TE), and tunnel bandwidth to be specified on each tunnel interface
Procedure
- Assign an IP address to each interface on the backbone network. For configuration details, see Configuration Files in this section.
- Enable MPLS, MPLS TE, MPLS RSVP-TE, and MPLS CSPF.
On the nodes along each MPLS TE tunnel, enable MPLS, MPLS TE, and MPLS RSVP-TE both in the system view and the interface view. On the ingress node of each tunnel, enable MPLS CSPF in the system view.
# Configure PE1.
[~PE1] mpls lsr-id 1.1.1.9 [*PE1] mpls [*PE1-mpls] mpls te [*PE1-mpls] mpls rsvp-te [*PE1-mpls] mpls te cspf [*PE1-mpls] quit [*PE1] interface gigabitethernet2/0/1 [*PE1-GigabitEthernet2/0/1] mpls [*PE1-GigabitEthernet2/0/1] mpls te [*PE1-GigabitEthernet2/0/1] mpls rsvp-te [*PE1-GigabitEthernet2/0/1] quit [*PE1] commit [*PE1] interface gigabitethernet2/0/3 [*PE1-GigabitEthernet2/0/3] mpls [*PE1-GigabitEthernet2/0/3] mpls te [*PE1-GigabitEthernet2/0/3] mpls rsvp-te [*PE1-GigabitEthernet2/0/3] quit [*PE1] commit
# Configure P1.
[~P1] mpls lsr-id 2.2.2.9 [*P1] mpls [*P1-mpls] mpls te [*P1-mpls] mpls rsvp-te [*P1-mpls] quit [*P1] interface gigabitethernet3/0/1 [*P1-GigabitEthernet3/0/1] mpls [*P1-GigabitEthernet3/0/1] mpls te [*P1-GigabitEthernet3/0/1] mpls rsvp-te [*P1-GigabitEthernet3/0/1] quit [*P1] interface gigabitethernet4/0/1 [*P1-GigabitEthernet4/0/1] mpls [*P1-GigabitEthernet4/0/1] mpls te [*P1-GigabitEthernet4/0/1] mpls rsvp-te [*P1-GigabitEthernet4/0/1] quit [*P1] commit
# Configure P2.
[~P2] mpls lsr-id 3.3.3.9 [*P2] mpls [*P2-mpls] mpls te [*P2-mpls] mpls rsvp-te [*P2-mpls] quit [*P2] interface gigabitethernet4/0/0 [*P2-GigabitEthernet4/0/0] mpls [*P2-GigabitEthernet4/0/0] mpls te [*P2-GigabitEthernet4/0/0] mpls rsvp-te [*P2-GigabitEthernet4/0/0] quit [*P2] interface gigabitethernet3/0/3 [*P2-GigabitEthernet3/0/3] mpls [*P2-GigabitEthernet3/0/3] mpls te [*P2-GigabitEthernet3/0/3] mpls rsvp-te [*P2-GigabitEthernet3/0/3] quit [*P2] commit
# Configure PE2.
[~PE2] mpls lsr-id 4.4.4.9 [*PE2] mpls [*PE2-mpls] mpls te [*PE2-mpls] mpls rsvp-te [*PE2-mpls] mpls te cspf [*PE2-mpls] quit [*PE2] interface gigabitethernet5/0/1 [*PE2-GigabitEthernet5/0/1] mpls [*PE2-GigabitEthernet5/0/1] mpls te [*PE2-GigabitEthernet5/0/1] mpls rsvp-te [*PE2-GigabitEthernet5/0/1] quit [*PE2] commit [*PE2] interface gigabitethernet5/0/0 [*PE2-GigabitEthernet5/0/0] mpls [*PE2-GigabitEthernet5/0/0] mpls te [*PE2-GigabitEthernet5/0/0] mpls rsvp-te [*PE2-GigabitEthernet5/0/0] quit [*PE2] commit
- Enable OSPF and OSPF TE on the MPLS backbone network.
# Configure PE1.
[~PE1] ospf [*PE1-ospf-1] opaque-capability enable [*PE1-ospf-1] area 0.0.0.0 [*PE1-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0 [*PE1-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255 [*PE1-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255 [*PE1-ospf-1-area-0.0.0.0] mpls-te enable [*PE1-ospf-1-area-0.0.0.0] quit [*PE1-ospf-1] quit [*PE1] commit
# Configure P1.
[~P1] ospf [*P1-ospf-1] opaque-capability enable [*P1-ospf-1] area 0.0.0.0 [*P1-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0 [*P1-ospf-1-area-0.0.0.0] network 10.1.4.0 0.0.0.255 [*P1-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255 [*P1-ospf-1-area-0.0.0.0] mpls-te enable [*P1-ospf-1-area-0.0.0.0] quit [*P1-ospf-1] quit [*P1] commit
# Configure P2.
[~P2] ospf [*P2-ospf-1] opaque-capability enable [*P2-ospf-1] area 0.0.0.0 [*P2-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0 [*P2-ospf-1-area-0.0.0.0] network 10.1.3.0 0.0.0.255 [*P2-ospf-1-area-0.0.0.0] network 10.1.5.0 0.0.0.255 [*P2-ospf-1-area-0.0.0.0] mpls-te enable [*P2-ospf-1-area-0.0.0.0] quit [*P2-ospf-1] quit [*P2] commit
# Configure PE2.
[~PE2] ospf [*PE2-ospf-1] opaque-capability enable [*PE2-ospf-1] area 0.0.0.0 [*PE2-ospf-1-area-0.0.0.0] network 4.4.4.9 0.0.0.0 [*PE2-ospf-1-area-0.0.0.0] network 10.1.4.0 0.0.0.255 [*PE2-ospf-1-area-0.0.0.0] network 10.1.5.0 0.0.0.255 [*PE2-ospf-1-area-0.0.0.0] mpls-te enable [*PE2-ospf-1-area-0.0.0.0] quit [*PE2-ospf-1] quit [*PE2] commit
- Configure tunnel interfaces.
# Create tunnel interfaces on PEs, configure MPLS TE as a tunnel protocol and RSVP-TE as a signaling protocol, and specify priorities.
# Configure PE1.
[~PE1] interface Tunnel 10 [*PE1-Tunnel10] ip address unnumbered interface loopback1 [*PE1-Tunnel10] tunnel-protocol mpls te [*PE1-Tunnel10] destination 4.4.4.9 [*PE1-Tunnel10] mpls te tunnel-id 100 [*PE1-Tunnel10] mpls te service-class af1 [*PE1-Tunnel10] quit [*PE1] commit [~PE1] interface Tunnel 11 [*PE1-Tunnel11] ip address unnumbered interface loopback1 [*PE1-Tunnel11] tunnel-protocol mpls te [*PE1-Tunnel11] destination 4.4.4.9 [*PE1-Tunnel11] mpls te tunnel-id 200 [*PE1-Tunnel11] mpls te service-class af2 [*PE1-Tunnel11] quit [*PE1] commit
After completing the preceding configurations, run the display this interface command in the tunnel interface view. In the command output, Line protocol current state is UP, indicating that the MPLS TE tunnel has been established.
Run the display tunnel-info all command in the system view on PE1. The command output shows that two TE tunnels destined for PE2 with the LSR ID of 4.4.4.9 have been established. The command output on PE2 is similar to that on PE1.
<PE1> display tunnel-info all * -> Allocated VC Token Tunnel ID Type Destination Token ---------------------------------------------------------------------- 0xc2060404 cr lsp 4.4.4.9 132100 0xc2060405 cr lsp 4.4.4.9 132101
- Configure MPLS TE explicit paths.
Specify an explicit path for each tunnel with a physical interface on the P as the first next hop and a physical interface on PE2 as the second next hop to ensure that two tunnels are built over different links.
# Configure PE1.
[PE1] explicit-path t1 [*PE1-explicit-path-t1] next hop 10.1.2.2 [*PE1-explicit-path-t1] next hop 10.1.4.2 [*PE1-explicit-path-t1] quit [*PE1] commit [PE1] explicit-path t2 [*PE1-explicit-path-t2] next hop 10.1.3.2 [*PE1-explicit-path-t2] next hop 10.1.5.2 [*PE1-explicit-path-t2] quit [*PE1] commit [PE1] interface Tunnel 10 [*PE1-Tunnel10] mpls te path explicit-path t1 [*PE1-Tunnel10] quit [*PE1] commit [PE1] interface Tunnel 11 [*PE1-Tunnel10] mpls te path explicit-path t2 [*PE1-Tunnel10] quit [*PE1] commit
- Configure a remote LDP session.
Establish a remote LDP session between PE1 and PE2.
# Configure PE1.
[PE1] mpls ldp [*PE1-mpls-ldp] quit [*PE1] mpls ldp remote-peer DTB1 [*PE1-mpls-ldp-remote-DTB1] remote-ip 4.4.4.9 [*PE1-mpls-ldp-remote-DTB1] quit [*PE1] commit
# Configure PE2.
[PE2] mpls ldp [*PE2-mpls-ldp] quit [*PE2] mpls ldp remote-peer DTB2 [*PE2-mpls-ldp-remote-DTB2] remote-ip 1.1.1.9 [*PE2-mpls-ldp-remote-DTB2] quit [*PE2] commit
After completing the preceding configurations, run the display mpls ldp peer command. A remote LDP session has been established between the two PEs.
The following command output uses the display on PE1.
<PE1> display mpls ldp peer LDP Peer Information in Public network An asterisk (*) before a peer means the peer is being deleted. ------------------------------------------------------------------------------ PeerID TransportAddress DiscoverySource ------------------------------------------------------------------------------ 4.4.4.9:0 4.4.4.9 Remote Peer : DTB1 ------------------------------------------------------------------------------ TOTAL: 1 Peer(s) Found.
- Configure a tunnel policy.
# Configure PE1.
[PE1] tunnel-policy p1 [*PE1-tunnel-policy-p1] tunnel select-seq cr-lsp load-balance-number 2 [*PE1-tunnel-policy-p1] quit [*PE1] commit
- Enable MPLS L2VPN on PEs.
# Configure PE1.
[PE1] mpls l2vpn [*PE1-l2vpn] quit [*PE1] commit
# Configure PE2.
[*PE2] mpls l2vpn [*PE2-l2vpn] quit [*PE2] commit
- Create a VSI and bind it to the tunnel policy on PEs.
# Configure PE1.
[PE1] vsi a2 static [*PE1-vsi-a2] pwsignal ldp [*PE1-vsi-a2-ldp] vsi-id 2 [*PE1-vsi-a2-ldp] peer 4.4.4.9 tnl-policy p1 [*PE1-vsi-a2-ldp] quit [*PE1-vsi-a2] quit [*PE1] commit
# Configure PE2.
[PE2] vsi a2 static [*PE2-vsi-a2] pwsignal ldp [*PE2-vsi-a2-ldp] vsi-id 2 [*PE2-vsi-a2-ldp] peer 1.1.1.9 tnl-policy p1 [*PE2-vsi-a2-ldp] quit [*PE2-vsi-a2] quit [*PE2] commit
- Bind the VSI to the interfaces of the PEs.
# Configure PE1.
[PE1] interface gigabitethernet2/0/2.1 [*PE1-GigabitEthernet2/0/2.1] vlan-type dot1q 10 [*PE1-GigabitEthernet2/0/2.1] l2 binding vsi a2 [*PE1-GigabitEthernet2/0/2.1] trust upstream default [*PE1-GigabitEthernet2/0/2.1] trust 8021p [*PE1-GigabitEthernet2/0/2.1] undo shutdown [*PE1-GigabitEthernet2/0/2.1] quit
# Configure PE2.
[PE2] interface gigabitethernet2/0/2.1 [*PE2-GigabitEthernet2/0/2.1] vlan-type dot1q 10 [*PE2-GigabitEthernet2/0/2.1] l2 binding vsi a2 [*PE2-GigabitEthernet2/0/2.1] undo shutdown [*PE2-GigabitEthernet2/0/2.1] quit
# Configure CE1.
[CE1] interface gigabitethernet1/0/0.1 [*CE1-GigabitEthernet1/0/0.1] shutdown [*CE1-GigabitEthernet1/0/0.1] vlan-type dot1q 10 [*CE1-GigabitEthernet1/0/0.1] ip address 10.1.1.1 255.255.255.0 [*CE1-GigabitEthernet1/0/0.1] undo shutdown [*CE1-GigabitEthernet1/0/0.1] quit
# Configure CE2.
[CE2] interface gigabitethernet1/0/0.1 [*CE2-GigabitEthernet1/0/0.1]shutdown [*CE2-GigabitEthernet1/0/0.1] vlan-type dot1q 10 [*CE2-GigabitEthernet1/0/0.1] ip address 10.1.1.2 255.255.255.0 [*CE2-GigabitEthernet1/0/0.1] undo shutdown [*CE2-GigabitEthernet1/0/0.1] quit
- Verify the configuration.
After completing the preceding configurations, run the display vsi name a2 verbose command on PE1. The command output shows that the VSI named a2 has been established over a PW to PE and the PW State is up. The command output also shows that there are two tunnel IDs, which indicates that two tunnels have been established between PE1 and PE2.
<PE1> display vsi name a2 verbose ***VSI Name : a2 Administrator VSI : no Isolate Spoken : disable VSI Index : 0 PW Signaling : ldp Member Discovery Style : static PW MAC Learn Style : unqualify Encapsulation Type : vlan MTU : 1500 ...... VSI ID : 2 *Peer Router ID : 4.4.4.9 VC Label : 162816 Peer Type : dynamic Session : up Tunnel ID : 0xc2060404 0xc2060405 ...... **PW Information: *Peer Ip Address : 4.4.4.9 PW State : up Local VC Label : 162816 Remote VC Label : 162816 PW Type : label Tunnel ID : 0xc2060404 0xc2060405 ......
Configuration Files
PE1 configuration file
# sysname PE1 # mpls lsr-id 1.1.1.9 mpls mpls te mpls rsvp-te mpls te cspf # explicit-path t1 next hop 10.1.2.2 next hop 10.1.4.2 # explicit-path t2 next hop 10.1.3.2 next hop 10.1.5.2 # mpls l2vpn # mpls ldp # ipv4-family # mpls ldp remote-peer DTB1 remote-ip 4.4.4.9 # vsi a2 static pwsignal ldp vsi-id 2 peer 4.4.4.9 tnl-policy p1 # interface GigabitEthernet2/0/2.1 undo shutdown vlan-type dot1q 10 l2 binding vsi a2 trust upstream default trust 8021p # interface GigabitEthernet2/0/1 undo shutdown ip address 10.1.2.1 255.255.255.0 mpls mpls te mpls rsvp-te # interface GigabitEthernet2/0/3 undo shutdown ip address 10.1.3.1 255.255.255.0 mpls mpls te mpls rsvp-te # interface LoopBack1 ip address 1.1.1.9 255.255.255.255 # interface Tunnel10 ip address unnumbered interface LoopBack1 tunnel-protocol mpls te destination 4.4.4.9 mpls te path explicit-path t1 mpls te tunnel-id 100 mpls te service-class af1 # interface Tunnel11 ip address unnumbered interface LoopBack1 tunnel-protocol mpls te destination 4.4.4.9 mpls te path explicit-path t2 mpls te tunnel-id 200 mpls te service-class af2 # # ospf 1 opaque-capability enable area 0.0.0.0 network 1.1.1.9 0.0.0.0 network 10.1.2.0 0.0.0.255 network 10.1.3.0 0.0.0.255 mpls-te enable # tunnel-policy p1 tunnel select-seq cr-lsp load-balance-number 2 # return
P1 configuration file
# sysname P1 # mpls lsr-id 2.2.2.9 mpls mpls te mpls rsvp-te mpls te cspf # interface GigabitEthernet3/0/1 undo shutdown ip address 10.1.2.2 255.255.255.0 mpls mpls te mpls rsvp-te # interface GigabitEthernet4/0/1 undo shutdown ip address 10.1.4.1 255.255.255.0 mpls mpls te mpls rsvp-te # interface LoopBack1 ip address 2.2.2.9 255.255.255.255 # ospf 1 opaque-capability enable area 0.0.0.0 network 2.2.2.9 0.0.0.0 network 10.1.2.0 0.0.0.255 network 10.1.4.0 0.0.0.255 mpls-te enable # return
P2 configuration file
# sysname P2 # mpls lsr-id 3.3.3.9 mpls mpls te mpls rsvp-te mpls te cspf # interface GigabitEthernet3/0/3 undo shutdown ip address 10.1.3.2 255.255.255.0 mpls mpls te mpls rsvp-te # interface GigabitEthernet4/0/0 undo shutdown ip address 10.1.5.1 255.255.255.0 mpls mpls te mpls rsvp-te # interface LoopBack1 ip address 3.3.3.9 255.255.255.255 # ospf 1 opaque-capability enable area 0.0.0.0 network 3.3.3.9 0.0.0.0 network 10.1.3.0 0.0.0.255 network 10.1.5.0 0.0.0.255 mpls-te enable # return
PE2 configuration file
# sysname PE2 # mpls lsr-id 4.4.4.9 mpls mpls te mpls rsvp-te mpls te cspf # mpls l2vpn # vsi a2 static pwsignal ldp vsi-id 2 peer 1.1.1.9 tnl-policy p1 # mpls ldp # ipv4-family # mpls ldp remote-peer DTB2 remote-ip 1.1.1.9 # interface GigabitEthernet2/0/2.1 undo shutdown vlan-type dot1q 10 l2 binding vsi a2 # interface GigabitEthernet5/0/1 undo shutdown ip address 10.1.4.2 255.255.255.0 mpls mpls te mpls rsvp-te # interface GigabitEthernet5/0/0 undo shutdown ip address 10.1.5.2 255.255.255.0 mpls mpls te mpls rsvp-te # interface LoopBack1 ip address 4.4.4.9 255.255.255.255 # ospf 1 opaque-capability enable area 0.0.0.0 network 4.4.4.9 0.0.0.0 network 10.1.4.0 0.0.0.255 network 10.1.5.0 0.0.0.255 mpls-te enable # return
CE1 configuration file
# sysname CE1 # interface GigabitEthernet1/0/0.1 undo shutdown vlan-type dot1q 10 ip address 10.1.1.1 255.255.255.0 # return
CE2 configuration file
# sysname CE2 # interface GigabitEthernet1/0/0.1 undo shutdown vlan-type dot1q 10 ip address 10.1.1.2 255.255.255.0 # return