Seamless MPLS: Isolated IGP/LDP Domains and Labeled BGP

This chapter provides information about Seamless MPLS: Isolated IGP/LDP domains and Labeled BGP.

Topics in this chapter include:

Applicability

This chapter is applicable to SR OS routers and was initially written for SR OS Release 13.0.R7. The CLI in the current edition is based on SR OS Release 23.3.R1.

Overview

Seamless Multi-Protocol Label Switching (MPLS) is a network architecture that extends MPLS networks to integrate access and aggregation networks into a single MPLS domain, to solve the scaling problems in flat MPLS-based deployments. The Seamless MPLS transport concept described in this chapter partitions the core, aggregation, and access networks into isolated IGP/LDP domains. Seamless MPLS does not define any new protocols or technologies and is based on existing and well-known ones. Seamless MPLS provides end-to-end service-independent transport, separating the service and transport plane. Therefore, it removes the need for service-specific configurations in network transport nodes. Service provisioning is restricted only at the points of the network where it is required.

When BGP is used to distribute a route, it can also distribute an MPLS label that is mapped to that route. The label mapping information is appended to the BGP update message that is used to distribute the route. This is described in RFC 3107, Carrying Label Information in BGP-4.

Seamless MPLS - network topology, control and data plane shows a network with a core area and regional areas. Seamless MPLS - network topology, control and data plane also shows the control plane used in this Seamless MPLS implementation. For simplification, the control plane is displayed from right to left and the data plane from left to right. In this example, LDP is used as the underlying transport inside each IGP domain. Alternatively, RSVP-TE could be used.

Figure 1. Seamless MPLS - network topology, control and data plane

In typical Seamless MPLS solutions, multiple ABRs are in place that result in some specific BGP configurations to send/receive multiple paths, such as the add-path feature. Because of this, ANs and ABRs have several next hops for the same prefix, allowing the use of redundancy mechanisms such as BGP Prefix Independent Convergence (PIC) edge, also known as BGP Fast ReRoute (FRR). These mechanisms are beyond the scope of this chapter.

AN routers in a regional area learn the reachability of AN routers in other regional areas through BGP labeled routes redistributed by the local ABRs (RFC 3107).

The label stack contains three labels for packets sent in a VPN service between the access nodes:

  • The ANs push a service label to the packets sent in the VPN service. The service label remains unchanged end-to-end between ANs. The service label is popped by the remote AN and is the inner label of the label stack.

  • The BGP label is the middle label of the label stack and should be regarded as a transport label. The transport label stack is increased to two labels: BGP and LDP transport labels. The BGP label is pushed by the iLER AN and is swapped at the BGP next hop, which can be one of the two local ABRs. Both ABRs are configured with next-hop-self. The BGP label is also swapped by the remote ABR.

  • The iLER AN pushes an LDP transport label to the packets sent to the remote AN to reach the BGP next hop. At the local ABR, the LDP transport label is popped and a new LDP transport label is pushed to reach the BGP next hop (remote ABR). The LDP transport label is swapped in every label switching router (LSR) and popped by the ABR nearest to the remote AN. That ABR pops the LDP transport label, swaps the BGP label, and pushes an LDP transport label to reach the remote eLER AN.

Configuration

Seamless MPLS - IGP/LDP domains shows the example topology that is used in this chapter. An Epipe and VPRN are established between the access nodes AN-1 and AN-5. In the regional areas, and in the core area, IS-IS L2 capability is used.

Figure 2. Seamless MPLS - IGP/LDP domains

Initial configuration

