HP MSR2000, MSR2003, MSR3044, MSR3064, MSR3012 MPLS Configuration Guide(V7)

...
HP MSR Router Series
MPLS
onfiguration Guide(V7)
C
Part number: 5998-5680
Software version: CMW710-R0106
Legal and notice information
© Copyright 2014 Hewlett-Packard Development Company, L.P.
No part of this documentation may be reproduced or transmitted in any form or by any means without prior written consent of Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.
HEWLETT-PACKARD COMPANY MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Hewlett-Packard shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance, or use of this material.
The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.

Contents

Configuring basic MPLS ·············································································································································· 1
Overview ············································································································································································ 1
Basic concepts ·························································································································································· 1 MPLS network architecture ······································································································································ 2 LSP establishment ······················································································································································ 3 MPLS forwarding ······················································································································································ 4 PHP ············································································································································································· 4
Protocols and standards ·········································································································································· 5 MPLS configuration task list ·············································································································································· 5 Enabling MPLS ··································································································································································· 5 Configuring MPLS MTU ···················································································································································· 6 Specifying the label type advertised by the egress ······································································································· 7 Configuring TTL propagation ··········································································································································· 7 Enabling sending of MPLS TTL-expired messages ········································································································· 9 Enabling MPLS forwarding statistics ······························································································································· 9
Enabling FTN forwarding statistics ························································································································· 9
Enabling MPLS label forwarding statistics ·········································································································· 10 Enabling SNMP notifications for MPLS ························································································································ 10 Displaying and maintaining MPLS ······························································································································· 10
Configuring a static LSP ············································································································································· 12
Overview ········································································································································································· 12 Configuration prerequisites ··········································································································································· 12 Configuration procedure ··············································································································································· 12 Displaying static LSPs ····················································································································································· 13 Static LSP configuration example ································································································································· 13
Configuring LDP ························································································································································· 16
Overview ········································································································································································· 16
Terminology ··························································································································································· 16
LDP messages ························································································································································· 16
LDP operation ························································································································································· 17
Label distribution and control ······························································································································· 18
LDP GR ···································································································································································· 20
LDP NSR ································································································································································· 21
LDP-IGP synchronization ······································································································································· 22
LDP FRR ··································································································································································· 23
Protocols ································································································································································· 23 LDP configuration task list ·············································································································································· 23 Enabling LDP ··································································································································································· 24
Enabling LDP globally ··········································································································································· 24
Enabling LDP on an interface ······························································································································· 25 Configuring Hello parameters ······································································································································ 25 Configuring LDP session parameters ···························································································································· 26 Configuring LDP backoff ··············································································································································· 27 Configuring LDP MD5 authentication ·························································································································· 27 Configuring LDP to redistribute BGP IPv4 unicast routes ··························································································· 28 Configuring an LSP generation policy ························································································································· 28 Configuring the LDP label distribution control mode ·································································································· 29 Configuring a label advertisement policy ··················································································································· 29
i
Configuring a label acceptance policy ······················································································································· 30 Configuring LDP loop detection ···································································································································· 31 Configuring LDP session protection ······························································································································ 32 Configuring LDP GR ······················································································································································· 33 Configuring LDP NSR ····················································································································································· 33 Configuring LDP-IGP synchronization ·························································································································· 33
Configuring LDP-OSPF synchronization ·············································································································· 33
Configuring LDP-ISIS synchronization ················································································································· 35 Configuring LDP FRR ······················································································································································ 35 Specifying a DSCP value for outgoing LDP packets ··································································································· 36 Resetting LDP sessions ···················································································································································· 36 Enabling SNMP notifications for LDP ··························································································································· 36 Displaying and maintaining LDP ·································································································································· 36 LDP configuration examples ·········································································································································· 37
LDP LSP configuration example ···························································································································· 37
Label acceptance control configuration example ······························································································ 41
Label advertisement control configuration example ·························································································· 45
LDP FRR configuration example ··························································································································· 51
Configuring MPLS TE ················································································································································· 54
Overview ········································································································································································· 54
TE and MPLS TE ····················································································································································· 54
MPLS TE basic concepts········································································································································ 54
Static CRLSP establishment ··································································································································· 54
Dynamic CRLSP establishment ····························································································································· 54
Traffic forwarding ·················································································································································· 56
Make-before-break ················································································································································ 57
Route pinning ························································································································································· 58
Tunnel reoptimization ············································································································································ 58
Automatic bandwidth adjustment ························································································································ 59
CRLSP backup ························································································································································ 59
FRR ·········································································································································································· 59
DiffServ-aware TE ·················································································································································· 60
Bidirectional MPLS TE tunnel ································································································································ 62
Protocols and standards ······································································································································· 63 MPLS TE configuration task list ····································································································································· 63 Enabling MPLS TE ·························································································································································· 64 Configuring a tunnel interface ······································································································································ 65 Configuring DS-TE ·························································································································································· 65 Configuring an MPLS TE tunnel to use a static CRLSP ································································································ 66 Configuring an MPLS TE tunnel to use a dynamic CRLSP ·························································································· 66
Configuration task list ··········································································································································· 67
Configuring MPLS TE attributes for a link ··········································································································· 67
Advertising link TE attributes by using IGP TE extension ··················································································· 68
Configuring MPLS TE tunnel constraints ·············································································································· 69
Establishing an MPLS TE tunnel by using RSVP-TE ····························································································· 71
Controlling CRLSP path selection ························································································································· 71
Controlling MPLS TE tunnel setup ························································································································ 74 Configuring load sharing for an MPLS TE tunnel········································································································ 76 Configuring traffic forwarding ······································································································································ 77
Configuring static routing to direct traffic to an MPLS TE tunnel or tunnel bundle ········································· 77
Configuring PBR to direct traffic to an MPLS TE tunnel or tunnel bundle························································· 78
Configuring automatic route advertisement to direct traffic to an MPLS TE tunnel or tunnel bundle ············ 78 Configuring a bidirectional MPLS TE tunnel ················································································································ 80 Configuring CRLSP backup ··········································································································································· 81
ii
Configuring MPLS TE FRR ·············································································································································· 81
Enabling FRR ·························································································································································· 81
Configuring a bypass tunnel on the PLR ············································································································· 82
Configuring node fault detection ························································································································· 85
Configuring the optimal bypass tunnel selection interval ·················································································· 86 Enabling SNMP notifications for MPLS TE ··················································································································· 86 Displaying and maintaining MPLS TE ·························································································································· 87 MPLS TE configuration examples ·································································································································· 87
Establishing an MPLS TE tunnel over a static CRLSP ·························································································· 87
Establishing an MPLS TE tunnel with RSVP-TE ···································································································· 92
Establishing an inter-AS MPLS TE tunnel with RSVP-TE ······················································································ 98
Bidirectional MPLS TE tunnel configuration example······················································································· 105
CRLSP backup configuration example ·············································································································· 111
Manual bypass tunnel for FRR configuration example ···················································································· 115
Auto FRR configuration example ······················································································································· 121
IETF DS-TE configuration example ····················································································································· 127 Troubleshooting MPLS TE ············································································································································ 134
No TE LSA generated ········································································································································· 134
Configuring a static CRLSP ····································································································································· 136
Overview ······································································································································································· 136 Configuration procedure ············································································································································· 136 Displaying static CRLSPs ·············································································································································· 137 Static CRLSP configuration example ·························································································································· 137
Configuring RSVP ···················································································································································· 143
Overview ······································································································································································· 143
RSVP messages ···················································································································································· 143
CRLSP setup procedure ······································································································································· 144
RSVP refresh mechanism ····································································································································· 144
RSVP authentication ············································································································································ 145
RSVP GR ······························································································································································· 145
Protocols and standards ····································································································································· 146 RSVP configuration task list ········································································································································· 146 Enabling RSVP ······························································································································································ 146 Configuring RSVP refresh ············································································································································ 147 Configuring RSVP Srefresh and reliable RSVP message delivery ··········································································· 147 Configuring RSVP hello extension ······························································································································ 147 Configuring RSVP authentication ································································································································ 148 Specifying a DSCP value for outgoing RSVP packets ······························································································ 150 Configuring RSVP GR ·················································································································································· 150 Enabling BFD for RSVP ················································································································································ 151 Displaying and maintaining RSVP ······························································································································ 151 RSVP configuration examples ····································································································································· 152
Establishing an MPLS TE tunnel with RSVP-TE ·································································································· 152
RSVP GR configuration example ······················································································································· 157
Configuring tunnel policies ····································································································································· 160
Overview ······································································································································································· 160 Configuring a tunnel policy ········································································································································ 160
Configuration guidelines ···································································································································· 160
Configuration procedure ···································································································································· 161 Displaying tunnel information ····································································································································· 162 Tunnel policy configuration examples ······················································································································· 162
Preferred tunnel configuration example ············································································································ 162
Exclusive tunnel configuration example ············································································································ 162
iii
Tunnel selection order configuration example ································································································· 163
Preferred tunnel and tunnel selection order configuration example ······························································ 164
Configuring MPLS L3VPN ······································································································································· 166
Overview ······································································································································································· 166
Basic MPLS L3VPN architecture ························································································································· 166
MPLS L3VPN concepts ········································································································································ 167
MPLS L3VPN route advertisement ······················································································································ 168
MPLS L3VPN packet forwarding ························································································································ 169
MPLS L3VPN networking schemes ····················································································································· 170
Inter-AS VPN ························································································································································ 172
Carrier's carrier ··················································································································································· 176
Nested VPN ························································································································································· 178
HoVPN ·································································································································································· 179
OSPF VPN extension ··········································································································································· 181
BGP AS number substitution and SoO attribute ······························································································· 183
MPLS L3VPN FRR ················································································································································· 184
Multi-VPN instance CE ········································································································································ 186
Protocols and standards ····································································································································· 187 MPLS L3VPN configuration task list ···························································································································· 188 Configuring basic MPLS L3VPN ································································································································· 188
Configuration prerequisites ································································································································ 188
Configuring VPN instances ································································································································ 188
Configuring routing between a PE and a CE ··································································································· 190
Configuring routing between PEs ······················································································································ 196
Configuring BGP VPNv4 route control ············································································································· 196 Configuring inter-AS VPN ··········································································································································· 198
Configuring inter-AS option A ···························································································································· 198
Configuring inter-AS option B ···························································································································· 199
Configuring inter-AS option C···························································································································· 200 Configuring nested VPN ·············································································································································· 203 Configuring HoVPN ····················································································································································· 204 Configuring an OSPF sham link ································································································································· 205
Configuring a loopback interface ····················································································································· 205
Redistributing the loopback interface route ······································································································ 206
Creating a sham link ··········································································································································· 206 Configuring routing on an MCE ································································································································· 206
Configuring routing between an MCE and a VPN site ··················································································· 207
Configuring routing between an MCE and a PE ····························································································· 212 Specifying the VPN label processing mode on the egress PE ················································································· 215 Configuring BGP AS number substitution and SoO attribute ·················································································· 216 Enabling SNMP notifications for MPLS L3VPN ········································································································· 216 Configuring MPLS L3VPN FRR ···································································································································· 217 Displaying and maintaining MPLS L3VPN ················································································································ 219 MPLS L3VPN configuration examples ························································································································ 221
Configuring basic MPLS L3VPN ························································································································ 221
Configuring MPLS L3VPN over a GRE tunnel··································································································· 228
Configuring a hub-spoke network ····················································································································· 233
Configuring MPLS L3VPN inter-AS option A ···································································································· 239
Configuring MPLS L3VPN inter-AS option B ····································································································· 244
Configuring MPLS L3VPN inter-AS option C ···································································································· 249
Configuring MPLS L3VPN carrier's carrier ······································································································· 256
Configuring nested VPN ····································································································································· 263
Configuring HoVPN ············································································································································ 273
Configuring an OSPF sham link ························································································································ 280
iv
Configuring MCE ················································································································································ 284
Configuring BGP AS number substitution ········································································································· 290
Configuring BGP AS number substitution and SoO attribute ········································································· 293
Configuring MPLS L3VPN FRR through VPNv4 route backup for a VPNv4 route ········································ 296
Configuring MPLS L3VPN FRR through VPNv4 route backup for an IPv4 route ··········································· 298
Configuring MPLS L3VPN FRR through IPv4 route backup for a VPNv4 route ············································· 300
Configuring IPv6 MPLS L3VPN ······························································································································ 303
Overview ······································································································································································· 303
IPv6 MPLS L3VPN packet forwarding ··············································································································· 304
IPv6 MPLS L3VPN routing information advertisement ····················································································· 304
IPv6 MPLS L3VPN network schemes and functions ·························································································· 305
Protocols and standards ····································································································································· 305 IPv6 MPLS L3VPN configuration task list ··················································································································· 305 Configuring basic IPv6 MPLS L3VPN ························································································································· 305
Configuring VPN instances ································································································································ 306
Configuring routing between a PE and a CE ··································································································· 308
Configuring routing between PEs ······················································································································ 313
Configuring BGP VPNv6 route control ············································································································· 313 Configuring inter-AS IPv6 VPN ··································································································································· 314
Configuring inter-AS IPv6 VPN option A ·········································································································· 315
Configuring inter-AS IPv6 VPN option C ·········································································································· 315 Configuring routing on an MCE ································································································································· 316
Configuring routing between an MCE and a VPN site ··················································································· 316
Configuring routing between an MCE and a PE ····························································································· 321 Configuring BGP AS number substitution and SoO attribute ·················································································· 325 Displaying and maintaining IPv6 MPLS L3VPN ········································································································ 325 IPv6 MPLS L3VPN configuration examples ··············································································································· 327
Configuring IPv6 MPLS L3VPNs ························································································································· 327
Configuring an IPv6 MPLS L3VPN over a GRE tunnel ···················································································· 334
Configuring IPv6 MPLS L3VPN inter-AS option A ···························································································· 338
Configuring IPv6 MPLS L3VPN inter-AS option C ···························································································· 343
Configuring IPv6 MPLS L3VPN carrier's carrier ······························································································· 350
Configuring IPv6 MCE ········································································································································ 358
Configuring BGP AS number substitution ········································································································· 363
Configuring BGP AS number substitution and SoO attribute ········································································· 368
Configuring MPLS L2VPN ······································································································································· 371
Overview ······································································································································································· 371
Basic concepts of MPLS L2VPN ························································································································· 371
MPLS L2VPN network models ···························································································································· 372
Remote connection establishment ······················································································································ 373
Local connection establishment ·························································································································· 374
PW types ······························································································································································ 374
Control word ························································································································································ 376
MPLS L2VPN interworking ·································································································································· 377
PW redundancy ··················································································································································· 377
Multi-segment PW ················································································································································ 378
VCCV ···································································································································································· 380 MPLS L2VPN configuration task list ···························································································································· 380 Enabling L2VPN ··························································································································································· 381 Configuring an AC ······················································································································································ 381
Configuring the interface with Ethernet or VLAN encapsulation ···································································· 381
Configuring the interface with PPP encapsulation ··························································································· 382
Configuring the interface with HDLC encapsulation························································································ 382
v
Configuring a cross-connect ······································································································································· 382 Configuring a PW ························································································································································ 383
Configuring a PW class ······································································································································ 383
Configuring a static PW ····································································································································· 383
Configuring an LDP PW ······································································································································ 384
Configuring a BGP PW ······································································································································ 384
Configuring a remote CCC connection ············································································································ 386 Binding an AC to a cross-connect ······························································································································ 387 Configuring PW redundancy ······································································································································ 388
Configuring static PW redundancy ··················································································································· 388
Configuring LDP PW redundancy ······················································································································ 388 Configuring interworking for a cross-connect ··········································································································· 389 Displaying and maintaining MPLS L2VPN ················································································································ 390 MPLS L2VPN configuration examples ························································································································ 391
Configuring local MPLS L2VPN connections ···································································································· 391
Configuring IP interworking over local MPLS L2VPN connections ································································· 392
Configuring a static PW ····································································································································· 393
Configuring an LDP PW ······································································································································ 397
Configuring IP interworking over an LDP PW ·································································································· 401
Configuring a BGP PW ······································································································································ 405
Configuring a remote CCC connection ············································································································ 408
Configuring an intra-domain multi-segment PW ······························································································ 412
Configuring an inter-domain multi-segment PW ······························································································ 415
Configuring MPLS OAM ········································································································································· 422
Overview ······································································································································································· 422
MPLS ping ···························································································································································· 422
MPLS traceroute ··················································································································································· 422
Periodic MPLS traceroute ···································································································································· 422
MPLS BFD ····························································································································································· 423 Protocols and standards ·············································································································································· 423 Configuring MPLS OAM for LSP tunnels ···················································································································· 423
Configuring MPLS ping for LSPs ························································································································ 424
Configuring MPLS traceroute for LSPs ··············································································································· 424
Configuring periodic MPLS traceroute for LSPs ································································································ 424
Configuring MPLS BFD for LSPs ························································································································· 424 Configuring MPLS OAM for MPLS TE tunnels ··········································································································· 425
Configuring MPLS ping for MPLS TE tunnels ···································································································· 425
Configuring MPLS traceroute for MPLS TE tunnels ··························································································· 425
Configuring MPLS BFD for MPLS TE tunnels ····································································································· 426 Configuring MPLS OAM for a PW ····························································································································· 426
Configuring MPLS ping for a PW ······················································································································ 427
Configuring BFD for a PW ································································································································· 427 Displaying MPLS OAM ················································································································································ 429 BFD for LSP configuration example ···························································································································· 429
Configuring MPLS protection switching ················································································································· 432
Overview ······································································································································································· 432
Protection switching triggering modes ·············································································································· 432
Protection switching modes ································································································································ 433
Path switching modes·········································································································································· 433 Protocols and standards ·············································································································································· 433 MPLS protection switching configuration task list ····································································································· 434 Enabling MPLS protection switching ·························································································································· 434 Creating a protection group ······································································································································· 435
vi
Configuring PS attributes for the protection group ··································································································· 436 Configuring command switching for the protection group ······················································································ 437 Configuring the PSC message sending interval ········································································································ 437 Displaying and maintaining MPLS protection switching ·························································································· 437 MPLS protection switching configuration example ··································································································· 438
Support and other resources ·································································································································· 442
Contacting HP ······························································································································································ 442
Subscription service ············································································································································ 442 Related information ······················································································································································ 442
Documents ···························································································································································· 442
Websites ······························································································································································· 442 Conventions ·································································································································································· 443
vii

