LDP Point-to-Point LSPs

This chapter provides information about label distribution protocol (LDP) point-to-point label switched paths (LSPs)

Topics in this chapter include:

Applicability

This chapter is applicable to SR OS and was originally written for SR OS Release 7.0.R5. The MD-CLI output in the current edition corresponds to SR OS Release 21.2.R1. There are no prerequisites or conditions on the hardware for this configuration.

Overview

Due to the connectionless nature of the network layer protocol IP, packets travel through the network on a hop-by-hop basis with routing decisions made at each node. As a result, hyperaggregation of data on certain links may occur and it may impact the provider's ability to provide guaranteed service levels across the network end-to-end. To address these shortcomings, Multi-Protocol Label Switching (MPLS) was developed.

MPLS provides the capability to establish connection-oriented paths, called Label Switched Paths (LSPs), over a connectionless (IP) network. The LSP offers a mechanism to engineer network traffic independently from the underlying network routing protocol (mostly IP) to improve the network resiliency and recovery options and to permit delivery of services that are not readily supported by conventional IP routing techniques, such as Layer 2 IP Virtual Private Networks (VPNs). These benefits are essential for today's communication network explaining the wide deployment base of the MPLS technology.

RFC 3031, Multiprotocol Label Switching Architecture, specifies the MPLS architecture whereas this chapter describes the configuration and troubleshooting of point-to-point LSPs on SR OS.

Packet forwarding

When a packet of a connectionless network layer protocol travels from one router to the next, each router in the network makes an independent forwarding decision by performing the following basic tasks: first analyzing the packet's header, then referencing the local routing table to find the longest match based on the destination address in the IP header, and finally sending out the packet on the selected interface.

In other terms, the first function partitions the entire set of possible packets into a set of Forwarding Equivalence Classes (FECs). All packets associated to a particular FEC will be forwarded along the same logical path to the same destination. The second function maps each FEC to a next hop destination router. Each router along the packet's path performs these actions.

In MPLS, the assignment of a packet to a particular FEC is done just once, when the packet enters the network. In turn, the FEC is mapped to an LSP, which is established prior to packet forwarding.

An MPLS label, representing the FEC to which the packet is assigned, is attached to the packet (push operation) and once labeled, the packet is forwarded to the next hop router along that LSP path.

At subsequent hops, no analysis of the packet's network layer header is needed. Instead, the label is used as an index into a table which specifies the next hop and a new label. The old label is replaced with the new label (swap operation), and the packet is forwarded to its next hop.

At the MPLS network egress, the label is removed from the packet (pop operation). If this router is the destination (based on the remaining packet), the packet is handed to the receiving application, such as a Virtual Private LAN Service (VPLS). If this router is not the destination of the packet, the packet will be sent into a new MPLS tunnel or forwarded by conventional IP forwarding toward the Layer 3 destination

Terminology

Figure 1. Generic MPLS network, MPLS label operations

Generic MPLS network, MPLS label operations shows a general network topology clarifying the MPLS-related terms. A Label Edge Router (LER) is a device at the edge of an MPLS network, with at least one interface outside the MPLS domain. A router is usually defined as an LER based on its position relative to a particular LSP. The MPLS router at the head-end of an LSP is called the ingress Label Edge Router (iLER). The MPLS router at the tail-end of an LSP is called the egress Label Edge Router (eLER).

The iLER receives unlabeled packets from outside the MPLS domain, then applies MPLS labels to the packets, and forwards the labeled packets into the MPLS domain.

The eLER receives labeled packets from the MPLS domain, then removes the labels, and forwards unlabeled packets outside the MPLS domain. The eLER can signal an implicit-null label (numeric value 3). This informs the previous hop to send MPLS packets without an outer label and so is known as Penultimate Hop Popping (PHP).

A Label Switching Router (LSR) is a device internal to an MPLS network, with all interfaces inside the MPLS domain. These devices switch labeled packets inside the MPLS domain. In the core of the network, LSRs ignore the packet's network layer (IP) header and simply forward the packet using the MPLS label swapping mechanism.

LSP establishment

