The public network tunnel of a Martini VLL can be an MPLS TE tunnel.
Networking Requirements
As shown in Figure 1, CE1 and CE2 belong to the same VPN. They access the MPLS backbone network through PE1 and PE2 respectively. OSPF is used as the IGP protocol on the MPLS backbone network.
In this scenario, you need to configure Martini VLL. An MPLS TE tunnel must be established between PE1 and PE2 through the dynamic signaling protocol RSVP-TE to forward the traffic of the VLL. The bandwidth of the tunnel is 20 Mbit/s. The maximum bandwidth of the link that the TE tunnel passes through is 100 Mbit/s, and the maximum reservable bandwidth is 50 Mbit/s.
Figure 1 Networking diagram of configuring Martini L2VPN using MPLS TE tunnels
Configuration Roadmap
The configuration roadmap is as follows:
-
Configure a routing protocol and enable MPLS on related devices (PEs and P) in the backbone network to implement interworking.
-
Establish the MPLS TE tunnel and configure the tunnel policy. For the details of establishing an MPLS TE tunnel, refer to the chapter “MPLS TE Configuration” in the HUAWEI CX600 Metro Services Platform Configuration Guide – MPLS.
-
Enable VLL on the PEs and establish VCs.
Data Preparation
To complete the configuration, you need the following data:
-
OSPF area enabled with TE
-
Name of the tunnel policy
-
Number of tunnels involved in load balancing (if load balancing is not performed, the number of tunnels is 1)
Procedure
- Configure an IP address for each interface and configure OSPF in the backbone network.
The configuration details are not mentioned here.
- Enable MPLS, MPLS TE, MPLS RSVP-TE, and MPLS TE CSPF.
Enable MPLS, MPLS TE, and MPLS RSVP-TE in the system view and the interface view of each node along the tunnel, and enable MPLS TE CSPF in the MPLS view of the ingress of the tunnel.# 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 pos1/0/0
[PE1-Pos1/0/0] mpls
[PE1-Pos1/0/0] mpls te
[PE1-Pos1/0/0] mpls rsvp-te
[PE1-Pos1/0/0] quit
# Configure P.[P] mpls lsr-id 2.2.2.9
[P] mpls
[P-mpls] mpls te
[P-mpls] mpls rsvp-te
[P-mpls] quit
[P] interface pos1/0/0
[P-Pos1/0/0] mpls
[P-Pos1/0/0] mpls te
[P-Pos1/0/0] mpls rsvp-te
[P-Pos1/0/0] quit
[P] interface pos2/0/0
[P-Pos2/0/0] mpls
[P-Pos2/0/0] mpls te
[P-Pos2/0/0] mpls rsvp-te
[P-Pos2/0/0] quit
# Configure PE2.[PE2] mpls lsr-id 3.3.3.9
[PE2] mpls
[PE2-mpls] mpls te
[PE2-mpls] mpls rsvp-te
[PE2-mpls] mpls te cspf
[PE2-mpls] quit
[PE2] interface pos1/0/0
[PE2-Pos1/0/0] mpls
[PE2-Pos1/0/0] mpls te
[PE2-Pos1/0/0] mpls rsvp-te
[PE2-Pos1/0/0] quit
- Configure OSPF TE on the 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 100.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] mpls-te enable
# Configure P.[P] ospf
[P-ospf-1] opaque-capability enable
[P-ospf-1] area 0.0.0.0
[P-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[P-ospf-1-area-0.0.0.0] network 100.1.1.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 100.2.1.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] mpls-te enable
# 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 3.3.3.9 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] network 100.2.1.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] mpls-te enable
- Configure the MPLS TE attributes of the links.
Configure the maximum bandwidth and the maximum reservable bandwidth of the link on the interface of each CX device along the tunnel.# Configure PE1.
[PE1] interface pos 1/0/0
[PE1-Pos1/0/0] mpls te bandwidth max-reservable-bandwidth 100000
[PE1-Pos1/0/0] mpls te bandwidth bc0 50000
[PE1-Pos1/0/0] quit
# Configure P.[P] interface pos 1/0/0
[P-Pos1/0/0] mpls te bandwidth max-reservable-bandwidth 100000
[P-Pos1/0/0] mpls te bandwidth bc0 50000
[P-Pos1/0/0] quit
[P] interface pos 2/0/0
[P-Pos2/0/0] mpls te bandwidth max-reservable-bandwidth 100000
[P-Pos2/0/0] mpls te bandwidth bc0 50000
[P-Pos2/0/0] quit
# Configure PE2.[PE2] interface pos 1/0/0
[PE2-Pos1/0/0] mpls te bandwidth max-reservable-bandwidth 100000
[PE2-Pos1/0/0] mpls te bandwidth bc0 50000
[PE2-Pos1/0/0] quit
- Configure a tunnel interface.
# Create the tunnel interface on the PEs, specify the tunnel protocol as MPLS TE and the signaling protocol as RSVP-TE, and specify the bandwidth.# Configure PE1.
<PE1> system-view
[PE1] interface tunnel 1/0/0
[PE1-Tunnel1/0/0] ip address unnumbered interface loopback1
[PE1-Tunnel1/0/0] tunnel-protocol mpls te
[PE1-Tunnel1/0/0] mpls te signal-protocol rsvp-te
[PE1-Tunnel1/0/0] destination 3.3.3.9
[PE1-Tunnel1/0/0] mpls te tunnel-id 100
[PE1-Tunnel1/0/0] mpls te bandwidth ct0 20000
[PE1-Tunnel1/0/0] mpls te commit
# Configure PE2.<PE2> system-view
[PE2] interface tunnel 1/0/0
[PE2-Tunnel1/0/0] ip address unnumbered interface loopback1
[PE2-Tunnel1/0/0] tunnel-protocol mpls te
[PE2-Tunnel1/0/0] mpls te signal-protocol rsvp-te
[PE2-Tunnel1/0/0] destination 1.1.1.9
[PE2-Tunnel1/0/0] mpls te tunnel-id 101
[PE2-Tunnel1/0/0] mpls te bandwidth ct0 20000
[PE2-Tunnel1/0/0] mpls te commit
After the configuration, run the display this interface command in the tunnel interface view. You can view that the MPLS TE tunnel is established successfully. That is, Line protocol current state displays UP.[PE1-Tunnel1/0/0] display this interface
Tunnel1/0/0 current state : UP
Line protocol current state : UP
Last line protocol up time : 2009-02-23 14:46:57
Description: Tunnel1/0/0 Interface
Route Port,The Maximum Transmit Unit is 1500
Internet Address is unnumbered, using address of LoopBack1(1.1.1.9/32) Encapsulation is TUNNEL, loopback not set
Tunnel destination 3.3.3.9
Tunnel up/down statistics 1
Tunnel protocol/transport MPLS/MPLS, ILM is available,
primary tunnel id is 0x1002002, secondary tunnel id is 0x0
300 seconds output rate 0 bytes/sec, 0 packets/sec
68 seconds output rate 0 bits/sec, 0 packets/sec
22894187 packets output, 2958834536 bytes
0 packets output error
ct0:0 packets output, 0 bytes
0 output error
- Establish LDP sessions.
Establish a remote peer session between PE1 and PE2.# Configure PE1.
[PE1] mpls ldp
[PE1-mpls-ldp] quit
[PE1] mpls ldp remote-peer 3.3.3.9
[PE1-mpls-ldp-remote-3.3.3.9] remote-ip 3.3.3.9
[PE1-mpls-ldp-remote-3.3.3.9] quit
# Configure PE2.[PE2] mpls ldp
[PE2-mpls-ldp] quit
[PE2] mpls ldp remote-peer 1.1.1.9
[PE2-mpls-ldp-remote-1.1.1.9] remote-ip 1.1.1.9
[PE2-mpls-ldp-remote-1.1.1.9] quit
After the configuration, LDP sessions are established between the PEs.Take the display on PE1 as an example:[PE1] display mpls ldp session
LDP Session(s) in Public Network Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDDD:HH:MM) A '*' before a session means the session is being deleted. ------------------------------------------------------------------------------ PeerID Status LAM SsnRole SsnAge KASent/Rcv ------------------------------------------------------------------------------ 3.3.3.9:0 Operational DU Passive 000:00:07 31/31 ------------------------------------------------------------------------------ TOTAL: 1 session(s) Found.
- Configure a tunnel policy and establish VC connections.
# Configure PE1.
[PE1] tunnel-policy policy1
[PE1-tunnel-policy-policy1] tunnel select-seq cr-lsp load-balance-number 1
[PE1-tunnel-policy-policy1] quit
[PE1] mpls l2vpn
[PE1-l2vpn] mpls l2vpn default martini
[PE1-l2vpn] quit
[PE1] interface pos2/0/0
[PE1-Pos2/0/0] mpls l2vc 3.3.3.9 100 tunnel-policy policy1
[PE1-Pos2/0/0] undo shutdown
[PE1-Pos2/0/0] quit
# Configure PE2.[PE2] tunnel-policy policy1
[PE2-tunnel-policy-policy1] tunnel select-seq cr-lsp load-balance-number 1
[PE2-tunnel-policy-policy1] quit
[PE2] mpls l2vpn
[PE2-l2vpn] mpls l2vpn default martini
[PE2-l2vpn] quit
[PE2] interface pos2/0/0
[PE2-Pos2/0/0] mpls l2vc 1.1.1.9 100 tunnel-policy policy1
[PE2-Pos2/0/0] undo shutdown
[PE2-Pos2/0/0] quit
# Configure CE1.<CE1> interface pos1/0/0
[CE1-Pos1/0/0] ip address 10.1.1.1 24
[CE1-Pos1/0/0] undo shutdown
[CE1-Pos1/0/0] quit
# Configure CE2.<CE2> interface pos1/0/0
[CE2-Pos1/0/0] ip address 10.1.1.2 24
[CE2-Pos1/0/0] undo shutdown
[CE2-Pos1/0/0] quit
- Verify the configuration.
Run the display mpls lsp verbose command on PE1. You can view that an MPLS RSVP-TE tunnel is established between 1.1.1.9 and 3.3.3.9. The LSP index of this tunnel is the same as the value in the MPLS forwarding table, which indicates that the local packets to 3.3.3.9 are forwarded through the MPLS TE tunnel.
<PE1> display mpls lsp verbose
----------------------------------------------------------------------
LSP Information: RSVP LSP
----------------------------------------------------------------------
No : 1
SessionID : 100
IngressLsrID : 1.1.1.9
LocalLspID : 1
Tunnel-Interface : Tunnel1/0/0
Fec : 3.3.3.9/32
TunnelTableIndex : 0x0
Nexthop : 100.1.1.2
In-Label : NULL
Out-Label : 13312
In-Interface : ----------
Out-Interface : Pos1/0/0
LspIndex : 4096
Token : 0x1002002
LsrType : Ingress
Mpls-Mtu : 1500
TimeStamp : 396sec
Bfd-State : ---
Run the display mpls te tunnel-interface command on the PEs. You can view detailed information about the tunnel. Take the display on PE1 as an example:<PE1> display mpls te tunnel-interface
Tunnel Name : Tunnel1/0/0 Tunnel State Desc : CR-LSP is Up Tunnel Attributes : Session ID : 100 Ingress LSR ID : 1.1.1.9 Egress LSR ID: 3.3.3.9 Admin State : UP Oper State : UP Signaling Protocol : RSVP Tie-Breaking Policy : None Metric Type : None Car Policy : Disabled Bfd Cap : None BypassBW Flag : Not Supported BypassBW Type : - Bypass BW : - Retry Limit : 5 Retry Int : 2 sec Reopt : Disabled Reopt Freq : - Auto BW : Disabled Current Collected BW: - Auto BW Freq : - Min BW : - Max BW : - Tunnel Group : Primary Interfaces Protected: - Excluded IP Address : - Is On Radix-Tree : Yes Referred LSP Count: 0 Primary Tunnel : - Pri Tunn Sum : - Backup Tunnel : - Group Status : Up Oam Status : Up IPTN InLabel : - BackUp Type : None BestEffort : Disabled Secondary HopLimit : - BestEffort HopLimit : - Secondary Explicit Path Name: - Secondary Affinity Prop/Mask: 0x0/0x0 BestEffort Affinity Prop/Mask: 0x0/0x0 Primary LSP ID : 1.1.1.9:1 Setup Priority : 7 Hold Priority: 7 Affinity Prop/Mask : 0x0/0x0 Resv Style : SE CT0 Bandwidth(Kbit/sec) : 20000 CT1 Bandwidth(Kbit/sec) : 0 CT2 Bandwidth(Kbit/sec) : 0 CT3 Bandwidth(Kbit/sec) : 0 CT4 Bandwidth(Kbit/sec) : 0 CT5 Bandwidth(Kbit/sec) : 0 CT6 Bandwidth(Kbit/sec) : 0 CT7 Bandwidth(Kbit/sec) : 0 Actual Bandwidth(kbps): - Explicit Path Name : - Hop Limit : - Record Route : Disabled Record Label : Disabled Route Pinning : Disabled FRR Flag : Disabled IdleTime Remain : -
CE1 and CE2 can ping through each other.<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=125 ms
Reply from 10.1.1.2: bytes=56 Sequence=2 ttl=255 time=125 ms
Reply from 10.1.1.2: bytes=56 Sequence=3 ttl=255 time=94 ms
Reply from 10.1.1.2: bytes=56 Sequence=4 ttl=255 time=125 ms
Reply from 10.1.1.2: bytes=56 Sequence=5 ttl=255 time=125 ms
--- 10.1.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 94/118/125 ms
Configuration Files
-
Configuration file of CE1
#
sysname CE1
#
interface Pos1/0/0
link-protocol ppp
undo shutdown
ip address 10.1.1.1 255.255.255.0
#
return
-
Configuration file of PE1
#
sysname PE1
#
mpls lsr-id 1.1.1.9
mpls
mpls te
mpls rsvp-te
mpls te cspf
#
mpls l2vpn
mpls l2vpn default martini
#
mpls ldp
#
mpls ldp remote-peer 3.3.3.9
remote-ip 3.3.3.9
#
interface Pos1/0/0
link-protocol ppp
undo shutdown
ip address 100.1.1.1 255.255.255.0
mpls
mpls te
mpls te bandwidth max-reservable-bandwidth 100000
mpls te bandwidth bc0 50000
mpls rsvp-te
#
interface Pos2/0/0
link-protocol ppp
undo shutdown
mpls l2vc 3.3.3.9 100 tunnel-policy policy1
#
interface LoopBack1
ip address 1.1.1.9 255.255.255.255
#
interface Tunnel1/0/0
ip address unnumbered interface LoopBack1
tunnel-protocol mpls te
destination 3.3.3.9
mpls te tunnel-id 100
mpls te bandwidth ct0 20000
mpls te commit
#
ospf 1
opaque-capability enable
area 0.0.0.0
network 1.1.1.9 0.0.0.0
network 100.1.1.0 0.0.0.255
mpls-te enable
#
tunnel-policy policy1
tunnel select-seq cr-lsp load-balance-number 1
#
return
-
Configuration file of P
#
sysname P
#
mpls lsr-id 2.2.2.9
mpls
mpls te
mpls rsvp-te
#
interface Pos1/0/0
link-protocol ppp
undo shutdown
ip address 100.1.1.2 255.255.255.0
mpls
mpls te
mpls te bandwidth max-reservable-bandwidth 100000
mpls te bandwidth bc0 50000
mpls rsvp-te
#
interface Pos2/0/0
link-protocol ppp
undo shutdown
ip address 100.2.1.1 255.255.255.0
mpls
mpls te
mpls te bandwidth max-reservable-bandwidth 100000
mpls te bandwidth bc0 50000
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 100.1.1.0 0.0.0.255
network 100.2.1.0 0.0.0.255
mpls-te enable
#
return
-
Configuration file of PE2
#
sysname PE2
#
mpls lsr-id 3.3.3.9
mpls
mpls te
mpls rsvp-te
mpls te cspf
#
mpls l2vpn
mpls l2vpn default martini
#
mpls ldp
#
mpls ldp remote-peer 1.1.1.9
remote-ip 1.1.1.9
#
interface Pos1/0/0
link-protocol ppp
undo shutdown
ip address 100.2.1.2 255.255.255.0
mpls
mpls te
mpls te bandwidth max-reservable-bandwidth 100000
mpls te bandwidth bc0 50000
mpls rsvp-te
#
interface Pos2/0/0
link-protocol ppp
undo shutdown
mpls l2vc 1.1.1.9 100 tunnel-policy policy1
#
interface LoopBack1
ip address 3.3.3.9 255.255.255.255
#
interface Tunnel1/0/0
ip address unnumbered interface LoopBack1
tunnel-protocol mpls te
destination 1.1.1.9
mpls te tunnel-id 101
mpls te bandwidth ct0 20000
mpls te commit
#
ospf 1
opaque-capability enable
area 0.0.0.0
network 3.3.3.9 0.0.0.0
network 100.2.1.0 0.0.0.255
mpls-te enable
#
tunnel-policy policy1
tunnel select-seq cr-lsp load-balance-number 1
#
return
-
Configuration file of CE2
#
sysname CE2
#
interface Pos1/0/0
link-protocol ppp
undo shutdown
ip address 10.1.1.2 255.255.255.0
#
return
(Visited 2,338 times, 1 visits today)
#
Is it possible to do this lab on eNSP?
if so, which are the devices compatible with MPLS TE? Tried with S5700 and had no luck.