Configuring basic MPLS

In this chapter, "MSR2000" refers to MSR2003. "MSR3000" collectively refers to MSR3012, MSR3024, MSR3044, MSR3064. "MSR4000" collectively refers to MSR4060 and MSR4080.

Overview

Multiprotocol Label Switching (MPLS) provides connection-oriented label switching over connectionless IP backbone networks. It integrates both the flexibility of IP routing and the simplicity of Layer 2 switching.
MPLS has the following advantages:
High speed and efficiency—MPLS uses short- and fixed-length labels to forward packets, avoiding
complicated routing table lookups.
Multiprotocol support—MPLS resides between the link layer and the network layer. It can work over
various link layer protocols (for example, PPP, ATM, frame relay, and Ethernet) to provide connection-oriented services for various network layer protocols (for example, IPv4, IPv6, and IPX).
Good scalability—The connection-oriented switching and multilayer label stack features enable
MPLS to deliver various extended services, such as VPN, traffic engineering, and QoS.

Basic concepts

FEC
MPLS groups packets with the same characteristics (such as packets with the same destination or service class) into a forwarding equivalence class (FEC). Packets of the same FEC are handled in the same way on an MPLS network.
Label
A label uniquely identifies an FEC and has local significance.
Figure 1 Format of a label
A label is encapsulated between the Layer 2 header and Layer 3 header of a packet. It is four bytes long and consists of the following fields:
Label—20-bit label value.
TC—3-bit traffic class, used for QoS. It is also called Exp.
S—1-bit bottom of stack flag. A label stack can contain multiple labels. The label nearest to the
Layer 2 header is called the top label, and the label nearest to the Layer 3 header is called the bottom label. The S field is set to 1 if the label is the bottom label and set to 0 if not.
TTL—8-bit time to live field used for routing loop prevention.
1
LSR
LSP
LFIB
A router that performs MPLS forwarding is a label switching router (LSR).
A label switched path (LSP) is the path along which packets of an FEC travel through an MPLS network.
An LSP is a unidirectional packet forwarding path. Two neighboring LSRs are called the upstream LSR and downstream LSR along the direction of an LSP. In Figure 2,
R A is the upstream LSR of LSR B.
LS
Figure 2 Label switched path
The Label Forwarding Information Base (LFIB) on an MPLS network functions like the Forwarding Information Base (FIB) on an IP network. When an LSR receives a labeled packet, it searches the LFIB to obtain information for forwarding the packet, such as the label operation type, the outgoing label value, and the next hop.
LSR B is the downstream LSR of LSR A, and
Control plane and forwarding plane
An MPLS node consists of a control plane and a forwarding plane.
Control plane—Assigns labels, distributes FEC-label mappings to neighbor LSRs, creates the LFIB,
and establishes and removes LSPs.
Forwarding plane—Forwards packets according to the LFIB.