All nodes have the following initial configuration:

  • Cards, media dependent adapters (MDAs), ports

    • Router interfaces:

      # on ABR-2:
      configure
          router
              interface "int-ABR-2-AN-1"
                  address 192.168.12.2/30
                  port 1/1/c1/2
              exit
              interface "int-ABR-2-P-3"
                  address 192.168.23.1/30
                  port 1/1/c1/1
              exit
              interface "system"
                  address 192.0.2.2/32
              exit
          exit
      
  • IS-IS (alternatively, OSPF could be used). Core area and regional areas run an isolated IS-IS instance. ABRs run two IS-IS instances: instance 0 belongs to the core and instance 1 belongs to the access network.

    • Core instance. All ABRs and Ps have level 2 (L2) capability, as follows:

      # on ABR-2:
      configure
          router
              isis 0
                  level-capability level-2
                  area 49.0001
                  interface "system"
                  exit
                  interface "int-ABR-2-P-3"
                      interface-type point-to-point
                  exit
                  no shutdown
              exit
      
    • Access instance. All ABRs and ANs have L2 capability, as follows:

      # on ABR-2:
      configure
          router
              isis 1
                  level-capability level-2
                  interface "system"
                  exit
                  interface "int-ABR-2-AN-1"
                      interface-type point-to-point
                  exit
                  no shutdown
              exit
      
  • LDP

    Link LDP is enabled on all router interfaces on all nodes, as follows:

    # on ABR-2:
    configure
        router
            ldp
                interface-parameters
                    interface "int-ABR-2-AN-1" dual-stack
                        ipv4
                            no shutdown
                        exit
                        no shutdown
                    exit
                    interface "int-ABR-2-P-3" dual-stack
                        ipv4
                            no shutdown
                        exit
                        no shutdown
                    exit
                exit
                no shutdown
            exit
    

Configure BGP

BGP is configured on all ABRs and all ANs. P-3 acts as a core Route Reflector (RR). To allow for separation of core/access IGP domains, the ABRs become RRs inline and implement next-hop-self on labeled IPv4 BGP prefixes. Seamless MPLS - BGP shows the exchange of iBGP Labeled Unicast (LU) routes.

Figure 3. Seamless MPLS - BGP

BGP configuration on ABRs

There are two BGP groups on the ABRs: one group toward the core RR and another group toward the AN, as follows:

# on ABR-2:
configure
    router
        autonomous-system 64496
        bgp
            group "core"
                family vpn-ipv4 label-ipv4
                advertise-inactive
                peer-as 64496
                neighbor 192.0.2.3
                    description "coreRR_P-3"
                    next-hop-self
                exit
            exit
            no shutdown
        exit
    exit

Advertise-inactive must be enabled on the BGP group toward the core. The /32 system IP addresses, learned in labeled BGP, are also learned in IS-IS. Because IS-IS has a lower preference compared to iBGP, the IS-IS routes are installed in the routing table. BGP default behavior only advertises those prefixes that were elected by RTM and used. The VPN IPv4 address family is also included, along with labeled IPv4, to allow setting up L3 VPN services, as shown in next sections. The next-hop attribute of VPN IPv4 prefixes remains unchanged.

# on ABR-2:
configure
    router
        bgp
            group "ANs_Label_IPv4+VPN_IPv4"
                family vpn-ipv4 label-ipv4
                cluster 2.2.2.2
                peer-as 64496
                neighbor 192.0.2.1
                    description "AN-1"
                    next-hop-self
                exit
            exit
            no shutdown
        exit

BGP configuration on the core RR

# on P-3:
configure
    router
        autonomous-system 64496
        bgp
            group "core"
                family vpn-ipv4 label-ipv4
                cluster 3.3.3.3
                peer-as 64496
                advertise-inactive
                neighbor 192.0.2.2
                    description "ABR-2"
                exit
                neighbor 192.0.2.4
                    description "ABR-4"
                exit
            exit
            no shutdown
        exit
    exit

BGP configuration on ANs toward ABRs

# on AN-1:
configure
    router
        autonomous-system 64496
        bgp
            group "ABRs_Label_IPv4+VPN_IPv4"
                family vpn-ipv4 label-ipv4
                peer-as 64496
                neighbor 192.0.2.2
                exit
            exit
            no shutdown
        exit
    exit

Configuring address family label-ipv4 implies that all advertised IPv4 prefixes are sent to the remote BGP peer as an RFC 3107 formatted label. The next-hop-self command only applies to labeled IPv4 prefixes, not to VPN-IPv4.

The BGP sessions can be shown with the following command:

*A:P-3# show router bgp summary all 