Prior to packet forwarding, the LSP must be established. In order to do so, labels need to be distributed for the path. Labels are usually distributed by a downstream router in the upstream direction (relative to the data flow). There are a number of ways used for label distribution: static, LDP, and RSVP. For static P2P LSPs, see chapter Static Point-to-Point LSPs; for RSVP-TE P2P LSPs, see chapter RSVP Point-to-Point LSPs.

LDP (RFC 5036, LDP Specification) can be considered as an extension to the network interior gateway protocol (IGP). As routers become aware of new destination networks, they advertise labels in the upstream direction that will allow upstream routers to reach the destination.

Fast reroute (FRR) allows for computing backup paths and advertising the backup labels before a failure takes place. This way traffic can flow almost continuously, without waiting for routing protocol convergence; see chapter MPLS LDP FRR using ISIS as IGP.

Example topology

MPLS example topology shows the example topology consisting of six SR OS nodes located in a single autonomous system.

Figure 2. MPLS example topology

Configuration

As a general prerequisite for the configuration of MPLS LSPs, a correctly working Interior Gateway Protocol (IGP) is required. Open Shortest Path First (OSPF) or Intermediate System to Intermediate System (IS-IS) can be used as IGP.

LDP is a simple label distribution protocol with basic MPLS functionality (no traffic engineering). Fast Reroute is supported; see chapter MPLS LDP FRR using ISIS as IGP. LDP relies on the underlying routing information provided by an IGP in order to forward labeled packets. Each LDP configured LSR will originate a label for its system address and a label for each FEC for which it has a next hop that is external to the MPLS domain, without the explicit need to manually configure the LSPs. When deviations from this default behavior are desired, import and export policies can be applied.

The configuration is as simple as enabling the LDP protocol instance and adding all network interfaces, for each node. The configuration on node PE-1 is as follows; similar configurations apply on the other nodes.