MPLS network architecture

Figure 3 MPLS network architecture
An MPLS network has the following types of LSRs:
2
Ingress LSR—Ingress LSR of packets. It labels packets entering into the MPLS network.
Transit LSR—Intermediate LSRs in the MPLS network. The transit LSRs on an LSP forward packets to
the egress LSR according to labels.
Egress LSR—Egress LSR of packets. It removes labels from packets and forwards the packets to their
destination networks.

LSP establishment

LSPs include static and dynamic LSPs.
Static LSP—To establish a static LSP, you must configure an LFIB entry on each LSR along the LSP.
Establishing static LSPs consumes fewer resources than establishing dynamic LSPs, but static LSPs cannot automatically adapt to network topology changes. Therefore, static LSPs are suitable for small-scale networks with simple, stable topologies.
Dynamic LSP—Established by a label distribution protocol (also called an MPLS signaling protocol).
A label distribution protocol classifies FECs, distributes FEC-label mappings, and establishes and maintains LSPs. Label distribution protocols include protocols designed specifically for label distribution, such as the Label Distribution Protocol (LDP), and protocols extended to support label distribution, such as MP-BGP and RSVP-TE.
In this document, the term "label distribution protocols" refers to all protocols for label distribution. The term "LDP" refers to the RFC 5036 LDP.
A dynamic LSP is established in the following steps:
1. A downstream LSR classifies FECs according to destination addresses.
2. The downstream LSR assigns a label for each FEC, and distributes the FEC-label binding to its
upstream LSR.
3. The upstream LSR establishes an LFIB entry for the FEC according to the binding information.
After all LSRs along the LSP establish an LFIB entry for the FEC, a dynamic LSP is established for the packets of this FEC.
Figure 4 Dynamic LSP establishment
3