===============================================================================
BGP Summary
===============================================================================
Legend : D - Dynamic Neighbor
===============================================================================
Neighbor
Description
ServiceId          AS PktRcvd InQ  Up/Down   State|Rcv/Act/Sent (Addr Family)
                      PktSent OutQ
-------------------------------------------------------------------------------
192.0.2.2
ABR-2
Def. Inst       64496       7    0 00h01m08s 0/0/0 (VpnIPv4)
                            7    0           0/0/0 (Lbl-IPv4)
192.0.2.4
ABR-4
Def. Inst       64496       7    0 00h00m53s 0/0/0 (VpnIPv4)
                            6    0           0/0/0 (Lbl-IPv4)

-------------------------------------------------------------------------------
*A:AN-1# show router bgp summary all 

===============================================================================
BGP Summary
===============================================================================
Legend : D - Dynamic Neighbor
===============================================================================
Neighbor
Description
ServiceId          AS PktRcvd InQ  Up/Down   State|Rcv/Act/Sent (Addr Family)
                      PktSent OutQ
-------------------------------------------------------------------------------
192.0.2.2
Def. Inst       64496       8    0 00h01m34s 0/0/0 (VpnIPv4)
                            8    0           0/0/0 (Lbl-IPv4)

-------------------------------------------------------------------------------

Export policies for BGP

A policy is required on the ANs to advertise the system IP address in labeled BGP toward the ABRs. The same policy is required on the ABRs to advertise their system IP address in labeled BGP toward the core and the AN.

Policy configuration on ANs and ABRs

# on AN-1 and ABR-2:
configure
    router
        policy-options
            begin
            prefix-list "system"
                prefix 192.0.2.1/32 exact
            exit
            policy-statement "export-system"
                entry 10
                    from
                        protocol direct
                        prefix-list "system"
                    exit
                    action accept
                    exit
                exit
            exit
            commit
        exit

This export policy must be applied in the bgp context on AN-1: either in the general settings or per group or per neighbor, as follows:

# on AN-1:
configure
    router
        bgp
            group "ABRs_Label_IPv4+VPN_IPv4"
                export "export-system"
            exit
        exit

The same export policy is applied in the group "core" on ABR-2, as follows:

# on ABR-2:
configure
    router
        bgp
            group "core"
                export "export-system"
            exit
        exit

A similar export policy is defined to export prefix 192.0.2.5 from AN-5 to ABR-4 and from ABR-4 to the RR in the core network, P-3.

The prefix of the remote AN is added to the routing table in AN-1 and services can be configured in the ANs. No service configuration is required in the transit nodes.

*A:AN-1# show router route-table 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
192.0.2.1/32                                  Local   Local     00h08m54s  0
       system                                                       0
192.0.2.2/32                                  Remote  ISIS(1)   00h08m29s  18
       192.168.12.2                                                 10
192.0.2.5/32                                  Remote  BGP_LABEL 00h00m47s  170
       192.0.2.2 (tunneled)                                         10
192.168.12.0/30                               Local   Local     00h08m54s  0
       int-AN-1-ABR-2                                               0
-------------------------------------------------------------------------------
No. of Routes: 4
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

Configure SDP and Epipe

An end-to-end Epipe service is established between AN-1 and AN-5, as shown in End-to-End Epipe service.

Figure 4. End-to-End Epipe service

The SDP is configured on AN-1 and AN-5, as follows:

# on AN-1:
configure
    service
        sdp 15 mpls create
            far-end 192.0.2.5
            bgp-tunnel
            no shutdown
        exit
# on AN-5:
configure
    service
        sdp 51 mpls create
            far-end 192.0.2.1
            bgp-tunnel
            no shutdown
        exit

Epipe 1 is configured on AN-1 and AN-5, as follows:

# on AN-1:
configure
    service
        epipe 1 name "Epipe 1" customer 1 create
            sap 1/1/c1/3:1 create
                no shutdown
            exit
            spoke-sdp 15:1 create
                no shutdown
            exit
            no shutdown
        exit
