Static Point-to-Point LSPs

This chapter provides information about static 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 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, multiprotocol 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 new 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 while this document describes the configuration and troubleshooting of static point-to-point LSPs on SR OS. Point-to-point LSPs can also be dynamically established using a label signaling protocol, such as label distribution protocol (LDP)—as described in chapter LDP Point-to-Point LSPs—or resource reservation protocol (RSVP)—as described in chapter RSVP Point-to-Point LSPs.

Packet forwarding

As 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 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 with 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 path performs these actions.

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

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, there is no further analysis of the network layer header of the packet. 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 final 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 final 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 last LSR before the eLER can be configured with an implicit-null label (numeric value 3). This LSR will pop the outer label and send MPLS packets without an outer label to the eLER. This 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 network layer (IP) header of the packet and simply forward the packet using the MPLS label swapping mechanism.

A single LSP is unidirectional. In common practice, because the bidirectional nature of most traffic flows is implied, the term LSP often is used to define the pair of LSPs that enable the bidirectional flow. For ease of terminology and discussion however, the LSP in this chapter is referred to as a single entity.

LSP establishment

Prior to packet forwarding, the LSP must be established. In order to do so, labels need to be distributed for the path. For static LSPs, the label distribution is done manually by the network administrator. Although a high control level of the labels in use is achieved, the LSP cannot enjoy the resilience and recovery functionality the dynamic label signaling protocols can offer.

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

For static LPSs, there is no need for an IGP.

For LSPs that are set up manually, the first step is to enable MPLS and RSVP on all network interfaces that will be used to carry LSPs. On PE-1, the following interfaces are added to the MPLS and RSVP protocol instances:

# on PE-1:configure {
    router "Base" { 
        mpls {
            admin-state enable
            interface "int-PE-1-PE-2" {
            }
            interface "int-PE-1-PE-4" {
            }
        }
        rsvp {
            admin-state enable
            interface "int-PE-1-PE-2" {
            }
            interface "int-PE-1-PE-4" {
            }
        }

For manually configured LSPs, any interface used by the static LSP must be added into the MPLS and RSVP protocol instances, even though RSVP is not actually used to signal labels. The following error messages are raised on PE-1 when attempting to add the interfaces into the MPLS protocol instance without configuring RSVP:

*[ex:configure router "Base"]
A:admin@PE-1# commit
MINOR: MGMT_CORE #4001: configure router "Base" mpls - RSVP needs to be present along with the MPLS - configure router "Base" rsvp
MINOR: MGMT_CORE #4001: configure router "Base" mpls interface "system" - RSVP interface needs to be present along with the MPLS interface - configure router "Base" rsvp interface "system"
MINOR: MGMT_CORE #4001: configure router "Base" mpls interface "int-PE-1-PE-2" - RSVP interface needs to be present along with the MPLS interface - configure router "Base" rsvp interface "int-PE-1-PE-2"
MINOR: MGMT_CORE #4001: configure router "Base" mpls interface "int-PE-1-PE-4" - RSVP interface needs to be present along with the MPLS interface - configure router "Base" rsvp interface "int-PE-1-PE-4"

As an example, a static LSP will be created starting from PE-1, running over PE-2 and PE-5, then terminating on PE-6 as shown in Static LSP running over PE-1, PE-2, PE-5, PE-6.

Figure 3. Static LSP running over PE-1, PE-2, PE-5, PE-6

Verify the acceptable label range for use with static configurations for each node; as follows:

[/]
A:admin@PE-1# show router mpls-labels label-range
 
============================================================================
Label Ranges
============================================================================
Label Type      Start Label End Label   Aging       Available   Total
----------------------------------------------------------------------------
Static          32          18431       -           18400       18400
Dynamic         18432       524287      0           505856      505856
    Seg-Route   0           0           -           0           0
============================================================================

The label range for static LSPs extends from the value 32 to 18431. To ensure the labels have not yet been allocated to another configuration, use the command:

[/]
A:admin@PE-2# show router mpls-labels label 32 18431 in-use
 
=================================================================
MPLS Labels from 32 to 18431 (In-use)
=================================================================
Label               Label Type          Label Owner
-----------------------------------------------------------------
-----------------------------------------------------------------
In-use labels (Owner: All) in specified range   : 0
In-use labels in entire range                   : 0
=================================================================

This command shows the number of incoming labels in use. At the iLER, the number of labels in use will remain 0 even after the static LSP has been configured where the iLER has a push operation for a label. The reason is that the labels shown are relevant to the labels that the router is generating, as for label swap or pop operations. There is no information shown about labels that other routers are advertising. For the push operation, any label can be used, even if it is not within the label range of the router pushing the label. For the originating router PE-1, the label 100 will be used for the push operation on the interface toward PE-2.

Static LSPs are configured within the MPLS configuration context, but do not rely on dynamic label signaling.

The configuration of the MPLS static LSP head-end PE-1 contains:

  • The system IP address of the destination router PE-6 (to).

  • A push operation of the out-label 100.

  • The interface address facing the current node of the next-hop along the static path, which is PE-2:

# on PE-1:
configure {
    router "Base" {
        mpls {
            static-lsp "LSP-PE-1-PE-6-static" {
                admin-state enable
                to 192.0.2.6 
                push {
                    out-label 100
                    next-hop 192.168.12.2 
                }
            }
        }

The transit LSRs PE-2 and PE-5 perform swap operations and forward the packet to the manually defined next-hop. On the LSR under the context of the interface on which the incoming LSP arrives, the correct label is selected (label-map) and in this context a swap operation with a new label and the new next-hop is entered. The MPLS configuration on LSR PE-2 is as follows:

# on PE-2:
configure {
    router "Base" {
        mpls {
            interface "int-PE-2-PE-1" {
                label-map 100 {
                    admin-state enable
                    swap {
                        out-label 150
                        next-hop 192.168.25.2
                    }
                }
            }
        }

The MPLS configuration on LSR PE-5 is as follows:

# on PE-5:
configure {
    router "Base" {
        mpls {
            interface "int-PE-5-PE-2" {
                label-map 150 {
                    admin-state enable
                    swap {
                        out-label 200
                        next-hop 192.168.56.2
                    }
                }
            }
        } 

The terminating router PE-6 performs a pop operation and forwards the now unlabeled packets external to the MPLS domain.

# on PE-6:
configure {
    router "Base" {
        mpls {
            interface "int-PE-6-PE-5" {
                label-map 200 {
                    admin-state enable
                    pop 
                }
            }
        } 

To verify the operational status of the static LSP configuration, the show router mpls static-lsp command is used on the iLER. A static LSP is considered to be operationally up when its next-hop is reachable. Because there is no check whether the end-to-end LSP path is up (the LSP connectivity to the eLER is never verified), it can be that the static LSP path is broken while the iLER displays an operational enabled LSP.

[/]
A:admin@PE-1# show router mpls static-lsp 
 
===============================================================================
MPLS Static LSPs (Originating)
===============================================================================
LSP Name     To              Next Hop        Out Label Up/Down Time   Adm  Opr
 ID           Metric          Oper Metric     Out Port                     
-------------------------------------------------------------------------------
LSP-PE-1-PE-6-static
             192.0.2.6       192.168.12.2    100       0d 00:04:31    Up   Up
 1           N/A             N/A             1/1/1
-------------------------------------------------------------------------------
LSPs : 1
===============================================================================

On the LSRs, the keyword transit-terminate transit is added to the command.

On LSR PE-2:

[/]
A:admin@PE-2# show router mpls static-lsp transit-terminate transit
 
===============================================================================
MPLS Static LSPs (Transit)
===============================================================================
In Label    In Port     Out Label   Out Port    Next Hop            Adm   Opr
-------------------------------------------------------------------------------
100         1/1/2       150         1/1/3       192.168.25.2        Up    Up
-------------------------------------------------------------------------------
LSPs : 1
===============================================================================

On LSR PE-5:

[/]
A:admin@PE-5# show router mpls static-lsp transit-terminate transit 
 
===============================================================================
MPLS Static LSPs (Transit)
===============================================================================
In Label    In Port     Out Label   Out Port    Next Hop            Adm   Opr
-------------------------------------------------------------------------------
150         1/1/3       200         1/1/2       192.168.56.2        Up    Up
-------------------------------------------------------------------------------
LSPs : 1
===============================================================================

On the terminating router (eLER), the keyword transit-terminate terminate is added, as follows:

[/]
A:admin@PE-6# show router mpls static-lsp transit-terminate terminate 
 
===============================================================================
MPLS Static LSPs (Terminate)
===============================================================================
In Label    In Port     Out Label   Out Port    Next Hop            Adm   Opr
-------------------------------------------------------------------------------
200         1/1/1       n/a         n/a         n/a                 Up    Up
-------------------------------------------------------------------------------
LSPs : 1
===============================================================================

To track the label action associated with the static LSP configuration, the show router mpls interface label-map command can be used on all LSRs and eLERs, but not on the iLER.

[/]
A:admin@PE-2# show router mpls interface label-map
 
===============================================================================
MPLS Interfaces (Label-Map)
===============================================================================
In Label  In I/F     Out Label Out I/F    Next Hop          Type      Adm  Opr
-------------------------------------------------------------------------------
100       1/1/2      150       1/1/3      192.168.25.2      Static    Up   Up
-------------------------------------------------------------------------------
Interfaces : 1
===============================================================================
[/]
A:admin@PE-6# show router mpls interface label-map
 
===============================================================================
MPLS Interfaces (Label-Map)
===============================================================================
In Label  In I/F     Out Label Out I/F    Next Hop          Type      Adm  Opr
-------------------------------------------------------------------------------
200       1/1/1      n/a       n/a        n/a               Static    Up   Up
-------------------------------------------------------------------------------
Interfaces : 1
===============================================================================

The show router mpls status command is used to verify each of the LSP types, the number of configured LSPs and whether they originate on, transit through or terminate on the router.

[/]
A:admin@PE-1# show router mpls status
===============================================================================
MPLS Status
===============================================================================
Admin Status              : Up
Oper(V4) State            : Up          Oper(V6) State            : Down
IPv4 Oper Down Reason     : n/a
IPv6 Oper Down Reason     : ipv6TeRtrDown
FRR Object                : Enabled     Resignal Timer            : Disabled
Hold Timer                : 1 seconds   Next Resignal             : N/A
Srlg Frr                  : Disabled    Srlg Frr Strict           : Disabled
Admin Group Frr           : Disabled
Dynamic Bypass            : Enabled     User Srlg Database        : Disabled
BypassResignalTimer       : Disabled    BypassNextResignal        : N/A
LeastFill Min Thd         : 5 percent   LeastFill Reopti Thd      : 10 percent
Local TTL Prop            : Enabled     Transit TTL Prop          : Enabled
AB Sample Multiplier      : 1           AB Adjust Multiplier      : 288
Exp Backoff Retry         : Disabled    CSPF On Loose Hop         : Disabled
Lsp Init RetryTimeout     : 30 seconds  MBB Pref Current Hops     : Disabled
Logger Event Bundling     : Disabled
Retry on IGP Overload     : Disabled    Resignal on IGP Overload  : Disabled
P2mp Resignal Timer       : Disabled    P2mp Next Resignal        : N/A
Sec FastRetryTimer        : Disabled    Static LSP FR Timer       : 30 seconds
P2P Max Bypass Association: 1000
Max Bypass PLR Association: 16
P2PActPathFastRetry       : Disabled    P2MP S2L Fast Retry       : Disabled
In Maintenance Mode       : No
MplsTp                    : Disabled
Next Available Lsp Index  : 2
Entropy Label RSVP-TE     : Enabled     Entropy Label SR-TE       : Enabled
PCE Report RSVP-TE        : Disabled    PCE Report SR-TE          : Disabled
PCE Init LSP              : Disabled
SR-TE Resignal Timer      : Disabled    SR-TE Next Resignal       : N/A
SR-TE Resig on IGP Event  : Disabled
LSP Self Ping Timeout     : 300 seconds LSP Self Ping Interval    : 1 seconds
RSVP-TE LSP Self Ping     : Disabled    Self Ping Timeout Action  : retry
===============================================================================
MPLS LSP Count
===============================================================================
                          Originate         Transit           Terminate
-------------------------------------------------------------------------------
Static LSPs               1                 0                 0
Dynamic LSPs              0                 0                 0
P2P LSPs                  0                 N/A               N/A
Detour LSPs               0                 0                 0
P2MP S2Ls                 0                 0                 0
MPLS-TP LSPs              0                 0                 0
Mesh-P2P LSPs             0                 N/A               N/A
One Hop-P2P LSPs          0                 N/A               N/A
SR-TE LSPs                0                 N/A               N/A
Mesh-P2P SR-TE LSPs       0                 N/A               N/A
One Hop-P2P SR-TE LSPs    0                 N/A               N/A
PCE Init SR-TE LSPs       0                 N/A               N/A
===============================================================================

Penultimate Hop Popping (PHP) can be used with static LSPs. This is achieved by configuring the last LSR PE-5 before the eLER PE-6 to swap the incoming label to implicit-null instead of a specific label value, as follows:

# on PE-5:
configure {
    router "Base" {
        mpls {
            interface "int-PE-5-PE-2" {
                label-map 150 {
                    swap {
                        out-label implicit-null-label
                        next-hop 192.168.56.2
                    }
                }
            }
        }

The previous configuration will cause PE-5 to pop the top label from the incoming labeled frame received from PE-2 and send it to PE-6 without adding another outer label. The following command shows out label 3, but label 3 is never actually pushed onto a frame.

[/]
A:admin@PE-5# show router mpls static-lsp transit-terminate transit
 
===============================================================================
MPLS Static LSPs (Transit)
===============================================================================
In Label    In Port     Out Label   Out Port    Next Hop            Adm   Opr
-------------------------------------------------------------------------------
150         1/1/3       3           1/1/2       192.168.56.2        Up    Up
-------------------------------------------------------------------------------
LSPs : 1
===============================================================================

If the traffic arriving at PE-5 were IP with a single label, then it would arrive at PE-6 as unlabeled IP traffic.

If the static LSP spans a single hop, for example, from PE-1 to PE-2, the ingress LER PE-1 pushes the implicit-null instead of a label. The configuration on PE-1 is as follows:

# on PE-1:
configure {
    router "Base" {
         mpls {
            static-lsp "LSP-PE-1-PE-2-static" {
                admin-state enable
                to 192.0.2.2 
                push {
                    out-label implicit-null-label
                    next-hop 192.168.12.2 
                }
            }
        } 

In this case, no MPLS action (swap or pop) is required for this LSP on PE-2.

Conclusion

MPLS provides the capability to establish connection-oriented paths over a connectionless network. The static LSP offers a mechanism to engineer network traffic. In this chapter, the configuration of static LSPs is given together with the associated show output which can be used to verify and troubleshoot.