MPLS forwarding

Figure 5 MPLS forwarding
As shown in Figure 5, a packet is forwarded over the MPLS network as follows:
1. Router B (the ingress LSR) receives a packet with no label. It then does the following: a. Identifies the FIB entry that matches the destination address of the packet. b. Adds the outgoing label (40, in this example) to the packet. c. Forwards the labeled packet out of the interface GigabitEthernet 2/1/2 to the next hop LSR
Router C.
2. When receiving the labeled packet, Router C processes the packet as follows: a. Identifies the LFIB entry that has an incoming label of 40. b. Uses the outgoing label 50 of the entry to replace label 40 in the packet. c. Forwards the labeled packet out of the outgoing interface GigabitEthernet 2/1/2 to the next
hop LSR Router D.
3. When receiving the labeled packet, Router D (the egress) processes the packet as follows: a. Identifies the LFIB entry that has an incoming label of 50. b. Removes the label from the packet. c. Forwards the packet out of the outgoing interface GigabitEthernet 2/1/2 to the next hop LSR
Router E.
If the LFIB entry records no outgoing interface or next hop information, Router D does the following:
d. Identifies the FIB entry by the IP header. e. Forwards the packet according to the FIB entry.
PHP
An egress node must perform two forwarding table lookups to forward a packet:
Two LFIB lookups (if the packet has more than one label).
4
One LFIB lookup and one FIB lookup (if the packet has only one label).
The penultimate hop popping (PHP) feature can pop the label at the penultimate node, so the egress node only performs one table lookup.
A PHP-capable egress node sends the penultimate node an implicit null label of 3. This label never appears in the label stack of packets. If an incoming packet matches an LFIB entry comprising the implicit null label, the penultimate node pops the top label of the packet and forwards the packet to the egress LSR. The egress LSR directly forwards the packet.
Sometimes, the egress node must use the TC field in the label to perform QoS. To keep the TC information, you can configure the egress node to send the penultimate node an explicit null label of 0. If an incoming packet matches an LFIB entry comprising the explicit null label, the penultimate hop replaces the value of the top label with value 0, and forwards the packet to the egress node. The egress node gets the TC information, pops the label of the packet, and forwards the packet.

Protocols and standards

RFC 3031, Multiprotocol Label Switching Architecture
RFC 3032, MPLS Label Stack Encoding
RFC 5462, Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic
Class" Field

MPLS configuration task list

Tasks at a glance
(Required.) Enabling MPLS
(Optional.) Configuring MPLS MTU
(Optional.) Specifying the label type advertised by the egress
(Optional.) Configuring TTL propagation
(Optional.) Enabling sending of MPLS TTL-expired messages
(Optional.) Enabling MPLS forwarding statistics
(Optional.) Enabling SNMP notifications for MPLS

Enabling MPLS

You must enable MPLS on all interfaces related to MPLS forwarding.
Before you enable MPLS, complete the following tasks:
Configure link layer protocols to ensure connectivity at the link layer.
Configure IP addresses for interfaces to ensure IP connectivity between neighboring nodes.
Configure static routes or an IGP protocol to ensure IP connectivity among LSRs.To enable MPLS:
Step Command
1. Enter system view.
system-view
5
Remarks
N/A
Step Command
2. Configure an LSR ID for the local
node.
3. Enter the view of the interface that
needs to perform MPLS forwarding.
mpls lsr-id lsr-id
interface interface-type
interface-number
Remarks
By default, no LSR ID is configured.
An LSR ID must be unique in an MPLS network and in IP address format. HP recommends that you use the IP address of a loopback interface as an LSR ID.
N/A
4. Enable MPLS on the interface.
mpls enable