# on AN-5:
configure
    service 
        epipe 1 name "Epipe 1" customer 1 create
            sap 1/1/c1/3:1 create
                no shutdown
            exit
            spoke-sdp 51:1 create
                no shutdown
            exit
            no shutdown
        exit

The state of the SDP and of the Epipe service can be verified on AN-1, as follows:

*A:AN-1# show service sdp 

============================================================================
Services: Service Destination Points
============================================================================
SdpId  AdmMTU  OprMTU  Far End          Adm  Opr         Del     LSP   Sig
----------------------------------------------------------------------------
15     0       1552    192.0.2.5        Up   Up          MPLS    B     TLDP
----------------------------------------------------------------------------
Number of SDPs : 1
----------------------------------------------------------------------------
Legend: R = RSVP, L = LDP, B = BGP, M = MPLS-TP, n/a = Not Applicable
        I = SR-ISIS, O = SR-OSPF, T = SR-TE, F = FPE
============================================================================
*A:AN-1# show service id 1 base 

===============================================================================
Service Basic Information
===============================================================================
Service Id        : 1                   Vpn Id            : 0
Service Type      : Epipe               
---snip---
Admin State       : Up                  Oper State        : Up
---snip---
-------------------------------------------------------------------------------
Service Access & Destination Points
-------------------------------------------------------------------------------
Identifier                               Type         AdmMTU  OprMTU  Adm  Opr
-------------------------------------------------------------------------------
sap:1/1/c1/3:1                           q-tag        1518    1518    Up   Up
sdp:15:1 S(192.0.2.5)                    Spok         0       1552    Up   Up
===============================================================================
* indicates that the corresponding row element may have been truncated.

The state of the SDP and of the Epipe service can be verified on AN-5, as follows:

*A:AN-5# show service sdp 

============================================================================
Services: Service Destination Points
============================================================================
SdpId  AdmMTU  OprMTU  Far End          Adm  Opr         Del     LSP   Sig
----------------------------------------------------------------------------
51     0       1552    192.0.2.1        Up   Up          MPLS    B     TLDP
----------------------------------------------------------------------------
Number of SDPs : 1
----------------------------------------------------------------------------
Legend: R = RSVP, L = LDP, B = BGP, M = MPLS-TP, n/a = Not Applicable
        I = SR-ISIS, O = SR-OSPF, T = SR-TE, F = FPE
============================================================================
*A:AN-5# show service id 1 base 

===============================================================================
Service Basic Information
===============================================================================
Service Id        : 1                   Vpn Id            : 0
Service Type      : Epipe               
---snip---
Admin State       : Up                  Oper State        : Up
---snip---
-------------------------------------------------------------------------------
Service Access & Destination Points
-------------------------------------------------------------------------------
Identifier                               Type         AdmMTU  OprMTU  Adm  Opr
-------------------------------------------------------------------------------
sap:1/1/c1/3:1                           q-tag        1518    1518    Up   Up
sdp:51:1 S(192.0.2.1)                    Spok         0       1552    Up   Up
===============================================================================
* indicates that the corresponding row element may have been truncated.

Configure VPRN

An L3 VPN service is established on AN-1 and AN-5, as shown in L3 VPN service.

Figure 5. L3 VPN service

The VPRN service is configured on AN-1 and AN-5, as follows. For simplicity, no CEs are attached to the ANs and only one loopback is created for verification.

# on AN-1:
configure
    service
        vprn 2 name "VPRN 2" customer 1 create
            interface "loopback" create
                address 192.0.1.1/32
                loopback
            exit
            bgp-ipvpn
                mpls
                    auto-bind-tunnel
                        resolution any
                    exit
                    route-distinguisher 64496:2
                    vrf-target target:64496:2
                    no shutdown
                exit
            exit
            no shutdown
        exit
# on AN-5:
configure
    service
        vprn 2 name "VPRN 2" customer 1 create
            interface "loopback" create
                address 192.0.1.5/32
                loopback
            exit
            bgp-ipvpn
                mpls
                    auto-bind-tunnel
                        resolution any
                    exit
                    route-distinguisher 64496:2
                    vrf-target target:64496:2
                    no shutdown
                exit
            exit
            no shutdown
        exit