# on PE-1:
configure {
    router "Base" {
        ldp {
            interface-parameters {
                interface "int-PE-1-PE-2" {
                    ipv4 {
                    }
                }
                interface "int-PE-1-PE-4" {
                    ipv4 {
                    }
                }
            } 

The show router ldp discovery and show router ldp session commands can be used to verify the LDP hello adjacencies and sessions. The adjacency type (AdjType) needs to be Link while the state should be Established. In this example, only IPv4 addresses are used, so the output can be limited to IPv4 only by adding the keyword ipv4.

[/]
A:admin@PE-1# show router ldp discovery ipv4
 
===============================================================================
LDP IPv4 Hello Adjacencies
===============================================================================
Interface Name                   Local Addr                              State
AdjType                          Peer Addr                               
-------------------------------------------------------------------------------
int-PE-1-PE-2                    192.0.2.1:0                             Estab
link                             192.0.2.2:0                             
                                                                         
int-PE-1-PE-4                    192.0.2.1:0                             Estab
link                             192.0.2.4:0                             
                                                                         
-------------------------------------------------------------------------------
No. of IPv4 Hello Adjacencies: 2
===============================================================================
[/]
A:admin@PE-1# show router ldp session family ipv4

==============================================================================
LDP IPv4 Sessions
==============================================================================
Peer LDP Id         Adj Type  State         Msg Sent  Msg Recv  Up Time
------------------------------------------------------------------------------
192.0.2.2:0         Link      Established   84        85        0d 00:03:14
192.0.2.4:0         Link      Established   74        76        0d 00:02:50
------------------------------------------------------------------------------
No. of IPv4 Sessions: 2
==============================================================================

The show router ldp bindings prefixes command displays the contents of the LIB (Label Information Base) and contains all labels locally generated (IngLbl) and those received from any LDP neighbors (EgrLbl), whether they are in use or not. The following output is for IPv4 prefixes:

[/]
A:admin@PE-1# show router ldp bindings prefixes ipv4

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.1)
             (IPv6 LSR ID ::)
===============================================================================
Label Status:
        U - Label In Use, N - Label Not In Use, W - Label Withdrawn
        WP - Label Withdraw Pending, BU - Alternate For Fast Re-Route
        e - Label ELC
FEC Flags:
        LF - Lower FEC, UF - Upper FEC, M - Community Mismatch,
        BA - ASBR Backup FEC
===============================================================================
LDP IPv4 Prefix Bindings
===============================================================================
Prefix                                       
Peer                                        FEC-Flags
IgrLbl                                      EgrLbl
EgrNextHop                                  EgrIntf/LspId
-------------------------------------------------------------------------------
192.0.2.1/32                                
192.0.2.2:0                                 
524287U                                       --
  --                                          --

192.0.2.1/32                                
192.0.2.4:0                                 
524287U                                       --
  --                                          --

192.0.2.2/32                                
192.0.2.2:0                                 
  --                                        524287
192.168.12.2                                1/1/1

192.0.2.2/32                                
192.0.2.4:0                                 
524286U                                     524285
  --                                          --

192.0.2.3/32                                
192.0.2.2:0                                 
524285N                                     524285
192.168.12.2                                1/1/1

192.0.2.3/32                                
192.0.2.4:0                                 
524285U                                     524284
  --                                          --

192.0.2.4/32                                
192.0.2.2:0                                 
524284U                                     524284
  --                                          --

192.0.2.4/32                                
192.0.2.4:0                                 
  --                                        524287
192.168.14.2                                1/1/2

192.0.2.5/32                                
192.0.2.2:0                                 
524283N                                     524283
192.168.12.2                                1/1/1

192.0.2.5/32                                
192.0.2.4:0                                 
524283U                                     524283
  --                                          --

192.0.2.6/32                                
192.0.2.2:0                                 
524282N                                     524282
192.168.12.2                                1/1/1

192.0.2.6/32                                
192.0.2.4:0                                 
524282U                                     524282
  --                                          --

-------------------------------------------------------------------------------
No. of IPv4 Prefix Bindings: 12
===============================================================================

The show router ldp bindings active prefixes command displays the content of the Label Forwarding Information Base (LFIB) and contains all active labels and the associated label actions used for label switching packets. The active LDP bindings for IPv4 prefixes are the following:

[/]
A:admin@PE-1# show router ldp bindings active prefixes ipv4

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.1)
             (IPv6 LSR ID ::)
===============================================================================
Label Status:
        U - Label In Use, N - Label Not In Use, W - Label Withdrawn
        WP - Label Withdraw Pending, BU - Alternate For Fast Re-Route
        e - Label ELC
FEC Flags:
        LF - Lower FEC, UF - Upper FEC, M - Community Mismatch,
        BA - ASBR Backup FEC
        (S) - Static           (M) - Multi-homed Secondary Support
        (B) - BGP Next Hop     (BU) - Alternate Next-hop for Fast Re-Route
        (I) - SR-ISIS Next Hop (O) - SR-OSPF Next Hop
        (C) - FEC resolved with class-based-forwarding
===============================================================================
LDP IPv4 Prefix Bindings (Active)
===============================================================================
Prefix                                      Op
IngLbl                                      EgrLbl
EgrNextHop                                  EgrIf/LspId
-------------------------------------------------------------------------------
192.0.2.1/32                                Pop
524287                                        --
  --                                          --

192.0.2.2/32                                Push
  --                                        524287
192.168.12.2                                1/1/1

192.0.2.2/32                                Swap
524286                                      524287
192.168.12.2                                1/1/1

192.0.2.3/32                                Push
  --                                        524285
192.168.12.2                                1/1/1

192.0.2.3/32                                Swap
524285                                      524285
192.168.12.2                                1/1/1

192.0.2.4/32                                Push
  --                                        524287
192.168.14.2                                1/1/2

192.0.2.4/32                                Swap
524284                                      524287
192.168.14.2                                1/1/2

192.0.2.5/32                                Push
  --                                        524283
192.168.12.2                                1/1/1

192.0.2.5/32                                Swap
524283                                      524283
192.168.12.2                                1/1/1

192.0.2.6/32                                Push
  --                                        524282
192.168.12.2                                1/1/1

192.0.2.6/32                                Swap
524282                                      524282
192.168.12.2                                1/1/1

-------------------------------------------------------------------------------
No. of IPv4 Prefix Active Bindings: 11
===============================================================================

In the tunnel table, there are LDP LSPs to all other nodes:

[/]
A:admin@PE-1# show router tunnel-table

===============================================================================
IPv4 Tunnel Table (Router: Base)
===============================================================================
Destination           Owner     Encap TunnelId  Pref   Nexthop        Metric
   Color                                                              
-------------------------------------------------------------------------------
192.0.2.2/32          ldp       MPLS  65537     9      192.168.12.2   10
192.0.2.3/32          ldp       MPLS  65538     9      192.168.12.2   20
192.0.2.4/32          ldp       MPLS  65539     9      192.168.14.2   10
192.0.2.5/32          ldp       MPLS  65540     9      192.168.12.2   20
192.0.2.6/32          ldp       MPLS  65541     9      192.168.12.2   30
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
       L = Loop-Free Alternate (LFA) hop available
       E = Inactive best-external BGP route
       k = RIB-API or Forwarding Policy backup hop
===============================================================================

In order to signal PHP with LDP, implicit-null must be configured on the eLER.

# on PE-6:
configure {
    router "Base" {
        ldp {
            implicit-null-label true
        } 

The implicit-null is signaled immediately, all related labels are withdrawn and re-advertised with label value of 3. The new label would show up on PE-5 as a swap from the ingress label to an egress label of 3, although label 3 is not pushed on to the frame.

[/]
A:admin@PE-5# show router ldp bindings active prefixes prefix 192.0.2.6/32 

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.5)
             (IPv6 LSR ID ::)
===============================================================================
Label Status:
        U - Label In Use, N - Label Not In Use, W - Label Withdrawn
        WP - Label Withdraw Pending, BU - Alternate For Fast Re-Route
        e - Label ELC
FEC Flags:
        LF - Lower FEC, UF - Upper FEC, M - Community Mismatch,
        BA - ASBR Backup FEC
        (S) - Static           (M) - Multi-homed Secondary Support
        (B) - BGP Next Hop     (BU) - Alternate Next-hop for Fast Re-Route
        (I) - SR-ISIS Next Hop (O) - SR-OSPF Next Hop
        (C) - FEC resolved with class-based-forwarding
===============================================================================
LDP IPv4 Prefix Bindings (Active)
===============================================================================
Prefix                                      Op
IngLbl                                      EgrLbl
EgrNextHop                                  EgrIf/LspId
-------------------------------------------------------------------------------
192.0.2.6/32                                Push
  --                                        3
192.168.56.2                                1/1/2

192.0.2.6/32                                Swap
524282                                      3
192.168.56.2                                1/1/2

-------------------------------------------------------------------------------
No. of IPv4 Prefix Active Bindings: 2
===============================================================================

Import and export policies

The default label handling behavior is to originate label bindings for the system address and to propagate all FECs received. If this is not the desired behavior, an import/export policy can be applied. An LDP import policy impacts inbound filtering; an LDP export policy impacts outbound filtering. An export policy may be configured to control the set of LDP label bindings advertised by the LER (sending to LDP peers). As such, export policies are used to include additional FECs rather than filtering FECs from those advertised. An import policy can be used to control for which FECs a router will generate labels (accepting from LDP peers). This functionality is not unique to LDP; it can be used for RSVP-TE, OSPF, and IS-IS as well as others.

The policy can be global or LDP peer FEC prefix filtering, both for import and export. LDP peer FEC prefix filtering uses a similar policy context as the LDP global policies and works in addition to these global policies.

[/]
A:admin@PE-1# tree flat detail | match import-pref 
configure groups group <string> router <string> ldp session-parameters peer <string | ipv4-address | ipv6-address> import-prefixes <string>
configure groups group <string> router <string> ldp targeted-session import-prefixes <string>
configure router <string> ldp session-parameters peer <ipv4-address | ipv6-address> import-prefixes <reference>
configure router <string> ldp targeted-session import-prefixes <reference>
[/]
A:admin@PE-1# tree flat detail | match export-pref 
configure groups group <string> router <string> ldp session-parameters peer <string | ipv4-address | ipv6-address> export-prefixes <string>
configure groups group <string> router <string> ldp targeted-session export-prefixes <string>
configure router <string> ldp session-parameters peer <ipv4-address | ipv6-address> export-prefixes <reference>
configure router <string> ldp targeted-session export-prefixes <reference>

By default, no labels are generated for directly connected (local) interfaces. To change this behavior, an export policy is created and applied to the LDP instance. There is no configuration difference in defining an import and export policy.

A policy contains a list of entries (of which each has a number). An entry typically contains matching criteria (however, it is not required in cases where everything matches) and a corresponding action. Entries without an action are considered incomplete and are rendered inactive. When processing the policy, the router executes the specified action on the first matching statement; it does not process any further matches. For this reason, entries must be sequenced correctly from most to least specific.

The configuration of the LDP export policy for local interfaces is as follows:

# on all PEs:
configure {
    policy-options {
        policy-statement "LDP-export" {
            entry 10 {
                from {
                    protocol {
                        name [direct]
                    }
                }
                action {
                    action-type accept
                }
            }
        }

There are 11 active LDP bindings before applying the export policy, as shown earlier.

The LDP export or import policy is applied to the LDP instance on the router, with the export or import keyword.

# on all PEs:
configure {
    router "Base" {
        ldp {
            export-policy ["LDP-export"]
        } 

When the export policy is applied, the active LDP binding table contains additional entries: the local interfaces of PE-x. In the following output, the 11 entries for the system prefixes are snipped; only the 7 additional prefixes are shown:

[/]
A:admin@PE-1# show router ldp bindings active prefixes ipv4 

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.1)
             (IPv6 LSR ID ::)
===============================================================================
Label Status:
        U - Label In Use, N - Label Not In Use, W - Label Withdrawn
        WP - Label Withdraw Pending, BU - Alternate For Fast Re-Route
        e - Label ELC
FEC Flags:
        LF - Lower FEC, UF - Upper FEC, M - Community Mismatch,
        BA - ASBR Backup FEC
        (S) - Static           (M) - Multi-homed Secondary Support
        (B) - BGP Next Hop     (BU) - Alternate Next-hop for Fast Re-Route
        (I) - SR-ISIS Next Hop (O) - SR-OSPF Next Hop
        (C) - FEC resolved with class-based-forwarding
===============================================================================
LDP IPv4 Prefix Bindings (Active)
===============================================================================
Prefix                                      Op
IngLbl                                      EgrLbl
EgrNextHop                                  EgrIf/LspId
-------------------------------------------------------------------------------
---snip---

192.168.12.0/30                             Pop
524281                                        --
  --                                          --

192.168.14.0/30                             Pop
524280                                        --
  --                                          --

192.168.23.0/30                             Swap
524279                                      524279
192.168.12.2                                1/1/1

192.168.25.0/30                             Swap
524278                                      524278
192.168.12.2                                1/1/1

192.168.36.0/30                             Swap
524277                                      524277
192.168.12.2                                1/1/1

192.168.45.0/30                             Swap
524276                                      524276
192.168.14.2                                1/1/2

192.168.56.0/30                             Swap
524275                                      524275
192.168.12.2                                1/1/1

-------------------------------------------------------------------------------
No. of IPv4 Prefix Active Bindings: 18
===============================================================================

OAM

The following operations, administration, and maintenance operations can be launched on an LDP LSP (in classic CLI):

  • oam lsp-ping

  • oam lsp-trace

As an example, an LSP ping is sent from PE-1 to PE-6:

A:PE-1# oam lsp-ping prefix 192.0.2.6/32
LSP-PING 192.0.2.6/32: 80 bytes MPLS payload
Seq=1, send from intf int-PE-1-PE-2, reply from 192.0.2.6
       udp-data-len=32 ttl=255 rtt=4.29ms rc=3 (EgressRtr)

---- LSP 192.0.2.6/32 PING Statistics ----
1 packets sent, 1 packets received, 0.00% packet loss
round-trip min = 4.29ms, avg = 4.29ms, max = 4.29ms, stddev = 0.000ms

An LSP trace is sent from PE-1 to PE-6:

A:PE-1# oam lsp-trace prefix 192.0.2.6/32
lsp-trace to 192.0.2.6/32: 0 hops min, 0 hops max, 104 byte packets
1  192.0.2.2  rtt=3.58ms rc=8(DSRtrMatchLabel) rsc=1
2  192.0.2.3  rtt=3.89ms rc=8(DSRtrMatchLabel) rsc=1
3  192.0.2.6  rtt=4.63ms rc=3(EgressRtr) rsc=1

The return code (rc) is 8 for the LSRs and 3 for the eLER.

The detailed output for this LSP trace includes the interface IP address, the interface type, maximum receive unit (MRU), label and protocol; as follows:

A:PE-1# oam lsp-trace prefix 192.0.2.6/32 detail
lsp-trace to 192.0.2.6/32: 0 hops min, 0 hops max, 104 byte packets
1  192.0.2.2  rtt=2.44ms rc=8(DSRtrMatchLabel) rsc=1
     DS 1: ipaddr=192.168.23.2 ifaddr=192.168.23.2 iftype=ipv4Numbered MRU=1564
           label[1]=524282 protocol=3(LDP)
2  192.0.2.3  rtt=3.67ms rc=8(DSRtrMatchLabel) rsc=1
     DS 1: ipaddr=192.168.36.2 ifaddr=192.168.36.2 iftype=ipv4Numbered MRU=1564
           label[1]=3 protocol=3(LDP)
3  192.0.2.6  rtt=4.51ms rc=3(EgressRtr) rsc=1

LDP statistics

LDP-related statistics can be collected in files. On PE-1, file 1 is configured as follows:

# on PE-1:
configure {
    log {
        file 1 {
            rollover 5
            retention 1
            compact-flash-location {
                primary cf1
            }
        } 

The following accounting policy defines which statistics should be recorded:

# on PE-1:
configure {
    log {
        accounting-policy 1 {
            admin-state enable
            record combined-ldp-lsp-egress
            destination {
                file 1
            }
        }

The collection of statistics for prefix 192.0.2.6/32 is enabled on PE-1 in the ldp context, as follows:

# on PE-1:
configure {
    router "Base" {
        ldp {
            egress-statistics {
                 fec-prefix 192.0.2.6/32 {
                    admin-state enable
                    accounting-policy 1
                    collect-stats true
                }
            } 

FEC egress statistics can be displayed with the following show command:

[/]
A:admin@PE-1# show router ldp fec-egress-stats 

The FEC egress stats for prefix 192.0.2.6/32 can be retrieved as follows:

[/]
A:admin@PE-1# show router ldp fec-egress-stats 192.0.2.6/32 

===============================================================================
LDP IPv4 FEC Egress Statistics
===============================================================================
-------------------------------------------------------------------------------
FEC Prefix/Mask    : 192.0.2.6/32
-------------------------------------------------------------------------------
Collect Stats      : Enabled              Accounting Plcy.     : 1
Admin State        : Up                   
FC BE
InProf Pkts        : 0                    OutProf Pkts         : 7
InProf Octets      : 0                    OutProf Octets       : 858
FC L2
InProf Pkts        : 0                    OutProf Pkts         : 0
InProf Octets      : 0                    OutProf Octets       : 0
FC AF
InProf Pkts        : 0                    OutProf Pkts         : 0
InProf Octets      : 0                    OutProf Octets       : 0
FC L1
InProf Pkts        : 0                    OutProf Pkts         : 0
InProf Octets      : 0                    OutProf Octets       : 0
FC H2
InProf Pkts        : 0                    OutProf Pkts         : 0
InProf Octets      : 0                    OutProf Octets       : 0
FC EF
InProf Pkts        : 0                    OutProf Pkts         : 0
InProf Octets      : 0                    OutProf Octets       : 0
FC H1
InProf Pkts        : 0                    OutProf Pkts         : 0
InProf Octets      : 0                    OutProf Octets       : 0
FC NC
InProf Pkts        : 0                    OutProf Pkts         : 0
InProf Octets      : 0                    OutProf Octets       : 0

Aggregate Packets  : 7
Aggregate Octets   : 858
===============================================================================
LDP IPv4 FEC Egress Statistics: 1
===============================================================================

Statistics can be cleared as follows on PE-1:

[/]
A:admin@PE-1# clear router ldp fec-egress-statistics 192.0.2.6/32

Debug

LDP debugging can be configured—in classic CLI—per LDP interface or per LDP peer, as follows:

# on PE-1:
debug 
    router "Base" 
        ldp ?
  - ldp
  - no ldp

 [no] interface       + Enable/disable and configure debugging for an LDP interface
 [no] peer            + Enable/disable and configure debugging for an LDP peer

A particular peer is specified by its IPv4 or IPv6 address. It is possible to configure debugging for specific LDP events: bindings or messages, as follows:

# on PE-1:
debug 
    router "Base"
        ldp
            peer 192.0.2.2 ?
  - no peer <ip-address>
  - peer <ip-address>

 <ip-address>         : ipv4-address   - a.b.c.d
                        ipv6-address   - x:x:x:x:x:x:x:x   (eight 16-bit pieces)
                                         x:x:x:x:x:x:d.d.d.d
                                         x - [0..FFFF]H
                                         d - [0..255]D

 [no] event           + Configure debugging for specific LDP events
 [no] packet          + Enable/disable debugging for specific LDP packets
# on PE-1:
debug 
    router "Base"
        ldp 
            peer 192.0.2.2
                event ?
  - event
  - no event

 [no] bindings        - Enable/disable debugging for LDP bindings
 [no] messages        - Enable/disable debugging for LDP messages

It is also possible to configure debugging for specific packets, such as label packets:

# on PE-1:
debug
    router "Base"
        ldp
            peer 192.0.2.2
                packet ?
  - no packet
  - packet

 [no] hello           - Enable/disable debugging for LDP Hello packets
 [no] init            - Enable/disable debugging for LDP Init packets
 [no] keepalive       - Enable/disable debugging for LDP Keepalive packets
 [no] label           - Enable/disable debugging for LDP Label packets

The following debugging is configured on PE-1:

# on PE-1:
debug 
    router "Base"
        ldp
            peer 192.0.2.2
                packet
                    label detail
                exit
            exit
        exit

Some label mapping packets sent to peer 192.0.2.2 are the following, with the label mapping for prefixes 192.0.2.1/32 and 192.0.2.4/32:

---snip---

5 2021/02/18 15:52:15.241 CET MINOR: DEBUG #2001 Base LDP
"LDP: LDP
Send Label Mapping packet (msgId 14) to 192.0.2.2:0
Protocol version = 1
Label 524284 advertised for the following FECs
Prefix Address Family = 1 Prefix = 192.0.2.4/32
"
4 2021/02/18 15:52:04.040 CET MINOR: DEBUG #2001 Base LDP
"LDP: LDP
Send Label Mapping packet (msgId 12) to 192.0.2.2:0
Protocol version = 1
Label 524285 advertised for the following FECs
Prefix Address Family = 1 Prefix = 192.0.2.3/32
"
3 2021/02/18 15:52:04.040 CET MINOR: DEBUG #2001 Base LDP
"LDP: LDP
Recv Label Mapping packet (msgId 12) from 192.0.2.2:0
Protocol version = 1
Label 524285 advertised for the following FECs
Prefix Address Family = 1 Prefix = 192.0.2.3/32
"
2 2021/02/18 15:51:48.931 CET MINOR: DEBUG #2001 Base LDP
"LDP: LDP
Recv Label Mapping packet (msgId 6) from 192.0.2.2:0
Protocol version = 1
Label 524287 advertised for the following FECs
Prefix Address Family = 1 Prefix = 192.0.2.2/32
"
1 2021/02/18 15:51:48.681 CET MINOR: DEBUG #2001 Base LDP
"LDP: LDP
Send Label Mapping packet (msgId 6) to 192.0.2.2:0
Protocol version = 1
Label 524287 advertised for the following FECs
Prefix Address Family = 1 Prefix = 192.0.2.1/32
"

Conclusion

MPLS provides the capability to establish connection-oriented paths over a connectionless network. LDP point-to-point LSPs are dynamically signaled and FRR is supported. This can greatly improve network resiliency. In this chapter, the configuration of several LDP point-to-point LSP features is given together with the associated show output which can be used to verify and troubleshoot.