Configuring MPLS MTU

MPLS adds the label stack between the link layer header and network layer header of each packet. To make sure the size of MPLS labeled packets is smaller than the MTU of an interface, configure an MPLS MTU on the interface.
MPLS compares each MPLS packet against the interface MPLS MTU. When the packet exceeds the MPLS MTU:
If fragmentation is allowed, MPLS does the following:
a. Removes the label stack from the packet. b. Fragments the IP packet. The length of a fragment is the MPLS MTU minus the length of the label
stack.
c. Adds the label stack to each fragment, and forwards the fragments.
If fragmentation is not allowed, the LSR drops the packet.
To configure an MPLS MTU for an interface:
Step Command
5. Enter system view.
system-view N/A
By default, MPLS is disabled on the interface.
Remarks
6. Enter interface view.
7. Configure an MPLS MTU for
the interface.
interface interface-type interface-number
mpls mtu value
N/A
By default, no MPLS MTU is configured on an interface.
The following applies when an interface handles MPLS packets:
MPLS packets carrying L2VPN or IPv6 packets are always forwarded by an interface, even if the
length of the MPLS packets exceeds the MPLS MTU of the interface. Whether the forwarding can succeed depends on the actual forwarding capacity of the interface.
If the MPLS MTU of an interface is greater than the MTU of the interface, data forwarding might fail
on the interface.
If you do not configure the MPLS MTU of an interface, fragmentation of MPLS packets is based on
the MTU of the interface without considering MPLS labels. An MPLS fragment might be larger than the interface MTU and be dropped.
6

Specifying the label type advertised by the egress

In an MPLS network, an egress can advertise the following types of labels:
Implicit null label with a value of 3.
Explicit null label with a value of 0.
Non-null label.
For LSPs established by a label distribution protocol, the label advertised by the egress determines how the penultimate hop processes a labeled packet.
If the egress advertises an implicit null label, the penultimate hop directly pops the top label of a
matching packet.
If the egress advertises an explicit null label, the penultimate hop swaps the top label value of a
matching packet with the explicit null label.
If the egress advertises a non-null label (normal label), the penultimate hop swaps the top label of
a matching packet with the specific label assigned by the egress.

Configuration guidelines

If the penultimate hop supports PHP, HP recommends that you configure the egress to advertise an implicit null label to the penultimate hop. If you want to simplify packet forwarding on the egress but keep labels to determine QoS policies, configure the egress to advertise an explicit null label to the penultimate hop. HP recommends using non-null labels only in particular scenarios. For example, when OAM is configured on the egress, the egress can get the OAM function entity status only through non-null labels.
As a penultimate hop, the device accepts the implicit null label, explicit null label, or normal label advertised by the egress device.
For LDP LSPs, the mpls label advertise command triggers LDP to delete the LSPs established before the command is executed and reestablishes new LSPs.
For BGP LSPs, the mpls label advertise command takes effect only on the BGP LSPs established after the command is executed. To apply the new setting to BGP LSPs established before the command is executed, delete the routes corresponding to the BGP LSPs, and then redistribute the routes.

Configuration procedure

To specify the type of label that the egress node will advertise to the penultimate hop:
Step Command
1. Enter system view.
2. Specify the label type
advertised by the egress to the penultimate hop.
system-view N/A
mpls label advertise { explicit-null
| implicit-null | non-null }

Configuring TTL propagation

When TTL propagation is enabled, the ingress node copies the TTL value of an IP packet to the TTL field of the label. Each LSR on the LSP decreases the label TTL value by 1. The LSR that pops the label copies the remaining label TTL value back to the IP TTL of the packet, so the IP TTL value can reflect how many
Remarks
By default, an egress advertises an implicit null label to the penultimate hop.
7
hops the packet has traversed in the MPLS network. The IP tracert facility can show the real path along which the packet has traveled.
Figure 6 TTL propagation
When TTL propagation is disabled, the ingress node sets the label TTL to 255. Each LSR on the LSP decreases the label TTL value by 1. The LSR that pops the label does not change the IP TTL value when popping the label. Therefore, the MPLS backbone nodes are invisible to user networks, and the IP tracert facility cannot show the real path in the MPLS network.
Figure 7 Without TTL propagation
Follow these guidelines when you configure TTL propagation:
HP recommends setting the same TTL processing mode on all LSRs of an LSP.
To enable TTL propagation for a VPN, you must enable it on all PE devices in the VPN, so that you
can get the same traceroute result (hop count) from those PEs.
To enable TTL propagation:
Step Command
1. Enter system view.
system-view N/A
Remarks
8
Step Command
2. Enable TTL propagation.
mpls ttl propagate { public | vpn }
Remarks
By default, TTL propagation is enabled only for public-network packets.
This command affects only the propagation between IP TTL and label TTL. Within an MPLS network, TTL is always copied between the labels of an MPLS packet.

Enabling sending of MPLS TTL-expired messages

This feature enables an LSR to generate an ICMP TTL-expired message upon receiving an MPLS packet with a TTL of 1. If the MPLS packet has only one label, the LSR sends the ICMP TTL-expired message back to the source through IP routing. If the MPLS packet has multiple labels, the LSR sends it along the LSP to the egress, which then sends the message back to the source.
To enable sending of MPLS TTL-expired messages:
Step Command
1. Enter system view.
2. Enable sending of MPLS TTL-expired
messages.
system-view N/A
mpls ttl expiration enable By default, this function is enabled.

Enabling MPLS forwarding statistics

Enabling FTN forwarding statistics

FEC-to-NHLFE map (FTN) entries are FIB entries that contain outgoing labels used for FTN forwarding. When an LSR receives an unlabeled packet, it searches for the corresponding FTN entry based on the destination IP address. If a match is found, the LSR adds the outgoing label in the FTN entry to the packet and forwards the labeled packet.
To enable FTN forwarding statistics:
Step Command
1. Enter system view.
2. Enter RIB view.
3. Create a RIB IPv4 address
family and enter RIB IPv4 address family view.
system-view N/A
rib
address-family ipv4
Remarks
Remarks
N/A
By default, no RIB IPv4 address family is created.
4. Enable the device to maintain
FTN entries in the RIB.
5. Enable FTN forwarding
statistics for a destination network.
ftn enable
mpls-forwarding statistics prefix-list prefix-list-name
9
By default, the device does not maintain FTN entries in the RIB.
By default, FTN forwarding statistics is disabled for all destination networks.

Enabling MPLS label forwarding statistics