The routing table for VPRN 2 contains the local and the remote loopback addresses. On AN-1, this can be verified as follows:

*A:AN-1# show router 2 route-table 

===============================================================================
Route Table (Service: 2)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
192.0.1.1/32                                  Local   Local     00h05m39s  0
       loopback                                                     0
192.0.1.5/32                                  Remote  BGP VPN   00h00m50s  170
       192.0.2.5 (tunneled:BGP)                                     1000
-------------------------------------------------------------------------------
No. of Routes: 2
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

On AN-5, this can be verified as follows:

*A:AN-5# show router 2 route-table 

===============================================================================
Route Table (Service: 2)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
192.0.1.1/32                                  Remote  BGP VPN   00h01m45s  170
       192.0.2.1 (tunneled:BGP)                                     1000
192.0.1.5/32                                  Local   Local     00h01m50s  0
       loopback                                                     0
-------------------------------------------------------------------------------
No. of Routes: 2
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

Ping messages can be sent from the loopback address in VPRN 2 on AN-1 to the remote loopback address in VPRN 2 on AN-5, as follows:

*A:AN-1# ping router 2 192.0.1.5 
PING 192.0.1.5 56 data bytes
64 bytes from 192.0.1.5: icmp_seq=1 ttl=64 time=2.58ms.
64 bytes from 192.0.1.5: icmp_seq=2 ttl=64 time=2.48ms.
64 bytes from 192.0.1.5: icmp_seq=3 ttl=64 time=2.03ms.
64 bytes from 192.0.1.5: icmp_seq=4 ttl=64 time=1.94ms.
64 bytes from 192.0.1.5: icmp_seq=5 ttl=64 time=1.71ms.

---- 192.0.1.5 PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 1.71ms, avg = 2.15ms, max = 2.58ms, stddev = 0.329ms

In a similar way, ping messages are sent from the loopback address in VPRN 2 on AN-5 to the loopback address in VPRN 2 on AN-1, as follows:

*A:AN-5# ping router 2 192.0.1.1 
PING 192.0.1.1 56 data bytes
64 bytes from 192.0.1.1: icmp_seq=1 ttl=64 time=2.86ms.
64 bytes from 192.0.1.1: icmp_seq=2 ttl=64 time=1.77ms.
64 bytes from 192.0.1.1: icmp_seq=3 ttl=64 time=1.73ms.
64 bytes from 192.0.1.1: icmp_seq=4 ttl=64 time=1.70ms.
64 bytes from 192.0.1.1: icmp_seq=5 ttl=64 time=1.62ms.

---- 192.0.1.1 PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 1.62ms, avg = 1.94ms, max = 2.86ms, stddev = 0.462ms

Data plane overview

Label stacks for traffic from AN-1 to AN-5 shows the label stacks used for traffic from AN-1 to AN-5. As an example, an Epipe service is used.

