P2MP mLDP FEC Resolution for BGP-LU in EVPN

This chapter provides information about P2MP mLDP FEC Resolution for BGP-LU in EVPN.

Topics in this chapter include:

Applicability

This chapter was initially written for SR OS Release 16.0.R3, but the MD-CLI in the current edition is based on SR OS Release 21.5.R1. Recursive and non-recursive multicast Label Distribution Protocol (mLDP) Forwarding Equivalence Class (FEC) resolution for BGP Labeled Unicast (BGP-LU) is supported in SR OS Release 15.0.R1 or later; see the P2MP mLDP Inter-AS Model C for EVPN-MPLS Services chapter.

In SR OS Release 15.0.R4, and later, a leaf node in an MVPN can generate non-recursive mLDP mapping messages even if the root IP address is resolved using BGP-LU, without the need to leak BGP routes to IGP and LDP. In SR OS Release 16.0.R1, this is also supported for EVPN-MPLS services.

Overview

In inter-AS and intra-AS scenarios, recursive and non-recursive FEC label mapping messages can be used to set up the mLDP tree. In the P2MP mLDP Inter-AS Model C for EVPN-MPLS Services chapter, recursive and non-recursive mLDP FEC resolution is documented for inter-AS model C.

This chapter describes the following use cases for recursive and non-recursive mLDP FEC resolution for BGP-LU:

  • P2MP mLDP FEC resolution for inter-AS model C

  • P2MP mLDP FEC resolution for seamless MPLS

Some routers do not support recursive mLDP FEC, so basic non-recursive mLDP FEC is used instead. The non-recursive mLDP FEC resolution does not require the root IP address to be leaked from BGP to IGP and LDP. This is different from the configuration in the P2MP mLDP Inter-AS Model C for EVPN-MPLS Services chapter.

Example topology for inter-AS model C shows the example topology for inter-AS model C with the configured protocols (IGP, LDP, BGP). Root node PE-1 is situated in AS 64501 and leaf node PE-4 in AS 64502. P-2 and P-3 are AS Border Routers (ASBRs) that are configured with next-hop-self (NHS). VPLS 1 is configured on root node PE-1 and leaf node PE-4, and is EVPN-MPLS enabled. The example topology for seamless MPLS is similar, but P-2 and P-3 will then act as Area Border Routers (ABRs) and IGP instance 0 is configured between them.

Figure 1. Example topology for inter-AS model C

Recursive mLDP FEC resolution requires the nodes in a remote AS (or remote area in case of seamless MPLS) to support GRT recursive FEC type 7 to join the root node.

  • PE-4 has a labeled BGP route to root PE-1 with next-hop P-3 in its route table. If PE-4 supports it, it sends a GRT recursive FEC type 7 label mapping message with inner root PE-1 and root P-3.

  • P-3 has a labeled BGP route to PE-1 with next-hop P-2. When P-3 receives the mLDP label mapping message from PE-4, it generates its own GRT recursive FEC type 7 message with inner root PE-1 and root P-2.

  • P-2 has an IGP route to root PE-1. When P-2 receives the mLDP label mapping message from P-3, it generates a non-recursive FEC type 1 message with root PE-1.

mLDP FEC label mapping messages for inter-AS model C shows the mLDP label mapping messages for inter-AS model C.

Figure 2. mLDP FEC label mapping messages for inter-AS model C

However, if the leaf node PE-4 does not support GRT recursive FEC type 7, it is possible to generate a non-recursive FEC type 1 label mapping message with root PE-1 to the local ASBR that supports GRT recursive FEC type 7. The following command generates only generic FEC type 1 label mapping messages with PE-1 as the root, on the leaf node PE-4:

# on PE-4:
configure {
    router "Base" {
        ldp {
            generate-basic-fec-only true
Note:

SR OS always generates a recursive FEC if the root node is resolved via BGP; if the root node is resolved via IGP, basic FEC is generated instead. The only way to not generate a recursive FEC when the root is resolved via BGP is by configuring the generate-basic-fec-only command.

Non-recursive mLDP FEC for inter-AS model C shows the non-recursive mLDP label mapping messages for inter-AS model C.

Figure 3. Non-recursive mLDP FEC for inter-AS model C

It is also possible that the ASBR routers do not support GRT recursive FEC either. The same generate-basic-fec-only command can be configured on all these nodes, which will then generate basic FEC type 1 label mapping messages with root address 192.0.2.1 to the next-hop.

Configuration

Example topology shows the example topology with four nodes.

Figure 4. Example topology

The initial configuration includes the following:

  • Cards, MDAs, ports

  • Router interfaces

Inter-AS model C

Example topology for inter-AS model C showed the example topology for inter-AS model C. The following is configured for that topology. For a detailed explanation of the configuration, see the P2MP mLDP Inter-AS Model C for EVPN-MPLS Services chapter.

  • Within each AS, OSPF is configured as IGP (alternatively, IS-IS can be used).

  • LDP is enabled within each AS.

  • LDP is enabled between the ASBRs using the interface IP addresses 192.168.23.x.

  • On the ASBRs, a static route 192.168.23.y/32 for the interface IP address on the ASBR peer is configured (with mask /32 instead of /30). When a label mapping message is received for an LDP FEC prefix, the next-hop for a FEC prefix is resolved using the routing table. The FEC is installed in the Label Information Base (LIB) if the next-hop matches a /32 route entry.

  • BGP is configured on all nodes for the labeled IPv4 address family. An export policy exports the system IP addresses of the root and leaf nodes PE-1 and PE-4.

  • A multi-hop BGP session is established between PE-1 and PE-4 for the EVPN address family, allowing inclusive multicast EVPN routes to be exchanged.

  • EVPN-MPLS VPLS 1 is configured on PE-1 and PE-4 with mLDP enabled. PE-1 is configured as root node.

The BGP configuration on PE-1 is as follows. The BGP configuration on PE-4 is similar, but with different neighbors and AS numbers. The export policy is identical.

# on PE-1:
configure {
    policy-options {
        prefix-list "sysPE" {
            prefix 192.0.2.0/29 type longer {
            }
        }
        policy-statement "PE-sys-to-labeled-BGP" {
            entry 10 {
                from {
                    prefix-list ["sysPE"]
                    protocol {
                        name [direct]
                    }
                }
                to {
                    protocol {
                        name [bgp-label]
                    }
                }
                action {
                    action-type accept
                }
            }
        }
    }
    router "Base" {
        autonomous-system 64501
        bgp {
            split-horizon true
            group "eBGP" {
                multihop 10
                type external
                peer-as 64502
                family {
                    evpn true
                }
                ebgp-default-reject-policy {
                    import false
                    export false
                }
            }
            group "iBGP" {
                type internal
            }
            neighbor 192.0.2.2 {
                group "iBGP"
                family {
                    label-ipv4 true
                }
                export {
                    policy ["PE-sys-to-labeled-BGP"]
                }
            }
            neighbor "192.0.2.4" {
                group "eBGP"
            }

On PE-1, VPLS 1 is configured as follows. The service configuration on PE-4 is similar, but with different RT values and without the root-and-leaf parameter.

# on PE-1:
configure {
    service {
        vpls "EVI-1" {
            admin-state enable
            service-id 1
            customer 1
            bgp 1 {
                route-target {
                    export target:64501:1
                    import target:64502:1
                }
            }
            bgp-evpn {
                evi 1
                mpls 1 {
                    admin-state enable
                    ingress-replication-bum-label
                    auto-bind-tunnel {
                        resolution any
                    }
                }
            }
            sap 1/2/1:1 {
            }
            provider-tunnel {
                inclusive {
                    admin-state enable
                    owner bgp-evpn-mpls
                    root-and-leaf true     # PE-1 is configured as root node
                    mldp
                }
            }
        }

On P-2, the following static route with mask /32 is configured for the interface IP address of the peer ASBR. The configuration on P-3 is similar.

# on P-2:
configure {
    router "Base" {
        static-routes {
            route 192.168.23.2/32 route-type unicast {
                next-hop 192.168.23.2 {
                    admin-state enable
                }
            }

On P-2, the BGP and LDP configuration is as follows. The configuration on P-3 is similar.

# on P-2:
configure {
    policy-options {
        community "64501:0" {
            member "64501:0" { }
        }
        community "64502:0" {
            member "64502:0" { }
        }
        policy-statement "export-bgp" {
            entry 10 {
                from {
                    protocol {
                        name [bgp-label]
                    }
                }
                action {
                    action-type accept
                    origin igp
                    community {
                        add ["64501:0"]
                    }
                }
            }
        }
        policy-statement "import-bgp" {
            entry 10 {
                from {
                    community {
                        name "64502:0"
                    }
                }
                action {
                    action-type accept
                }
            }
        }
    }
    router "Base" {
        autonomous-system 64501
        bgp {
            split-horizon true
            group "eBGP" {
                type external
                import {
                    policy ["import-bgp"]
                }
                export {
                    policy ["export-bgp"]
                }
            }
            group "iBGP" {
                type internal
            }
            neighbor "192.0.2.1" {
                group "iBGP"
                family {
                    label-ipv4 true
                }
                cluster {
                    cluster-id 192.0.2.2
                }
            }
            neighbor "192.168.23.2" {
                advertise-inactive true
                group "eBGP"
                next-hop-self true
                peer-as 64502
                family {
                    label-ipv4 true
                }
            }
        }
        ldp {
            interface-parameters {
                interface "int-P-2-P-3" {
                    ipv4 {
                        admin-state enable
                        local-lsr-id {
                            interface-name "int-P-2-P-3"
                        }
                    }
                }
                interface "int-P-2-PE-1" {
                    ipv4 {
                        admin-state enable
                    }
                }
            }

Leaf node PE-4 has a labeled BGP route toward root node PE-1 using next-hop 192.0.2.3, as follows:

[/]
A:admin@PE-4# 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                                  Remote  BGP_LABEL 00h00m08s  170
       192.0.2.3 (tunneled)                                         10
192.0.2.3/32                                  Remote  OSPF      00h02m33s  10
       192.168.34.1                                                 10
192.0.2.4/32                                  Local   Local     00h02m34s  0
       system                                                       0
192.168.34.0/30                               Local   Local     00h02m34s  0
       int-PE-4-P-3                                                 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
===============================================================================

Likewise, ASBR P-3 has a labeled BGP route toward root node PE-1 using next-hop 192.168.23.1, as follows:

[/]
A:admin@P-3# show router route-table 192.0.2.1/32

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  BGP_LABEL 00h01m35s  170
       192.168.23.1                                                 0
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

P-2 has an IGP route toward root node PE-1, as follows:

[/]
A:admin@P-2# show router route-table 192.0.2.1/32

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  OSPF      00h03m49s  10
       192.168.12.1                                                 10
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

Recursive mLDP FEC resolution for inter-AS model C

With the preceding configuration, leaf node PE-4 sends a recursive mLDP FEC label mapping message with PE-1 as inner root and P-3 as root. On PE-4, the number of GRT recursive mLDP bindings is 1, as follows:

[/]
A:admin@PE-4# show router ldp bindings active p2mp summary ipv4
 No. of Generic IPv4 P2MP Active Bindings: 0
 No. of In-Band-SSM IPv4 P2MP Active Bindings: 0
 No. of In-Band-VPN-SSM IPv4 P2MP Active Bindings: 0
 No. of In-Band-SSM IPv4 P2MP Active Bindings: 0
 No. of VPN Recursive with Generic IPv4 P2MP Active Bindings: 0
 No. of GRT Recursive with Generic IPv4 P2MP Active Bindings: 1
[/]
A:admin@PE-4# show router ldp bindings p2mp opaque-type grt-recursive ipv4 detail

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.4)
             (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 GRT Recursive with Generic IPv4 P2MP Bindings
==============================================================================
-------------------------------------------------------------------------------
P2MP Type      : 7                  P2MP-Id    : 8193
Root-Addr      : 192.0.2.3
InnerRoot-Addr : 192.0.2.1
-------------------------------------------------------------------------------
Peer           : 192.0.2.3:0
Ing Lbl        : 524282U
Egr Lbl        :   --
Egr Int/LspId  :   --
EgrNextHop     :   --
Egr. Flags     : None               Ing. Flags : None
===============================================================================
No. of GRT Recursive with Generic IPv4 P2MP Bindings: 1
==============================================================================

On P-3, there are two GRT recursive mLDP bindings with PE-1 as inner root, as follows:

[/]
A:admin@P-3# show router ldp bindings active p2mp summary ipv4
 No. of Generic IPv4 P2MP Active Bindings: 0
 No. of In-Band-SSM IPv4 P2MP Active Bindings: 0
 No. of In-Band-VPN-SSM IPv4 P2MP Active Bindings: 0
 No. of In-Band-SSM IPv4 P2MP Active Bindings: 0
 No. of VPN Recursive with Generic IPv4 P2MP Active Bindings: 0
 No. of GRT Recursive with Generic IPv4 P2MP Active Bindings: 2

The first GRT recursive mLDP binding has root 192.0.2.3 (P-3), which is the Lower FEC (LF) toward its peer PE-4; the second GRT recursive mLDP binding has root 192.168.23.1 (P-2), which is the Upper FEC (UF) toward the inner root PE-1, as follows:

[/]
A:admin@P-3# show router ldp bindings p2mp opaque-type grt-recursive ipv4 detail

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.3)
             (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 GRT Recursive with Generic IPv4 P2MP Bindings
==============================================================================
-------------------------------------------------------------------------------
P2MP Type      : 7                  P2MP-Id    : 8193
Root-Addr      : 192.0.2.3 (LF)
InnerRoot-Addr : 192.0.2.1
-------------------------------------------------------------------------------
Peer           : 192.0.2.4:0
Ing Lbl        :   --
Egr Lbl        : 524282
Egr Int/LspId  : 1/1/1
EgrNextHop     : 192.168.34.2
Egr. Flags     : None               Ing. Flags : None
Egr If Name    : int-P-3-PE-4
Metric         : 1                  Mtu        : 8986
-------------------------------------------------------------------------------
P2MP Type      : 7                  P2MP-Id    : 8193
Root-Addr      : 192.168.23.1 (UF)
InnerRoot-Addr : 192.0.2.1
-------------------------------------------------------------------------------
Peer           : 192.168.23.1:0
Ing Lbl        : 524281U
Egr Lbl        :   --
Egr Int/LspId  :   --
EgrNextHop     :   --
Egr. Flags     : None               Ing. Flags : None
===============================================================================
No. of GRT Recursive with Generic IPv4 P2MP Bindings: 2
==============================================================================

On P-2, there is one GRT recursive mLDP binding with PE-1 as inner root and a non-recursive mLDP binding with root PE-1, as follows:

[/]
A:admin@P-2# show router ldp bindings active p2mp summary ipv4
 No. of Generic IPv4 P2MP Active Bindings: 1
 No. of In-Band-SSM IPv4 P2MP Active Bindings: 0
 No. of In-Band-VPN-SSM IPv4 P2MP Active Bindings: 0
 No. of In-Band-SSM IPv4 P2MP Active Bindings: 0
 No. of VPN Recursive with Generic IPv4 P2MP Active Bindings: 0
 No. of GRT Recursive with Generic IPv4 P2MP Active Bindings: 1

On P-2, the following GRT recursive mLDP binding with PE-1 as inner root has LF 192.168.23.1, which is an interface address of P-2. The peer is 192.168.23.2, which is an interface address of P-3.

[/]
A:admin@P-2# show router ldp bindings p2mp opaque-type grt-recursive ipv4 detail

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.2)
             (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 GRT Recursive with Generic IPv4 P2MP Bindings
==============================================================================
-------------------------------------------------------------------------------
P2MP Type      : 7                  P2MP-Id    : 8193
Root-Addr      : 192.168.23.1 (LF)
InnerRoot-Addr : 192.0.2.1
-------------------------------------------------------------------------------
Peer           : 192.168.23.2:0
Ing Lbl        :   --
Egr Lbl        : 524281
Egr Int/LspId  : 1/1/1
EgrNextHop     : 192.168.23.2
Egr. Flags     : None               Ing. Flags : None
Egr If Name    : int-P-2-P-3
Metric         : 1                  Mtu        : 8986
===============================================================================
No. of GRT Recursive with Generic IPv4 P2MP Bindings: 1
==============================================================================

On P-2, the following non-recursive mLDP binding to root PE-1 has root address 192.0.2.1 as UF:

[/]
A:admin@P-2# show router ldp bindings p2mp opaque-type generic ipv4 detail

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.2)
             (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 Generic IPv4 P2MP Bindings
==============================================================================
-------------------------------------------------------------------------------
P2MP Type      : 1                  P2MP-Id    : 8193
Root-Addr      : 192.0.2.1 (UF)
-------------------------------------------------------------------------------
Peer           : 192.0.2.1:0
Ing Lbl        : 524281U
Egr Lbl        :   --
Egr Int/LspId  :   --
EgrNextHop     :   --
Egr. Flags     : None               Ing. Flags : None
===============================================================================
No. of Generic IPv4 P2MP Bindings: 1
==============================================================================

On PE-1, there is only a non-recursive mLDP binding with root PE-1, as follows:

[/]
A:admin@PE-1# show router ldp bindings active p2mp summary ipv4
 No. of Generic IPv4 P2MP Active Bindings: 1
 No. of In-Band-SSM IPv4 P2MP Active Bindings: 0
 No. of In-Band-VPN-SSM IPv4 P2MP Active Bindings: 0
 No. of In-Band-SSM IPv4 P2MP Active Bindings: 0
 No. of VPN Recursive with Generic IPv4 P2MP Active Bindings: 0
 No. of GRT Recursive with Generic IPv4 P2MP Active Bindings: 0

On PE-1, the following non-recursive mLDP binding with root PE-1 has peer 192.0.2.2 (P-2):

[/]
A:admin@PE-1# show router ldp bindings p2mp opaque-type generic ipv4 detail
===============================================================================
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 Generic IPv4 P2MP Bindings
==============================================================================
-------------------------------------------------------------------------------
P2MP Type      : 1                  P2MP-Id    : 8193
Root-Addr      : 192.0.2.1
-------------------------------------------------------------------------------
Peer           : 192.0.2.2:0
Ing Lbl        :   --
Egr Lbl        : 524281
Egr Int/LspId  : 1/1/1
EgrNextHop     : 192.168.12.2
Egr. Flags     : None               Ing. Flags : None
Egr If Name    : int-PE-1-P-2
Metric         : 1                  Mtu        : 8986
===============================================================================
No. of Generic IPv4 P2MP Bindings: 1
==============================================================================

Recursive mLDP FEC for inter-AS model C shows the mLDP label mapping messages with the corresponding labels: label 524281 is used between PE-1 and P-2; label 524281 is used between P-2 and P-3; label 524282 is used between P-3 and PE-4.

Figure 5. Recursive mLDP FEC for inter-AS model C

Non-recursive mLDP FEC resolution for inter-AS model C

Some routers may not support GRT recursive FEC type 7. In that case, the router generates a non-recursive FEC type 1 with root PE-1 to the next-hop P-3. In this example, leaf node PE-4 does not support GRT recursive FEC type 7 and is configured to only send basic FEC type 1 messages. ASBR P-3 supports GRT recursive type 7 and sends similar messages as in the preceding scenario. However, it is possible that none of the routers supports GRT recursive FEC type 7. In that case, the generate-basic-fec-only command is configured on all nodes.

The following command is configured on leaf node PE-4 to make the system send only basic FEC type 1 messages:

# on PE-4:
configure {
    router "Base" {
        ldp {
            generate-basic-fec-only true

When PE-4 is configured to only generate basic FEC type 1, PE-4 withdraws the GRT recursive type 7 (T:7) label mapping message with PE-1 as inner root and P-3 as root and sends a non-recursive generic type 1 (T:1) label mapping message with PE-1 as root instead. When debugging is enabled on PE-4 for LDP label mapping messages between P-3 and PE-4, the following messages are logged:

# on PE-4:
1 2021/06/17 08:44:52.342 UTC MINOR: DEBUG #2001 Base LDP
"LDP: LDP
Send Label Withdraw packet (msgId 96) to 192.0.2.3:0
Protocol version = 1
Label 524282 withdrawn for the following FECs
P2MP: root = 192.0.2.3, T: 7, L: 17 (InnerRoot: 192.0.2.1 T: 1, L: 4, TunnelId: 8193)
"

2 2021/06/17 08:44:52.342 UTC MINOR: DEBUG #2001 Base LDP
"LDP: LDP
Send Label Mapping packet (msgId 97) to 192.0.2.3:0
Protocol version = 1
Label 524281 advertised for the following FECs
P2MP: root = 192.0.2.1, T: 1, L: 4, TunnelId: 8193
"

3 2021/06/17 08:44:52.344 UTC MINOR: DEBUG #2001 Base LDP
"LDP: LDP
Recv Label Release packet (msgId 95) from 192.0.2.3:0
Protocol version = 1
Label 524282 released for the following FECs
P2MP: root = 192.0.2.3, T: 7, L: 17 (InnerRoot: 192.0.2.1 T: 1, L: 4, TunnelId: 8193)
"

On PE-4, there is one non-recursive generic mLDP binding, as follows:

[/]
A:admin@PE-4# show router ldp bindings p2mp summary ipv4
 No. of Generic IPv4 P2MP Bindings: 1
 No. of In-Band-SSM IPv4 P2MP Bindings: 0
 No. of In-Band-VPN-SSM IPv4 P2MP Bindings: 0
 No. of Recursive with In-Band-SSM IPv4 P2MP Bindings: 0
 No. of VPN Recursive with Generic IPv4 P2MP Bindings: 0
 No. of GRT Recursive with Generic IPv4 P2MP Bindings: 0

On PE-4, the following non-recursive generic mLDP binding has root PE-1 and peer P-3:

[/]
A:admin@PE-4# show router ldp bindings p2mp opaque-type generic detail ipv4

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.4)
             (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 Generic IPv4 P2MP Bindings
==============================================================================
-------------------------------------------------------------------------------
P2MP Type      : 1                  P2MP-Id    : 8193
Root-Addr      : 192.0.2.1
-------------------------------------------------------------------------------
Peer           : 192.0.2.3:0
Ing Lbl        : 524281U
Egr Lbl        :   --
Egr Int/LspId  :   --
EgrNextHop     :   --
Egr. Flags     : None               Ing. Flags : None
===============================================================================
No. of Generic IPv4 P2MP Bindings: 1
==============================================================================

On P-3, there is one generic mLDP binding and one recursive mLDP binding, as follows:

[/]
A:admin@P-3# show router ldp bindings p2mp summary ipv4
 No. of Generic IPv4 P2MP Bindings: 1
 No. of In-Band-SSM IPv4 P2MP Bindings: 0
 No. of In-Band-VPN-SSM IPv4 P2MP Bindings: 0
 No. of Recursive with In-Band-SSM IPv4 P2MP Bindings: 0
 No. of VPN Recursive with Generic IPv4 P2MP Bindings: 0
 No. of GRT Recursive with Generic IPv4 P2MP Bindings: 1
[/]
A:admin@P-3# show router ldp bindings p2mp opaque-type generic detail ipv4

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.3)
             (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 Generic IPv4 P2MP Bindings
==============================================================================
-------------------------------------------------------------------------------
P2MP Type      : 1                  P2MP-Id    : 8193
Root-Addr      : 192.0.2.1 (LF)
-------------------------------------------------------------------------------
Peer           : 192.0.2.4:0
Ing Lbl        :   --
Egr Lbl        : 524281
Egr Int/LspId  : 1/1/1
EgrNextHop     : 192.168.34.2
Egr. Flags     : None               Ing. Flags : None
Egr If Name    : int-P-3-PE-4
Metric         : 1                  Mtu        : 8986
===============================================================================
No. of Generic IPv4 P2MP Bindings: 1
==============================================================================
[/]
A:admin@P-3# show router ldp bindings p2mp opaque-type grt-recursive detail ipv4

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.3)
             (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 GRT Recursive with Generic IPv4 P2MP Bindings
==============================================================================
-------------------------------------------------------------------------------
P2MP Type      : 7                  P2MP-Id    : 8193
Root-Addr      : 192.168.23.1 (UF)
InnerRoot-Addr : 192.0.2.1
-------------------------------------------------------------------------------
Peer           : 192.168.23.1:0
Ing Lbl        : 524280U
Egr Lbl        :   --
Egr Int/LspId  :   --
EgrNextHop     :   --
Egr. Flags     : None               Ing. Flags : None
===============================================================================
No. of GRT Recursive with Generic IPv4 P2MP Bindings: 1
==============================================================================

On P-2 and PE-1, the mLDP bindings are similar to the preceding scenario, but the labels are different. Non-recursive mLDP FEC for inter-AS model C shows the label mapping messages with label 524280 between PE-1 and P-2 and label 524280 between P-2 and P-3; label 524281 is used between P-3 and PE-4.

Figure 6. Non-recursive mLDP FEC for inter-AS model C

Seamless MPLS

Example topology for seamless MPLS shows the example topology for seamless MPLS.

Figure 7. Example topology for seamless MPLS

The configuration is according to the Seamless MPLS: Isolated IGP/LDP Domains and Labeled BGP chapter in the MPLS volume of 7450 ESS, 7750 SR, and 7950 XRS Advanced Configuration Guide — Part I.

IS-IS is configured as IGP. IS-IS instance 0 is configured between P-2 and P-3, whereas IS-IS instance 1 is configured between P-2 and PE-1 and between P-3 and PE-4. On P-2, IS-IS is configured as follows:

# on P-2:
configure {
    router "Base" {
        isis 0 {
            admin-state enable
            level-capability 2
            area-address [49.0001]
            interface "int-P-2-P-3" {
                interface-type point-to-point
            }
            interface "system" {
            }
        }
        isis 1 {
            admin-state enable
            level-capability 2
            area-address [49.0001]
            interface "int-P-2-PE-1" {
                interface-type point-to-point
            }
            interface "system" {
            }
        }

Other characteristics of this example are as follows:

  • Unlike the preceding use case for inter-AS model C, no static route is required between P-2 and P-3.

  • LDP is configured on all interfaces.

  • VPLS 1 is configured as before, but the route target is identical for import and export, and equal to 64501:1.

  • All nodes are in AS 64501, so only iBGP is configured.

On PE-1, BGP is configured as follows, using the same policy as for inter-AS model C. The BGP configuration on PE-4 is similar, but the neighbors are different.

# on PE-1:
configure {
    router "Base" {
        autonomous-system 64501
        bgp {
            split-horizon true
            group "iBGP" {
                type internal
            }
            neighbor "192.0.2.2" {
                group "iBGP"
                family {
                    label-ipv4 true
                }
                export {
                    policy ["PE-sys-to-labeled-BGP"]
                }
            }
            neighbor "192.0.2.4" {
                group "iBGP"
                family {
                    evpn true
                }
            }
        }

On P-2, the BGP configuration is as follows. The ABRs are configured with next-hop-self in both directions. The BGP configuration is similar on P-3.

# on P-2:
configure {
    router "Base" {
        autonomous-system 64501
        bgp {
            split-horizon true
            group "iBGP" {
                type internal
            }
            neighbor "192.0.2.1" {
                group "iBGP"
                next-hop-self true
                family {
                    label-ipv4 true
                }
                cluster {
                    cluster-id 192.0.2.2
                }
            }
            neighbor "192.0.2.3" {
                advertise-inactive true
                group "iBGP"
                next-hop-self true
                family {
                    label-ipv4 true
                }
            }
        }

The following route table on PE-4 shows a labeled BGP route to root node PE-1 with P-3 as the next-hop:

[/]
A:admin@PE-4# show router route-table 192.0.2.1 

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric   
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  BGP_LABEL 00h00m47s  170
       192.0.2.3 (tunneled)                                         10
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

Likewise, P-3 has a labeled BGP route to root node PE-1 with P-2 as the next-hop, as follows:

[/]
A:admin@P-3# show router route-table 192.0.2.1

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  BGP_LABEL 00h01m00s  170
       192.0.2.2 (tunneled)                                         10
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

P-2 has an IS-IS route to PE-1, using IS-IS instance 1, as follows:

[/]
A:admin@P-2# show router route-table 192.0.2.1

===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags]                            Type    Proto     Age        Pref
      Next Hop[Interface Name]                                    Metric
-------------------------------------------------------------------------------
192.0.2.1/32                                  Remote  ISIS(1)   00h01m51s  18
       192.168.12.1                                                 10
-------------------------------------------------------------------------------
No. of Routes: 1
Flags: n = Number of times nexthop is repeated
       B = BGP backup route available
       L = LFA nexthop available
       S = Sticky ECMP requested
===============================================================================

Recursive mLDP FEC resolution for seamless MPLS

When the leaf node PE-4 supports GRT recursive FEC type 7, it generates one GRT recursive FEC label mapping message with PE-1 as inner root and P-3 as root, as follows:

[/]
A:admin@PE-4# show router ldp bindings p2mp summary ipv4
 No. of Generic IPv4 P2MP Bindings: 0
 No. of In-Band-SSM IPv4 P2MP Bindings: 0
 No. of In-Band-VPN-SSM IPv4 P2MP Bindings: 0
 No. of Recursive with In-Band-SSM IPv4 P2MP Bindings: 0
 No. of VPN Recursive with Generic IPv4 P2MP Bindings: 0
 No. of GRT Recursive with Generic IPv4 P2MP Bindings: 1
[/]
A:admin@PE-4# show router ldp bindings p2mp opaque-type grt-recursive detail ipv4

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.4)
             (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 GRT Recursive with Generic IPv4 P2MP Bindings
==============================================================================
-------------------------------------------------------------------------------
P2MP Type      : 7                  P2MP-Id    : 8193
Root-Addr      : 192.0.2.3
InnerRoot-Addr : 192.0.2.1
-------------------------------------------------------------------------------
Peer           : 192.0.2.3:0
Ing Lbl        : 524281U
Egr Lbl        :   --
Egr Int/LspId  :   --
EgrNextHop     :   --
Egr. Flags     : None               Ing. Flags : None
===============================================================================
No. of GRT Recursive with Generic IPv4 P2MP Bindings: 1
==============================================================================

P-3 has two GRT recursive FEC bindings with inner root 192.0.2.1: one with UF 192.0.2.2 and another with LF 192.0.2.3, as follows:

[/]
A:admin@P-3# show router ldp bindings p2mp opaque-type grt-recursive detail ipv4

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.3)
             (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 GRT Recursive with Generic IPv4 P2MP Bindings
==============================================================================
-------------------------------------------------------------------------------
P2MP Type      : 7                  P2MP-Id    : 8193
Root-Addr      : 192.0.2.2 (UF)
InnerRoot-Addr : 192.0.2.1
-------------------------------------------------------------------------------
Peer           : 192.0.2.2:0
Ing Lbl        : 524281U
Egr Lbl        :   --
Egr Int/LspId  :   --
EgrNextHop     :   --
Egr. Flags     : None               Ing. Flags : None
-------------------------------------------------------------------------------
P2MP Type      : 7                  P2MP-Id    : 8193
Root-Addr      : 192.0.2.3 (LF)
InnerRoot-Addr : 192.0.2.1
-------------------------------------------------------------------------------
Peer           : 192.0.2.4:0
Ing Lbl        :   --
Egr Lbl        : 524281
Egr Int/LspId  : 1/1/1
EgrNextHop     : 192.168.34.2
Egr. Flags     : None               Ing. Flags : None
Egr If Name    : int-P-3-PE-4
Metric         : 1                  Mtu        : 8986
===============================================================================
No. of GRT Recursive with Generic IPv4 P2MP Bindings: 2
==============================================================================

P-2 has one GRT recursive FEC binding with inner root PE-1 and root P-2 (LF). P-2 also has one non-recursive FEC binding with root PE-1 (UF). PE-1 only has a non-recursive FEC binding with root PE-1. Recursive mLDP FEC for seamless MPLS shows the mLDP label mapping messages that all have label 524281 in this example.

Figure 8. Recursive mLDP FEC for seamless MPLS

Non-recursive mLDP FEC resolution for seamless MPLS

For nodes that do not support GRT recursive mLDP FEC type 7, the following command ensures that only non-recursive mLDP type 1 label mapping messages will be sent. In this example, it is assumed that only PE-4 does not support GRT recursive mLDP FEC type 7.

# on PE-4:
configure {
    router "Base" {
        ldp {
            generate-basic-fec-only true

PE-4 sends a non-recursive mLDP label mapping message with PE-1 as the root to its peer P-3, as follows:

[/]
A:admin@PE-4# show router ldp bindings p2mp opaque-type generic detail ipv4

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.4)
             (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 Generic IPv4 P2MP Bindings
==============================================================================
-------------------------------------------------------------------------------
P2MP Type      : 1                  P2MP-Id    : 8193
Root-Addr      : 192.0.2.1
-------------------------------------------------------------------------------
Peer           : 192.0.2.3:0
Ing Lbl        : 524280U
Egr Lbl        :   --
Egr Int/LspId  :   --
EgrNextHop     :   --
Egr. Flags     : None               Ing. Flags : None
===============================================================================
No. of Generic IPv4 P2MP Bindings: 1
==============================================================================

Leaf node sends basic FEC in seamless MPLS shows the label mapping messages when leaf node PE-4 only generates basic FEC type 1 messages.

Figure 9. Leaf node sends basic FEC in seamless MPLS

It is possible that ABR routers do not support GRT recursive either. The same command is configured on P-2 and P-3, as follows:

# on P-2, P-3:
configure {
    router "Base" {
        ldp {
            generate-basic-fec-only true

When generate-basic-fec-only is enabled in the ABRs, P-2 and P-3 will only generate basic FEC messages. On P-3, there are no GRT recursive mLDP bindings anymore, as follows:

[/]
A:admin@P-3# show router ldp bindings p2mp summary ipv4
 No. of Generic IPv4 P2MP Bindings: 2
 No. of In-Band-SSM IPv4 P2MP Bindings: 0
 No. of In-Band-VPN-SSM IPv4 P2MP Bindings: 0
 No. of Recursive with In-Band-SSM IPv4 P2MP Bindings: 0
 No. of VPN Recursive with Generic IPv4 P2MP Bindings: 0
 No. of GRT Recursive with Generic IPv4 P2MP Bindings: 0

The two generic mLDP bindings on P-3 have root address 192.0.2.1, as follows. There is no UF or LF.

[/]
A:admin@P-3# show router ldp bindings p2mp opaque-type generic detail ipv4

===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.3)
             (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 Generic IPv4 P2MP Bindings
==============================================================================
-------------------------------------------------------------------------------
P2MP Type      : 1                  P2MP-Id    : 8193
Root-Addr      : 192.0.2.1
-------------------------------------------------------------------------------
Peer           : 192.0.2.2:0
Ing Lbl        : 524281U
Egr Lbl        :   --
Egr Int/LspId  :   --
EgrNextHop     :   --
Egr. Flags     : None               Ing. Flags : None
-------------------------------------------------------------------------------
P2MP Type      : 1                  P2MP-Id    : 8193
Root-Addr      : 192.0.2.1
-------------------------------------------------------------------------------
Peer           : 192.0.2.4:0
Ing Lbl        :   --
Egr Lbl        : 524280
Egr Int/LspId  : 1/1/1
EgrNextHop     : 192.168.34.2
Egr. Flags     : None               Ing. Flags : None
Egr If Name    : int-P-3-PE-4
Metric         : 1                  Mtu        : 8986
===============================================================================
No. of Generic IPv4 P2MP Bindings: 2
==============================================================================

The output on P-2 is similar. ABRs and leaf node send basic FEC in seamless MPLS shows the label mapping messages when all nodes only generate basic FEC type 1 messages.

Figure 10. ABRs and leaf node send basic FEC in seamless MPLS

Conclusion

In inter-AS and intra-AS scenarios, mLDP trees can be set up using recursive or non-recursive label mapping messages. Routers not supporting recursive FEC can generate only non-recursive FEC, even if the system address of the root node is resolved via BGP. This feature is supported in MVPN and in EVPN.