MPLS label forwarding forwards a labeled packet based on its incoming label.
Perform this task to enable MPLS label forwarding statistics and MPLS statistics reading, so that you can use the display mpls lsp verbose command to view MPLS label statistics.
To enable MPLS label forwarding statistics:
Step Command
1. Enter system view.
2. Enable MPLS label
forwarding statistics for specific LSPs.
3. Enable MPLS label statistics
reading, and specify the reading interval.
system-view N/A
mpls statistics { all | [ vpn-instance
vpn-instance-name ] { ipv4 ipv4-destination mask-length | ipv6 ipv6-destination prefix-length } | static
| te ingress-lsr-id tunnel-id }
mpls statistics interval interval
Remarks
By default, MPLS label forwarding statistics are disabled for all LSPs.
By default, MPLS label statistics reading is disabled.

Enabling SNMP notifications for MPLS

This feature enables MPLS to generate SNMP notifications. The generated SNMP notifications are sent to the SNMP module.
For more information about SNMP notifications, see Network Management and Monitoring Configuration Guide.
To enable SNMP notifications for MPLS:
Step Command
1. Enter system view.
system-view N/A
Remarks
2. Enable SNMP notifications
for MPLS.
snmp-agent trap enable mpls

Displaying and maintaining MPLS

Execute display commands in any view and reset commands in user view.
Task Command
Display MPLS interface information. display mpls interface [ interface-type interface-number ]
Display usage information for MPLS labels.
Display LSP information.
display mpls label { label-value1 [ to label-value2 ] | all }
display mpls lsp [ egress | in-label label-value | ingress | outgoing-interface interface-type interface-number | protocol { bgp
| ldp | local | rsvp-te | static | static-cr } | transit ] [ vpn-instance vpn-instance-name ] [ ipv4-dest mask-length | ipv6 [ ipv6-dest prefix-length ] ] [ verbose ]
10
By default, SNMP notifications for MPLS are enabled.
Task Command
Display MPLS Nexthop Information Base (NIB) information.
display mpls nib [ nib-id ]
Display usage information about NIDs. display mpls nid [ nid-value1 [ to nid-value2 ] ]
Display LSP statistics. display mpls lsp statistics
Display MPLS summary information. display mpls summary
Display ILM entries (MSR2000/MSR3000).
display mpls forwarding ilm [ label ]
Display ILM entries (MSR4000). display mpls forwarding ilm [ label ] [ slot slot-number ]
Display NHLFE entries (MSR2000/MSR3000).
display mpls forwarding nhlfe [ nid ]
Display NHLFE entries (MSR4000). display mpls forwarding nhlfe [ nid ] [ slot slot-number ]
Clear MPLS forwarding statistics for the specified LSPs.
reset mpls statistics { all | [ vpn-instance vpn-instance-name ] { ipv4 ipv4-destination mask-length | ipv6 ipv6-destination prefix-length }
| static | te ingress-lsr-id tunnel-id }
11

Configuring a static LSP

Overview

A static label switched path (LSP) is established by manually specifying the incoming label and outgoing label on each node (ingress, transit, or egress node) of the forwarding path.
Static LSPs consume fewer resources, but they cannot automatically adapt to network topology changes. Therefore, static LSPs are suitable for small and stable networks with simple topologies.
Follow these guidelines to establish a static LSP:
The ingress node does the following:
a. Determines an FEC for a packet according to the destination address. b. Adds the label for that FEC into the packet. c. Forwards the packet to the next hop or out of the outgoing interface.
Therefore, on the ingress node, you must specify the outgoing label for the destination address (the FEC) and the next hop or the outgoing interface.
A transit node swaps the label carried in a received packet with a specific label, and forwards the
packet to the next hop or out of the outgoing interface. Therefore, on each transit node, you must specify the incoming label, the outgoing label, and the next hop or the outgoing interface.
If the penultimate hop popping function is not configured, an egress node pops the incoming label
of a packet, and performs label forwarding according to the inner label or IP forwarding. Therefore, on the egress node, you only need to specify the incoming label.
The outgoing label specified on an LSR must be the same as the incoming label specified on the
directly-connected downstream LSR.

Configuration prerequisites

Before you configure a static LSP, complete the following tasks:
1. Identify the ingress node, transit nodes, and egress node of the LSP.
2. Enable MPLS on all interfaces that participate in MPLS forwarding. For more information, see
"Configuring basic MPLS."
3. Make sure the ingress node has a route to the destination address of the LSP. This is not required
on transit and egress nodes.

Configuration procedure

To configure a static LSP:
Step Command
1. Enter system view.
system-view
12
Remarks
N/A
Step Command
static-lsp ingress lsp-name destination
2. Configure the
ingress node of the static LSP.
3. Configure the transit
node of the static LSP.
4. Configure the egress
node of the static LSP.
dest-addr { mask | mask-length } { nexthop next-hop-addr | outgoing-interface interface-type interface-number } out-label out-label
static-lsp transit lsp-name in-label in-label { nexthop next-hop-addr |
outgoing-interface interface-type interface-number } out-label out-label
static-lsp egress lsp-name in-label in-label

Displaying static LSPs

Execute display commands in any view.
Task Command
Display static LSP information. display mpls static-lsp [ lsp-name lsp-name ]
Remarks
If you specify a next hop for the static LSP, make sure the ingress node has an active route to the specified next hop address.
If you specify a next hop for the static LSP, make sure the transit node has an active route to the specified next hop address.
You do not need to configure this command if the outgoing label configured on the penultimate hop of the static LSP is 0 or 3.

Static LSP configuration example

Network requirements

Router A, Router B, and Router C all support MPLS.
Establish static LSPs between Router A and Router C, so that subnets 11.1.1.0 / 24 a n d 21.1.1.0 / 24 c a n access each other over MPLS.
Figure 8 Network diagram

Configuration considerations

For an LSP, the outgoing label specified on an LSR must be identical with the incoming label specified on the downstream LSR.
LSPs are unidirectional. You must configure an LSP for each direction of the data forwarding path.
13
A route to the destination address of the LSP must be available on the ingress node, but it is not needed on transit and egress nodes. Therefore, you do not need to configure a routing protocol to ensure IP connectivity among all routers.

Configuration procedure