Figure 6. Label stacks for traffic from AN-1 to AN-5
  1. The service label added for Epipe 1 on AN-1 for egress traffic to AN-5 is 524282. Ingress traffic on AN-1 has service label 524282. This can be shown as follows:

    *A:AN-1# show service id 1 labels 
    
    ===============================================================================
    Martini Service Labels
    ===============================================================================
    Svc Id     Sdp Binding        Type  I.Lbl                 E.Lbl
    -------------------------------------------------------------------------------
    1          15:1               Spok  524282                524282
    -------------------------------------------------------------------------------
    Number of Bound SDPs : 1
    -------------------------------------------------------------------------------
    ===============================================================================
    

    This service label remains unchanged end-to-end.

    On AN-1, the (middle) BGP label for traffic with destination AN-5 is 524282, as follows:

    *A:AN-1# show router bgp routes 192.0.2.5 label-ipv4 
    ===============================================================================
     BGP Router ID:192.0.2.1        AS:64496       Local AS:64496      
    ===============================================================================
     Legend -
     Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                     l - leaked, x - stale, > - best, b - backup, p - purge
     Origin codes  : i - IGP, e - EGP, ? - incomplete
    
    ===============================================================================
    BGP LABEL-IPV4 Routes
    ===============================================================================
    Flag  Network                                            LocalPref   MED
          Nexthop (Router)                                   Path-Id     IGP Cost
          As-Path                                                        Label
    -------------------------------------------------------------------------------
    u*>i  192.0.2.5/32                                       100         None
          192.0.2.2                                          None        10
          No As-Path                                                     524282
    -------------------------------------------------------------------------------
    Routes : 1
    ===============================================================================
    

    The next hop is ABR-2. AN-1 pushes the LDP label 524287 to reach ABR-2, as follows:

    *A:AN-1# show router ldp bindings active prefixes prefix 192.0.2.2/32 
    
    ===============================================================================
    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.2/32                                Push
      --                                        524287
    192.168.12.2                                1/1/c1/1
                                                 
    -------------------------------------------------------------------------------
    No. of IPv4 Prefix Active Bindings: 1
    ===============================================================================
    
  2. At ABR-2, the service label 524282 remains unchanged. The LDP label 524287 is popped, as follows:

    *A:ABR-2# show router ldp bindings active prefixes prefix 192.0.2.2/32 
    
    ===============================================================================
    LDP Bindings (IPv4 LSR ID 192.0.2.2)
                 (IPv6 LSR ID ::)
    ===============================================================================
    ---snip---
    ===============================================================================
    LDP IPv4 Prefix Bindings (Active)
    ===============================================================================
    Prefix                                      Op
    IngLbl                                      EgrLbl
    EgrNextHop                                  EgrIf/LspId
    -------------------------------------------------------------------------------
    192.0.2.2/32                                Pop
    524287                                        --
      --                                          --
                                                 
    -------------------------------------------------------------------------------
    No. of IPv4 Prefix Active Bindings: 1
    ===============================================================================
    

    On ABR-2, the BGP next hop is ABR-4 for prefix 192.0.2.5, as follows:

    *A:ABR-2# show router bgp routes 192.0.2.5 label-ipv4 
    ===============================================================================
     BGP Router ID:192.0.2.2        AS:64496       Local AS:64496      
    ===============================================================================
     Legend -
     Status codes  : u - used, s - suppressed, h - history, d - decayed, * - valid
                     l - leaked, x - stale, > - best, b - backup, p - purge
     Origin codes  : i - IGP, e - EGP, ? - incomplete
    
    ===============================================================================
    BGP LABEL-IPV4 Routes
    ===============================================================================
    Flag  Network                                            LocalPref   MED
          Nexthop (Router)                                   Path-Id     IGP Cost
          As-Path                                                        Label
    -------------------------------------------------------------------------------
    u*>i  192.0.2.5/32                                       100         None
          192.0.2.4                                          None        20
          No As-Path                                                     524282
    -------------------------------------------------------------------------------
    Routes : 1
    ===============================================================================
    

    On ABR-2, the BGP (middle) label 524282 is swapped with (in this case, the same label) 524282 for BGP next hop ABR-4, as follows:

    *A:ABR-2# show router bgp inter-as-label 
    
    ===============================================================================
    BGP Inter-AS labels
    Flags: B - entry has backup, P - entry is promoted
    ===============================================================================
    NextHop                       Received       Advertised     Label
                                  Label          Label          Origin
    -------------------------------------------------------------------------------
    192.0.2.1                     524283         524283         Internal
    192.0.2.4                     524282         524282         Internal
    -------------------------------------------------------------------------------
    Total Labels allocated:   2
    ===============================================================================
    

    ABR-2 pushes a new LDP label (524284) to reach the BGP next hop (ABR-4), as follows:

    *A:ABR-2# show router ldp bindings active prefixes prefix 192.0.2.4/32 
    
    ===============================================================================
    LDP Bindings (IPv4 LSR ID 192.0.2.2)
                 (IPv6 LSR ID ::)
    ===============================================================================
    ---snip---
    ===============================================================================
    LDP IPv4 Prefix Bindings (Active)
    ===============================================================================
    Prefix                                      Op
    IngLbl                                      EgrLbl
    EgrNextHop                                  EgrIf/LspId
    -------------------------------------------------------------------------------
    192.0.2.4/32                                Push
      --                                        524284
    192.168.23.2                                1/1/c1/1
                                                 
    192.0.2.4/32                                Swap
    524284                                      524284
    192.168.23.2                                1/1/c1/1
                                                 
    -------------------------------------------------------------------------------
    No. of IPv4 Prefix Active Bindings: 2
    ===============================================================================
    
  3. At LSR P-3, only an LDP label swap occurs. P-3 swaps LDP label 524284 with 524287, as follows:

    *A:P-3# show router ldp bindings active prefixes prefix 192.0.2.4/32 
    
    ===============================================================================
    LDP Bindings (IPv4 LSR ID 192.0.2.3)
                 (IPv6 LSR ID ::)
    ===============================================================================
    ---snip---
    ===============================================================================
    LDP IPv4 Prefix Bindings (Active)
    ===============================================================================
    Prefix                                      Op
    IngLbl                                      EgrLbl
    EgrNextHop                                  EgrIf/LspId
    -------------------------------------------------------------------------------
    192.0.2.4/32                                Push
      --                                        524287
    192.168.34.2                                1/1/c1/1
                                                 
    192.0.2.4/32                                Swap
    524284                                      524287
    192.168.34.2                                1/1/c1/1
                                                 
    -------------------------------------------------------------------------------
    No. of IPv4 Prefix Active Bindings: 2
    ===============================================================================
    
  4. At ABR-4, LDP label 524287 is popped and BGP label 524282 is swapped to label 524283, as follows:

    *A:ABR-4# show router bgp inter-as-label 
    
    ===============================================================================
    BGP Inter-AS labels
    Flags: B - entry has backup, P - entry is promoted
    ===============================================================================
    NextHop                       Received       Advertised     Label
                                  Label          Label          Origin
    -------------------------------------------------------------------------------
    192.0.2.2                     524283         524283         Internal
    192.0.2.5                     524283         524282         Internal
    -------------------------------------------------------------------------------
    Total Labels allocated:   2
    ===============================================================================
    

    ABR-4 pushes a new LDP label 524287 to reach AN-5, as follows:

    *A:ABR-4# show router ldp bindings active prefixes prefix 192.0.2.5/32 
    
    ===============================================================================
    LDP Bindings (IPv4 LSR ID 192.0.2.4)
                 (IPv6 LSR ID ::)
    ===============================================================================
    ---snip---
    ===============================================================================
    LDP IPv4 Prefix Bindings (Active)
    ===============================================================================
    Prefix                                      Op
    IngLbl                                      EgrLbl
    EgrNextHop                                  EgrIf/LspId
    -------------------------------------------------------------------------------
    192.0.2.5/32                                Push
      --                                        524287
    192.168.45.2                                1/1/c1/1
                                                 
    192.0.2.5/32                                Swap
    524284                                      524287
    192.168.45.2                                1/1/c1/1
                                                 
    -------------------------------------------------------------------------------
    No. of IPv4 Prefix Active Bindings: 2
    ===============================================================================
    
  5. Finally, at AN-5, all labels in the stack are popped. The LDP label 524287 is popped as follows:

    *A:AN-5# show router ldp bindings active prefixes prefix 192.0.2.5/32 
    
    ===============================================================================
    LDP Bindings (IPv4 LSR ID 192.0.2.5)
                 (IPv6 LSR ID ::)
    ===============================================================================
    ---snip---
    ===============================================================================
    LDP IPv4 Prefix Bindings (Active)
    ===============================================================================
    Prefix                                      Op
    IngLbl                                      EgrLbl
    EgrNextHop                                  EgrIf/LspId
    -------------------------------------------------------------------------------
    192.0.2.5/32                                Pop
    524287                                        --
      --                                          --
                                                 
    -------------------------------------------------------------------------------
    No. of IPv4 Prefix Active Bindings: 1
    ===============================================================================
    

    The BGP (middle) label 524283 is popped.

    *A:AN-5# show router bgp inter-as-label 
    
    ===============================================================================
    BGP Inter-AS labels
    Flags: B - entry has backup, P - entry is promoted
    ===============================================================================
    NextHop                       Received       Advertised     Label
                                  Label          Label          Origin
    -------------------------------------------------------------------------------
    0.0.0.0                       0              524283         Edge
    -------------------------------------------------------------------------------
    Total Labels allocated:   1
    ===============================================================================
    

    The ingress service label 524282 is popped, as follows:

    *A:AN-5# show service id 1 labels 
    
    ===============================================================================
    Martini Service Labels
    ===============================================================================
    Svc Id     Sdp Binding        Type  I.Lbl                 E.Lbl
    -------------------------------------------------------------------------------
    1          51:1               Spok  524282                524282
    -------------------------------------------------------------------------------
    Number of Bound SDPs : 1
    -------------------------------------------------------------------------------
    ===============================================================================
    

OAM

The following Operations, Administration, and Maintenance (OAM) commands can be launched to validate reachability between regions using BGP labeled IPv4 routes.

*A:AN-1# oam lsp-ping bgp-label prefix 192.0.2.5/32 
LSP-PING 192.0.2.5/32: 80 bytes MPLS payload
Seq=1, send from intf int-AN-1-ABR-2, reply from 192.0.2.5
       udp-data-len=32 ttl=255 rtt=2.68ms rc=3 (EgressRtr)

---- LSP 192.0.2.5/32 PING Statistics ----
1 packets sent, 1 packets received, 0.00% packet loss
round-trip min = 2.68ms, avg = 2.68ms, max = 2.68ms, stddev = 0.000ms
*A:AN-5# oam lsp-ping bgp-label prefix 192.0.2.1/32 
LSP-PING 192.0.2.1/32: 80 bytes MPLS payload
Seq=1, send from intf int-AN-5-ABR-4, reply from 192.0.2.1
       udp-data-len=32 ttl=255 rtt=2.42ms rc=3 (EgressRtr)

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

In a similar way, LSP trace can validate the reachability of the remote AN, as follows:

*A:AN-1# oam lsp-trace bgp-label prefix 192.0.2.5/32 detail 
lsp-trace to 192.0.2.5/32: 0 hops min, 0 hops max, 104 byte packets
0  192.0.2.1
     DS 1: ipaddr=192.168.12.2 ifaddr=192.168.12.2 iftype=ipv4Numbered MRU=1560
           label[1]=524282 protocol=2(BGP)