1. Configure IP addresses for all interfaces, including the loopback interfaces, as shown in Figure 8.
(Details not shown.)
2. Configure a static route to the destination address of each LSP:
# On Router A, configure a static route to network 21.1.1.0/24.
<RouterA> system-view [RouterA] ip route-static 21.1.1.0 24 10.1.1.2
# On Router C, configure a static route to network 11.1.1.0/24.
<RouterC> system-view [RouterC] ip route-static 11.1.1.0 255.255.255.0 20.1.1.1
3. Configure basic MPLS on the routers:
# Configure Router A.
[RouterA] mpls lsr-id 1.1.1.9 [RouterA] interface serial 2/1/0 [RouterA-Serial2/1/0] mpls enable [RouterA-Serial2/1/0] quit
# Configure Router B.
[RouterB] mpls lsr-id 2.2.2.9 [RouterB] interface serial 2/1/0 [RouterB-Serial2/1/0] mpls enable [RouterB-Serial2/1/0] quit [RouterB] interface serial 2/1/1 [RouterB-Serial2/1/1] mpls enable [RouterB-Serial2/1/1] quit
# Configure Router C.
[RouterC] mpls lsr-id 3.3.3.9 [RouterC] interface serial 2/1/0 [RouterC-Serial2/1/0] mpls enable [RouterC-Serial2/1/0] quit
4. Configure a static LSP from Router A to Router C:
# Configure the LSP ingress node, Router A.
[RouterA] static-lsp ingress AtoC destination 21.1.1.0 24 nexthop 10.1.1.2 out-label 30
# Configure the LSP transit node, Router B.
[RouterB] static-lsp transit AtoC in-label 30 nexthop 20.1.1.2 out-label 50
# Configure the LSP egress node, Router C.
[RouterC] static-lsp egress AtoC in-label 50
5. Create a static LSP from Router C to Router A:
# Configure the LSP ingress node, Router C.
[RouterC] static-lsp ingress CtoA destination 11.1.1.0 24 nexthop 20.1.1.1 out-label 40
# Configure the LSP transit node, Router B.
14
[RouterB] static-lsp transit CtoA in-label 40 nexthop 10.1.1.1 out-label 70
# Configure the LSP egress node, Router A.
[RouterA] static-lsp egress CtoA in-label 70

Verifying the configuration

# Display static LSP information on routers, for example, on Router A.
[RouterA] display mpls static-lsp Total: 2 Name FEC In/Out Label Nexthop/Out Interface State AtoC 21.1.1.0/24 NULL/30 10.1.1.2 Up CtoA -/- 70/NULL - Up
# Test the connectivity of the LSP from Router A to Router C.
[RouterA] ping mpls -a 11.1.1.1 ipv4 21.1.1.0 24 MPLS Ping FEC: 21.1.1.0/24 : 100 data bytes 100 bytes from 20.1.1.2: Sequence=1 time=4 ms 100 bytes from 20.1.1.2: Sequence=2 time=1 ms 100 bytes from 20.1.1.2: Sequence=3 time=1 ms 100 bytes from 20.1.1.2: Sequence=4 time=1 ms 100 bytes from 20.1.1.2: Sequence=5 time=1 ms
--- FEC: 21.1.1.0/24 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss round-trip min/avg/max = 1/1/4 ms
# Test the connectivity of the LSP from Router C to Router A.
[RouterC] ping mpls -a 21.1.1.1 ipv4 11.1.1.0 24 MPLS Ping FEC: 11.1.1.0/24 : 100 data bytes 100 bytes from 10.1.1.1: Sequence=1 time=5 ms 100 bytes from 10.1.1.1: Sequence=2 time=1 ms 100 bytes from 10.1.1.1: Sequence=3 time=1 ms 100 bytes from 10.1.1.1: Sequence=4 time=1 ms 100 bytes from 10.1.1.1: Sequence=5 time=1 ms
--- FEC: 11.1.1.0/24 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss round-trip min/avg/max = 1/1/5 ms
15

Configuring LDP

In this chapter, "MSR2000" refers to MSR2003. "MSR3000" collectively refers to MSR3012, MSR3024, MSR3044, MSR3064. "MSR4000" collectively refers to MSR4060 and MSR4080.

Overview

The Label Distribution Protocol (LDP) dynamically distributes FEC-label mapping information between LSRs to establish LSPs.

Terminology

LDP session
Two LSRs establish a TCP-based LDP session to exchange FEC-label mappings.
LDP peer
Two LSRs that use LDP to exchange FEC-label mappings are LSR peers.
Label spaces and LDP identifiers
Label spaces include the following types:
Per-interface label space—Each interface uses a single, independent label space. Different
interfaces can use the same label values.
Per-platform label space—Each LSR uses a single label space. The device only supports the
per-platform label space.
A six-byte LDP Identifier (LDP ID) identifies a label space on an LSR. It is in the format of <LSR ID>:<label space number>, where:
The LSR ID takes four bytes to identity the LSR.
The label space number takes two bytes to identify a label space within the LSR.
A label space number of 0 indicates that the label space is a per-platform label space. A label space number other than 0 indicates a per-interface label space.
FECs and FEC-label mappings
MPLS groups packets with the same characteristics (such as the same destination or service class) into a class, called an "FEC." The packets of the same FEC are handled in the same way on an MPLS network.
LDP can classify FECs by destination IP address and by PW. This document describes FEC classification by destination IP address. For information about FEC classification by PW, see "Configuring MPLS L2VPN."
An LSR assigns a label for an FEC and advertises the FEC-label mapping, or FEC-label binding, to its peers in a Label Mapping message.

LDP messages

LDP mainly uses the following types of messages:
16
Discovery messages—Declare and maintain the presence of LSRs, such as Hello messages.
Session messages—Establish, maintain, and terminate sessions between LDP peers, such as
Initialization messages used for parameter negotiation and Keepalive messages used to maintain sessions.
Advertisement messages—Create, alter, and remove FEC-label mappings, such as Label Mapping
messages used to advertise FEC-label mappings.
Notification messages—Provide advisory information and notify errors, such as Notification
messages.
LDP uses UDP to transport discovery messages for efficiency, and uses TCP to transport session, advertisement, and notification messages for reliability.

LDP operation

LDP operates in the following phases:
Discovering and maintaining LDP peers
LDP discovers peers in the following ways:
Basic Discovery—Sends Link Hello messages to multicast address 224.0.0.2 that identifies all
routers on the subnet. All directly-connected LSRs can discover the LSR and establish a hello adjacency.
Extended Discovery—Sends LDP Targeted Hello messages to a specific IP address. The destination
LSR can discover the LSR and establish a hello adjacency. This mechanism is mainly used in MPLS L2VPN and LDP over MPLS TE. For more information, see "Configuring MPLS L2VPN" and "Configuring MPLS TE."
LDP can establish two hello adjacencies with a directly-connected neighbor through both discovery mechanisms. It sends Hello messages at the hello interval to maintain a hello adjacency. If LDP receives no Hello message from a hello adjacency before the hello hold timer expires, it removes the hello adjacency.
Establishing and maintaining LDP sessions
LDP establishes a session with a peer in the following steps:
1. Establishes a TCP connection with the neighbor.
2. Negotiates session parameters such as LDP version, label distribution method, and Keepalive timer,
and establishes an LDP session with the neighbor if the negotiation succeeds.
After a session is established, LDP sends LDP PDUs (an LDP PDU carries one or more LDP messages) to maintain the session. If no information is exchanged between the LDP peers within the Keepalive interval, LDP sends Keepalive messages at the Keepalive interval to maintain the session. If LDP receives no LDP PDU from a neighbor before the keepalive hold timer expires, or the last hello adjacency with the neighbor is removed, LDP terminates the session.
LDP can also send a Shutdown message to a neighbor to terminate the LDP session.
Establishing LSPs
LDP classifies FECs according to destination IP addresses in IP routing entries, creates FEC-label mappings, and advertises the mappings to LDP peers through LDP sessions. After an LDP peer receives an FEC-label mapping, it uses the received label and the label locally assigned to that FEC to create an LFIB entry for that FEC. When all LSRs (from the Ingress to the Egress) establish an LFIB entry for the FEC, an LSP is established exclusively for the FEC.
17
A
Figure 9 Dynamically establishing an LSP