1  192.0.2.2  rtt=1.20ms rc=8(DSRtrMatchLabel) rsc=1 
     DS 1: ipaddr=192.168.23.2 ifaddr=192.168.23.2 iftype=ipv4Numbered MRU=1560 
           label[1]=524282 protocol=2(BGP)
2  192.0.2.4  rtt=1.91ms rc=8(DSRtrMatchLabel)
3  192.0.2.5  rtt=2.42ms rc=3(EgressRtr) rsc=1 
*A:AN-5# oam lsp-trace bgp-label prefix 192.0.2.1/32 detail 
lsp-trace to 192.0.2.1/32: 0 hops min, 0 hops max, 104 byte packets
0  192.0.2.5
     DS 1: ipaddr=192.168.45.1 ifaddr=192.168.45.1 iftype=ipv4Numbered MRU=1560
           label[1]=524283 protocol=2(BGP)
1  192.0.2.4  rtt=1.16ms rc=8(DSRtrMatchLabel) rsc=1 
     DS 1: ipaddr=192.168.34.1 ifaddr=192.168.34.1 iftype=ipv4Numbered MRU=1560 
           label[1]=524283 protocol=2(BGP)
2  192.0.2.2  rtt=2.40ms rc=8(DSRtrMatchLabel)
3  192.0.2.1  rtt=2.63ms rc=3(EgressRtr) rsc=1 

Conclusion

Seamless MPLS helps to solve the scalability problems of large networks. Seamless MPLS partitions the core, aggregation, and access networks into isolated IGP/LDP domains, which helps to maintain IGP databases small and controlled. Labeled BGP allows the establishment of hierarchical LSPs for end-to-end service set up.