Label distribution and control

Label advertisement modes
Figure 10 Label advertisement modes
LDP advertises label-FEC mappings in one of the following ways:
Downstream Unsolicited (DU) mode—Distributes FEC-label mappings to the upstream LSR, without
waiting for label requests. The device supports only the DU mode.
Downstream on Demand (DoD) mode—Sends a label request for an FEC to the downstream LSR.
After receiving the label request, the downstream LSR distributes the FEC-label mapping for that FEC to the upstream LSR.
NOTE:
pair of upstream and downstream LSRs must use the same label advertisement mode. Otherwise, the
LSP cannot be established.
18
Label distribution control
LDP controls label distribution in one of the following ways:
Independent label distribution—Distributes an FEC-label mapping to an upstream LSR at any time.
An LSR might distribute a mapping for an FEC to its upstream LSR before it receives a label mapping for that FEC from its downstream LSR. As shown in Figure 11, in D label mapping for an FEC to its upstream LSR whenever it is ready to label-switch the FEC, without waiting for a label mapping for the FEC from its downstream LSR. In DoD mode, an LSR distributes a label mapping for an FEC to its upstream LSR after it receives a label request for the FEC, without waiting for a label mapping for the FEC from its downstream LSR.
Figure 11 Independent label distribution control mode
U mode, each LSR distributes a
Ordered label distribution—Distributes a label mapping for an FEC to its upstream LSR only after it
receives a label mapping for that FEC from its downstream LSR unless the local node is the egress node of the FEC. As shown in Figure 10, in D to its upstream LSR only if it receives a label mapping for the FEC from its downstream LSR. In DoD mode, when an LSR (Transit) receives a label request for an FEC from its upstream LSR (Ingress), it continues to send a label request for the FEC to its downstream LSR (Egress). After the transit LSR receives a label mapping for the FEC from the egress LSR, it distributes a label mapping for the FEC to the ingress.
Label retention mode
The label retention mode specifies whether an LSR maintains a label mapping for an FEC learned from a neighbor that is not its next hop.
Liberal label retention—Retains a received label mapping for an FEC regardless of whether the
advertising LSR is the next hop of the FEC. This mechanism allows for quicker adaptation to topology changes, but it wastes system resources because LDP has to keep useless labels. The device only supports liberal label retention.
Conservative label retention—Retains a received label mapping for an FEC only when the
advertising LSR is the next hop of the FEC. This mechanism saves label resources, but it cannot quickly adapt to topology changes.
mode, an LSR distributes a label mapping for an FEC
U
19

LDP GR

LDP Graceful Restart enables an LSR to retain MPLS forwarding entries during an LDP restart, ensuring continuous MPLS forwarding.
Figure 12 LDP GR
As shown in Figure 12, GR defines the following roles:
GR restarter—An LSR that performs GR. It must be GR-capable.
GR helper—A neighbor LSR that helps the GR restarter to complete GR.
The device can act as a GR restarter or a GR helper.
Figure 13 LDP GR operation
GR restarter
Protocol
restarts
MPLS
forwarding state
holding time
Set up an LDP session, and identify that
they are LDP GR capable
Re-establish the LDP session
Send label mappings
GR helper
Reconnect time
LDP recovery time
As shown in Figure 13, LDP GR works in the following steps:
1. LSRs establish an LDP session. The L flag of the Fault Tolerance TLV in their Initialization messages
is set to 1 to indicate that they support LDP GR.
2. When LDP restarts, the GR restarter starts the MPLS Forwarding State Holding timer, and marks the
MPLS forwarding entries as stale. When the GR helper detects that the LDP session to the GR restarter goes down, it marks the FEC-label mappings learned from the session as stale and starts the Reconnect timer received from the GR restarter.
20
y
3. After LDP completes restart, the GR restarter reestablishes an LDP session to the GR helper. If the
4. After the LDP session is reestablished, the GR helper starts the LDP Recovery timer.
5. The GR restarter and the GR helper exchange label mappings and update their MPLS forwarding
6. When the MPLS Forwarding State Holding timer expires, the GR restarter deletes all stale MPLS
7. When the LDP Recovery timer expires, the GR helper deletes all stale FEC-label mappings.

LDP NSR

LDP session is not set up before the Reconnect timer expires, the GR helper deletes the stale FEC-label mappings and the corresponding MPLS forwarding entries. If the LDP session is successfully set up before the Reconnect timer expires, the GR restarter sends the remaining time of the MPLS Forwarding State Holding timer as the LDP Recovery time to the GR helper.
tables.
The GR restarter compares each received label mapping against stale MPLS forwarding entries. If a match is found, the restarter deletes the stale mark for the matching entry. Otherwise, it adds a new entry for the label mapping.
The GR helper compares each received label mapping against stale FEC-label mappings. If a match is found, the helper deletes the stale mark for the matching mapping. Otherwise, it adds the received FEC-label mapping and a new MPLS forwarding entry for the mapping.
forwarding entries.
The following matrix shows the feature and hardware compatibility:
Hardware LDP NSR compatibilit
MSR2000 No
MSR3000 No
MSR4000 Yes
LDP nonstop routing (NSR) backs up protocol states and data (including LDP session and LSP information) from the active process to the standby process. When the LDP primary process fails, the backup process seamlessly takes over primary processing. The LDP peers are not notified of the LDP interruption. The LDP peers keep the LDP session in Operational state, and the forwarding is not interrupted.
The LDP primary process fails when one of the following occurs:
The primary process restarts.
The MPU where the primary process resides fails.
The MPU where the primary process resides performs an ISSU.
The LDP process' position determined by the process placement function is different from the
position where the LDP process is operating.
Choose either LDP NSR or LDP GR to ensure continuous traffic forwarding:
Device requirements
{ To use LDP NSR, the device must have two or more MPUs, and the primary and backup process
for LDP reside on different MPUs.
{ To use LDP GR, the device can have only one MPU on the device.
LDP peer requirements
21
Loading...
+ 421 hidden pages