P2MP mLDP Inter-AS Model C for EVPN-MPLS Services
This chapter provides information about P2MP mLDP Inter-AS Model C for EVPN-MPLS Services.
Topics in this chapter include:
Applicability
This chapter was initially written for SR OS Release 15.0.R5, but the CLI in the current edition is based on SR OS Release 21.5.R1.
Point-to-Multipoint Multicast Label Distribution Protocol (P2MP mLDP) for Broadcast, Unknown Unicast, and Multicast (BUM) traffic in EVPN-MPLS networks is supported in SR OS Release 14.0.R1, and later. EVPN with P2MP mLDP LSPs is supported in a seamless MPLS or inter-AS model C scenario in SR OS Release 15.0.R1, and later. This chapter describes the inter-AS model C scenario, but the configuration for seamless MPLS is similar.
Overview
Chapter P2MP mLDP Tunnels for BUM Traffic in EVPN-MPLS Services describes P2MP mLDP within an Autonomous System (AS). PEs configured as root-and-leaf can send BUM traffic over P2MP mLDP tunnels; PEs configured as not root-and-leaf (that is, leaf-only) can only send BUM traffic over Ingress Replication (IR) tunnels. Both types of PEs (root-and-leaf and leaf-only) can receive BUM traffic over either P2MP mLDP tunnels or IR tunnels.
When provider-tunnel inclusive mldp is enabled in an EVPN-MPLS service in combination with root-and-leaf and bgp-evpn>ingress-repl-inc-mcast-advertisement, the system will send an Inclusive Multicast Ethernet Tag (IMET) route with a composite tunnel type (IMET-P2MP-IR) in the provider tunnel attributed.
Inter-AS VPN model C is described in chapters Inter-AS VPRN Model C and Inter-AS Model C for VLL. Labeled IPv4 unicast BGP is used to provide inter-AS connectivity. The system IP addresses within each AS are exported by the Autonomous System Border Routers (ASBRs) and a multi-hop BGP session is established between root node and leaf node for address family EVPN. The root node advertises a composite IMET-P2MP-IR route to the leaf nodes and the leaf nodes advertise an IMET-IR route to the root node. Inter-AS Model C for P2MP mLDP shows an example topology with root node PE-1 in AS 64501 and leaf node PE-4 in AS 64502. P-2 and P-3 are ASBRs.
The composite IMET-P2MP-IR route received by leaf node PE-4 contains the root node (192.0.2.1) and the LSP ID (0x2001) that will be used by the nodes to set up a P2MP mLDP tree toward the root.
# on PE-4:
3 2021/06/02 08:31:13.913 UTC MINOR: DEBUG #2001 Base Peer 1: 192.0.2.1
"Peer 1: 192.0.2.1: UPDATE
Peer 1: 192.0.2.1 - Received BGP UPDATE:
Withdrawn Length = 0
Total Path Attr Length = 92
Flag: 0x90 Type: 14 Len: 28 Multiprotocol Reachable NLRI:
Address Family EVPN
NextHop len 4 NextHop 192.0.2.1
Type: EVPN-INCL-MCAST Len: 17 RD: 192.0.2.1:1, tag: 0, orig_addr len: 32,
orig_addr: 192.0.2.1
Flag: 0x40 Type: 1 Len: 1 Origin: 0
Flag: 0x40 Type: 2 Len: 6 AS Path:
Type: 2 Len: 1 < 64501 >
Flag: 0xc0 Type: 16 Len: 16 Extended Community:
target:64501:1
bgp-tunnel-encap:MPLS
Flag: 0xc0 Type: 22 Len: 25 PMSI:
Tunnel-type Composite LDP P2MP IR (130)
Flags: (0x0)[Type: None BM: 0 U: 0 Leaf: not required]
MPLS Label1 Ag 0
MPLS Label2 IR 8388544
Root-Node 192.0.2.1, LSP-ID 0x2001
"
The Provider Multicast Service Interface (PMSI) tunnel attribute for tunnel type 130 (composite tunnel) has two MPLS labels, of which MPLS label 1 always equals zero in SR OS Release 21.5.R1, because SR OS does not support aggregated P2MP tunnels. MPLS label 2 is used by the downstream nodes to set up the EVPN-MPLS destination to the root node and add it to the default multicast list. The actual MPLS label only uses the high-order 20 bits out of the 24 bits advertised in the MPLS label. Therefore, the value 8388544 needs to be divided by 16 to get the MPLS label value: 8388544/16 = 524284. This is due to the debug message being shown before the router can parse the label field and see whether it corresponds to an MPLS label (20 bits) or a VXLAN VNI (24 bits). The following command on PE-4 shows the EVPN-MPLS destination 192.0.2.1 with MPLS label 524284 using a BGP transport tunnel:
*A:PE-4# show service id 1 evpn-mpls
===============================================================================
BGP EVPN-MPLS Dest
===============================================================================
TEP Address Egr Label Num. MACs Mcast Last Change
Transport:Tnl Sup BCast Domain
-------------------------------------------------------------------------------
192.0.2.1 524284 0 bum 06/02/2021 08:31:14
bgp:262146 No
-------------------------------------------------------------------------------
Number of entries : 1
-------------------------------------------------------------------------------
===============================================================================
---snip---
The use of mLDP with recursive opaque values is specified in RFC 6512.
When the leaf node PE-4 receives the composite IMET-P2MP-IR route from the root node PE-1, a P2MP mLDP tree needs to be established from the leaf node to the root node. Leaf node PE-4 resolves the IP address of PE-1 to a labeled BGP route with next-hop ASBR P-3. PE-4 then sends an mLDP FEC with root node ASBR P-3 and an opaque value containing the root PE-1 and an LSP ID that was advertised in the IMET-P2MP-IR route, as follows:
# on PE-4:
4 2021/06/02 08:31:13.915 UTC MINOR: DEBUG #2001 Base LDP
"LDP: LDP
Send Label Mapping packet (msgId 40) to 192.0.2.3:0
Protocol version = 1
Label 524283 advertised 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)
"
T: 7 indicates the MLDP recursive FEC type 7. The tunnel ID 8193 corresponds to the hexadecimal value 0x2001 sent by the root node PE-1, which is the inner root 192.0.2.1 in the recursive opaque value.
When ASBR P-3 receives this mLDP FEC, it identifies itself as root node and resolves the recursive opaque value (PE-1, LSP ID) and creates a new mLDP FEC element with root node ASBR P-2 and an identical opaque value (PE-1, LSP ID). The following mLDP FEC is sent to ASBR P-2:
# on P-3:
12 2021/06/02 08:32:36.794 UTC MINOR: DEBUG #2001 Base LDP
"LDP: LDP
Send Label Mapping packet (msgId 34) to 192.168.23.1:0
Protocol version = 1
Label 524279 advertised for the following FECs
P2MP: root = 192.168.23.1, T: 7, L: 17 (InnerRoot: 192.0.2.1 T: 1, L: 4, TunnelId: 8193)
"
ASBR P-2 receives the mLDP FEC and finds that it is the root node. P-2 creates a new mLDP FEC, but no recursion is required because P-2 knows the IP address of PE-1 through the IGP. P-2 sends the following mLDP FEC with root node PE-1, LSP ID 8193, and mLDP FEC type 1.
# on P-2:
12 2021/06/02 08:32:36.814 UTC MINOR: DEBUG #2001 Base LDP
"LDP: LDP
Send Label Mapping packet (msgId 50) to 192.0.2.1:0
Protocol version = 1
Label 524279 advertised for the following FECs
P2MP: root = 192.0.2.1, T: 1, L: 4, TunnelId: 8193
"
Configuration
The example topology was already shown in Inter-AS Model C for P2MP mLDP. The initial configuration includes the following:
Cards, MDAs, ports
Router interfaces
OSPF as IGP within each AS (alternatively, IS-IS can be used)
LDP enabled within each AS
The following two scenarios are configured:
Inter-AS model C for mLDP
Optimized inter-AS model C for mLDP
Inter-AS Model C for mLDP
The initial BGP configuration on the PEs only includes a label-IPv4 peering with the ASBRs. The BGP configuration on PE-1 is as follows:
# on PE-1:
configure
router Base
bgp
group "iBGP"
type internal
neighbor 192.0.2.2
family label-ipv4
exit
On the ASBRs, BGP is configured for address family label-IPv4, both internal to PE-1 and external to the peer ASBR. The BGP configuration on P-2 is as follows:
# on P-2:
configure
router Base
bgp
group "eBGP"
type external
neighbor 192.168.23.2
family label-ipv4
export "PE-sys-to-labeled-BGP"
local-as 64501
peer-as 64502
split-horizon
exit
exit
group "iBGP"
type internal
neighbor 192.0.2.1
family label-ipv4
exit
exit
The BGP configuration on ASBR P-3 is similar, but the IP addresses are different and the local AS and peer AS are swapped. The following export policy is identical on both ASBRs P-2 and P-3:
# on P-2, P-3:
configure
router
policy-options
begin
prefix-list "sysPE"
prefix 192.0.2.0/24 longer
exit
policy-statement "PE-sys-to-labeled-BGP"
entry 10
from
prefix-list "sysPE"
exit
to
protocol bgp-label
exit
action accept
exit
exit
exit
commit
This policy exports the system prefixes as label-IPv4 routes to the eBGP peer.
When a P2MP mLDP tree must be established across ASs, LDP needs to be enabled on the interface between the ASBRs with local-lsr-id interface instead of the default value "system". The LDP configuration on P-2 is as follows:
# on P-2:
configure
router
ldp
interface-parameters
interface "int-P-2-P-3"
ipv4
local-lsr-id interface
exit
exit
With this LDP configuration, a link adjacency will be established toward the interface IP address instead of the system address, as follows:
*A:P-2# show router ldp session ipv4
==============================================================================
LDP IPv4 Sessions
==============================================================================
Peer LDP Id Adj Type State Msg Sent Msg Recv Up Time
------------------------------------------------------------------------------
192.0.2.1:0 Link Established 229 229 0d 00:09:48
192.168.23.2:0 Link Established 137 140 0d 00:05:46
------------------------------------------------------------------------------
No. of IPv4 Sessions: 2
==============================================================================
However, this LDP configuration is insufficient for the resolution of mLDP FEC as link LSR ID. LDP needs a /32 route instead of a /30 route, so the following /32 static route is configured on P-2:
# on P-2:
configure
router
static-route-entry 192.168.23.2/32
next-hop 192.168.23.2
no shutdown
exit
exit
The configuration on ASBR P-3 is similar for static route 192.168.23.1/32. When this static route is not configured, no mLDP label mapping message will be sent from P-3 to P-2, so the mLDP P2MP tree cannot be established.
On PE-1, VPLS 1 is configured with mLDP root-and-leaf, as follows:
# on PE-1:
configure
service
vpls 1 name "EVI-1" customer 1 create
bgp
route-target export target:64501:1 import target:64502:1
exit
bgp-evpn
ingress-repl-inc-mcast-advertisement
evi 1
mpls bgp 1
ingress-replication-bum-label
auto-bind-tunnel
resolution any
exit
no shutdown
exit
exit
provider-tunnel
inclusive
owner bgp-evpn-mpls
root-and-leaf
mldp
no shutdown
exit
exit
stp
shutdown
exit
sap 1/2/1:1 create
no shutdown
exit
no shutdown
On PE-4, VPLS 1 is configured with mLDP leaf-only (no root-and-leaf, which is default), as follows:
# on PE-4:
configure
service
vpls 1 name "EVI-1" customer 1 create
bgp
route-target export target:64502:1 import target:64501:1
exit
bgp-evpn
evi 1
mpls bgp 1
ingress-replication-bum-label
auto-bind-tunnel
resolution any
exit
no shutdown
exit
exit
provider-tunnel
inclusive
owner bgp-evpn-mpls
mldp
no shutdown
exit
exit
stp
shutdown
exit
sap 1/2/1:1 create
no shutdown
exit
no shutdown
The Route Distinguisher (RD) is auto-derived from EVI 1, but the route target (RT) should not be auto-derived, because the export RT on PE-1 must match the import RT on PE-4, and vice versa. It is an option to configure an identical RT on all PEs, such as 1:1, but in this example, the export RT on PE-1 is 64501:1, which equals the import RT on PE-4. When the RTs do not match, the BGP routes will be received at the PE in the peer AS, but they will not become active and no mLDP P2MP tree can be established.
Multi-hop BGP peering is configured between PE-1 and PE-4 for address family EVPN. The external BGP configuration on PE-1 is as follows:
# on PE-1:
configure
router
bgp
split-horizon
group eBGP
family evpn
multihop 10
local-as 64501
peer-as 64502
neighbor 192.0.2.4
exit
exit
The external BGP configuration on PE-4 is similar, but the local AS and peer AS are swapped, and the neighbor IP address is different.
Inter-AS Model C for mLDP - Verification
The following BGP summary shows that P-2 has sent and received two prefixes with its eBGP peer P-3 and has advertised two prefixes to its iBGP peer PE-1:
*A:P-2# 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.1
Def. Instance 64501 11 0 00h04m03s 0/0/2 (Lbl-IPv4)
13 0
192.168.23.2
Def. Instance 64502 12 0 00h03m54s 2/2/2 (Lbl-IPv4)
12 0
-------------------------------------------------------------------------------
ASBR P-2 advertised the following prefixes from AS 64501 to its neighbor P-3:
*A:P-2# show router bgp neighbor 192.168.23.2 advertised-routes label-ipv4
===============================================================================
BGP Router ID:192.0.2.2 AS:64501 Local AS:64501
===============================================================================
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 Routes
===============================================================================
Flag Network LocalPref MED
Nexthop (Router) Path-Id IGP Cost
As-Path Label
-------------------------------------------------------------------------------
i 192.0.2.1/32 n/a 10
192.168.23.1 None n/a
64501 524284
i 192.0.2.2/32 n/a None
192.168.23.1 None n/a
64501 524285
-------------------------------------------------------------------------------
Routes : 2
===============================================================================
ASBR P-2 received the following prefixes from AS 64502 from its neighbor P-3. Both routes are used.
*A:P-2# show router bgp neighbor 192.168.23.2 received-routes label-ipv4
===============================================================================
BGP Router ID:192.0.2.2 AS:64501 Local AS:64501
===============================================================================
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 Routes
===============================================================================
Flag Network LocalPref MED
Nexthop (Router) Path-Id IGP Cost
As-Path Label
-------------------------------------------------------------------------------
u*>i 192.0.2.3/32 n/a None
192.168.23.2 None 0
64502 524285
u*>i 192.0.2.4/32 n/a 10
192.168.23.2 None 0
64502 524284
-------------------------------------------------------------------------------
Routes : 2
===============================================================================
These routes are advertised by P-2 to its iBGP neighbor PE-1, so PE-1 will have the same label-IPv4 routes. The following command shows the route table on PE-1 that includes tunneled routes to P-3 and PE-4 in AS 64502.
*A:PE-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 00h06m21s 0
system 0
192.0.2.2/32 Remote OSPF 00h06m13s 10
192.168.12.2 10
192.0.2.3/32 Remote BGP_LABEL 00h03m20s 170
192.0.2.2 (tunneled) 10
192.0.2.4/32 Remote BGP_LABEL 00h03m20s 170
192.0.2.2 (tunneled) 10
192.168.12.0/30 Local Local 00h06m21s 0
int-PE-1-P-2 0
-------------------------------------------------------------------------------
No. of Routes: 5
Flags: n = Number of times nexthop is repeated
B = BGP backup route available
L = LFA nexthop available
S = Sticky ECMP requested
===============================================================================
The following command shows the tunnel table on PE-1:
*A:PE-1# show router tunnel-table
===============================================================================
IPv4 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref Nexthop Metric
Color
-------------------------------------------------------------------------------
127.0.128.0/32 sdp MPLS 32767 5 127.0.128.0 0
192.0.2.2/32 ldp MPLS 65537 9 192.168.12.2 10
192.0.2.3/32 bgp MPLS 262145 12 192.0.2.2 1000
192.0.2.4/32 bgp MPLS 262146 12 192.0.2.2 1000
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
L = Loop-Free Alternate (LFA) hop available
E = Inactive best-external BGP route
k = RIB-API or Forwarding Policy backup hop
===============================================================================
The tunnels toward P-3 and PE-4 are BGP tunnels. The SDP in the list is auto-created on the root node by mLDP. The output of these show commands on PE-4 is similar, but no SDP will be created on a leaf-only node.
The route-table on ASBR P-2 includes tunneled routes toward P-3 and PE-4 and a static route to 192.168.23.2/32, as follows:
*A:P-2# 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 OSPF 00h06m24s 10
192.168.12.1 10
192.0.2.2/32 Local Local 00h06m25s 0
system 0
192.0.2.3/32 Remote BGP_LABEL 00h03m50s 170
192.168.23.2 0
192.0.2.4/32 Remote BGP_LABEL 00h03m50s 170
192.168.23.2 0
192.168.12.0/30 Local Local 00h06m25s 0
int-P-2-PE-1 0
192.168.23.0/30 Local Local 00h06m25s 0
int-P-2-P-3 0
192.168.23.2/32 Remote Static 00h00m28s 5
192.168.23.2 1
-------------------------------------------------------------------------------
No. of Routes: 7
Flags: n = Number of times nexthop is repeated
B = BGP backup route available
L = LFA nexthop available
S = Sticky ECMP requested
===============================================================================
The tunnel table on P-2 has an LDP tunnel toward PE-1 and a BGP tunnel toward P-3 and PE-4, as follows:
*A:P-2# show router tunnel-table
===============================================================================
IPv4 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref Nexthop Metric
Color
-------------------------------------------------------------------------------
192.0.2.1/32 ldp MPLS 65537 9 192.168.12.1 10
192.0.2.3/32 bgp MPLS 262146 12 192.168.23.2 1000
192.0.2.4/32 bgp MPLS 262145 12 192.168.23.2 1000
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
L = Loop-Free Alternate (LFA) hop available
E = Inactive best-external BGP route
k = RIB-API or Forwarding Policy backup hop
===============================================================================
One BGP-EVPN IMET route is received and used on PE-1:
*A:PE-1# show router bgp routes evpn incl-mcast
===============================================================================
BGP Router ID:192.0.2.1 AS:64501 Local AS:64501
===============================================================================
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 EVPN Inclusive-Mcast Routes
===============================================================================
Flag Route Dist. OrigAddr
Tag NextHop
-------------------------------------------------------------------------------
u*>i 192.0.2.4:1 192.0.2.4
0 192.0.2.4
-------------------------------------------------------------------------------
Routes : 1
===============================================================================
The preceding route is an IMET-IR route received from node PE-4, as follows:
*A:PE-1# show router bgp routes evpn incl-mcast detail
===============================================================================
BGP Router ID:192.0.2.1 AS:64501 Local AS:64501
===============================================================================
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 EVPN Inclusive-Mcast Routes
===============================================================================
Original Attributes
Network : n/a
Nexthop : 192.0.2.4
From : 192.0.2.4
Res. Nexthop : n/a
Local Pref. : n/a Interface Name : NotAvailable
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
AIGP Metric : None IGP Cost : 0
Connector : None
Community : target:64502:1 bgp-tunnel-encap:MPLS
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 192.0.2.4
Flags : Used Valid Best IGP
Route Source : External
AS-Path : 64502
EVPN type : INCL-MCAST
Tag : 0
Originator IP : 192.0.2.4
Route Dist. : 192.0.2.4:1
Route Tag : 0
Neighbor-AS : 64502
Orig Validation: N/A
Source Class : 0 Dest Class : 0
Add Paths Send : Default
Last Modified : 00h01m57s
-------------------------------------------------------------------------------
PMSI Tunnel Attributes :
Tunnel-type : Ingress Replication
Flags : Type: RNVE(0) BM: 0 U: 0 Leaf: not required
MPLS Label : LABEL 524284
Tunnel-Endpoint: 192.0.2.4
-------------------------------------------------------------------------------
---snip---
PE-4 has received an IMET-P2MP-IR route sent by root node PE-1, as follows:
*A:PE-4# show router bgp routes evpn incl-mcast detail
===============================================================================
BGP Router ID:192.0.2.4 AS:64502 Local AS:64502
===============================================================================
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 EVPN Inclusive-Mcast Routes
===============================================================================
Original Attributes
Network : n/a
Nexthop : 192.0.2.1
From : 192.0.2.1
Res. Nexthop : n/a
Local Pref. : n/a Interface Name : NotAvailable
Aggregator AS : None Aggregator : None
Atomic Aggr. : Not Atomic MED : None
AIGP Metric : None IGP Cost : 0
Connector : None
Community : target:64501:1 bgp-tunnel-encap:MPLS
Cluster : No Cluster Members
Originator Id : None Peer Router Id : 192.0.2.1
Flags : Used Valid Best IGP
Route Source : External
AS-Path : 64501
EVPN type : INCL-MCAST
Tag : 0
Originator IP : 192.0.2.1
Route Dist. : 192.0.2.1:1
Route Tag : 0
Neighbor-AS : 64501
Orig Validation: N/A
Source Class : 0 Dest Class : 0
Add Paths Send : Default
Last Modified : 00h01m59s
-------------------------------------------------------------------------------
PMSI Tunnel Attributes :
Tunnel-type : Composite LDP P2MP IR
Flags : Type: RNVE(0) BM: 0 U: 0 Leaf: not required
MPLS Label1 Ag : LABEL 0
MPLS Label2 IR : LABEL 524284
Root-Node : 192.0.2.1 LSP-ID : 8193
-------------------------------------------------------------------------------
---snip---
When leaf node PE-4 receives this IMET-P2MP-IR route, a provider tunnel is established toward the root. One P2MP LDP binding of opaque type GRT recursive is active on PE-4:
*A: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
The following GRT recursive P2MP LDP binding with root P-3 and inner root PE-1 is active on PE-4:
*A:PE-4# show router ldp bindings active p2mp opaque-type grt-recursive 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 (Active)
===============================================================================
P2MP-Id
InnerRootAddr Interface
RootAddr Op
IngLbl EgrLbl
EgrNH EgrIf/LspId
-------------------------------------------------------------------------------
8193
192.0.2.1 73728
192.0.2.3 Pop
524283 --
-- --
-------------------------------------------------------------------------------
No. of GRT Recursive with Generic IPv4 P2MP Active Bindings: 1
===============================================================================
The following detailed output shows that the P2MP type is 7:
*A:PE-4# show router ldp bindings active 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 (Active)
==============================================================================
-------------------------------------------------------------------------------
P2MP Type : 7 P2MP-Id : 8193
Root-Addr : 192.0.2.3
InnerRoot-Addr : 192.0.2.1
-------------------------------------------------------------------------------
Op : Pop
Ing Lbl : 524283
Egr Lbl : --
Egr Int/LspId : --
EgrNextHop : --
Egr. Flags : None Ing. Flags : None
===============================================================================
No. of GRT Recursive with Generic IPv4 P2MP Active Bindings: 1
==============================================================================
P-3 has two P2MP LDP bindings active: one toward the—downstream—lower FEC (LF) PE-4 and another to the—upstream—upper FEC (UF) P-2, as follows. Both P2MP LDP bindings have inner root 192.0.2.1 and they are stitched to each other.
*A:P-3# show router ldp bindings active p2mp opaque-type grt-recursive 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 (Active)
===============================================================================
P2MP-Id
InnerRootAddr Interface
RootAddr Op
IngLbl EgrLbl
EgrNH EgrIf/LspId
-------------------------------------------------------------------------------
8193
192.0.2.1 Unknw
192.0.2.3 (LF) Push
-- 524283
192.168.34.2 1/1/1
8193
192.0.2.1 Unknw
192.168.23.1 (UF) Swap
524279 Stitched
-- --
-------------------------------------------------------------------------------
No. of GRT Recursive with Generic IPv4 P2MP Active Bindings: 2
===============================================================================
P-2 has two P2MP LDP bindings active: one GRT recursive (type 7) and one generic (type 1), as follows:
*A: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 GRT recursive P2MP LDP binding with inner root 192.0.2.1 is toward LF P-3, as follows:
*A:P-2# show router ldp bindings active p2mp opaque-type grt-recursive ipv4
===============================================================================
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 (Active)
===============================================================================
P2MP-Id
InnerRootAddr Interface
RootAddr Op
IngLbl EgrLbl
EgrNH EgrIf/LspId
-------------------------------------------------------------------------------
8193
192.0.2.1 Unknw
192.168.23.1 (LF) Push
-- 524279
192.168.23.2 1/1/1
-------------------------------------------------------------------------------
No. of GRT Recursive with Generic IPv4 P2MP Active Bindings: 1
===============================================================================
On P-2, the generic P2MP LDP binding is toward UF PE-1, as follows. The UF has root address 192.0.2.1 and is stitched to the LF with inner root address 192.0.2.1.
*A:P-2# show router ldp bindings active p2mp opaque-type generic ipv4
===============================================================================
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 (Active)
===============================================================================
P2MP-Id Interface
RootAddr Op
IngLbl EgrLbl
EgrNH EgrIf/LspId
-------------------------------------------------------------------------------
8193 Unknw
192.0.2.1 (UF) Swap
524279 Stitched
-- --
-------------------------------------------------------------------------------
No. of Generic IPv4 P2MP Active Bindings: 1
===============================================================================
PE-1 has one P2MP LDP active binding toward LF P-2 (type 1- generic):
*A:PE-1# show router ldp bindings active p2mp opaque-type generic ipv4
===============================================================================
LDP Bindings (IPv4 LSR ID 192.0.2.1)
(IPv6 LSR ID ::)
===============================================================================
Label Status:
U - Label In Use, N - Label Not In Use, W - Label Withdrawn
WP - Label Withdraw Pending, BU - Alternate For Fast Re-Route
e - Label ELC
FEC Flags:
LF - Lower FEC, UF - Upper FEC, M - Community Mismatch,
BA - ASBR Backup FEC
===============================================================================
LDP Generic IPv4 P2MP Bindings (Active)
===============================================================================
P2MP-Id Interface
RootAddr Op
IngLbl EgrLbl
EgrNH EgrIf/LspId
-------------------------------------------------------------------------------
8193 73728
192.0.2.1 Push
-- 524279
192.168.12.2 1/1/1
-------------------------------------------------------------------------------
No. of Generic IPv4 P2MP Active Bindings: 1
===============================================================================
The EVPN BUM traffic is forwarded from the root node PE-1 to the leaf node PE-4 over the P2MP tree. The following command on root node PE-1 shows that an EVPN destination (that uses a BGP tunnel) toward leaf node PE-4 is established, and can carry multicast traffic (BUM):
*A:PE-1# show service id 1 evpn-mpls
===============================================================================
BGP EVPN-MPLS Dest
===============================================================================
TEP Address Egr Label Num. MACs Mcast Last Change
Transport:Tnl Sup BCast Domain
-------------------------------------------------------------------------------
192.0.2.4 524284 0 bum 06/02/2021 08:31:14
bgp:262146 No
-------------------------------------------------------------------------------
Number of entries : 1
-------------------------------------------------------------------------------
===============================================================================
---snip---
The provider tunnel in VPLS 1 is established using LDP and the operational state is up, as follows. The router will always use the provider tunnel and not the EVPN-MPLS destination, as long as the provider tunnel Oper State is up:
*A:PE-1# show service id 1 provider-tunnel
===============================================================================
Service Provider Tunnel Information
===============================================================================
Type : inclusive Root and Leaf : enabled
Admin State : enabled Data Delay Intvl : 15 secs
PMSI Type : ldp LSP Template :
Remain Delay Intvl : 0 secs LSP Name used : 8193
PMSI Owner : bgpEvpnMpls
Oper State : up Root Bind Id : 32767
===============================================================================
The following SDP of type VplsPmsi is auto-created in VPLS 1 on root node PE-1:
*A:PE-1# show service id 1 sdp
===============================================================================
Services: Service Destination Points
===============================================================================
SdpId Type Far End addr Adm Opr I.Lbl E.Lbl
-------------------------------------------------------------------------------
32767:4294967294 VplsPmsi not applicable Up Up None 3
-------------------------------------------------------------------------------
Number of SDPs : 1
-------------------------------------------------------------------------------
===============================================================================
The following tools dump command shows the originating provider tunnels for VPLS 1 on root node PE-1:
*A:PE-1# tools dump service id 1 provider-tunnels type originating
===============================================================================
VPLS 1 Inclusive Provider Tunnels Originating
===============================================================================
ipmsi (LDP) P2MP-ID Root-Addr
-------------------------------------------------------------------------------
8193 8193 192.0.2.1
-------------------------------------------------------------------------------
The following command shows the terminating provider tunnels for VPLS 1 on leaf node PE-4:
*A:PE-4# tools dump service id 1 provider-tunnels type terminating
===============================================================================
VPLS 1 Inclusive Provider Tunnels Terminating
===============================================================================
ipmsi (LDP) P2MP-ID Root-Addr
-------------------------------------------------------------------------------
8193 192.0.2.1
-------------------------------------------------------------------------------
Optimized Inter-AS Model C for mLDP
When some leaf nodes do not support labeled BGP routes or recursive opaque mLDP label mapping, the ASBR in the AS where the leaf nodes are situated needs to leak the root IP address into the leaf PE IGP, which allows the leaf node PE-4 to send a generic FEC type 1 to join the root. The recursive opaque functionality is pushed to the local ASBR P-3.
Example topology for optimized Inter-AS Model C for mLDP shows the example topology for the optimized inter-AS model C for mLDP.
The configuration starts with the configuration in the preceding section Inter-AS Model C for mLDP. The policy to export system prefixes from the ASs to labeled BGP is already configured and applied on both ASBRs. The following additional policies are defined on ASBR P-3 in the AS of the leaf node to export labeled BGP routes to OSPF and to LDP.
# on ASBR P-3:
configure
router
policy-options
begin
policy-statement "bgpToOspf"
entry 10
from
protocol bgp-label
exit
to
protocol ospf
exit
action accept
exit
exit
exit
policy-statement "bgpToLdp"
entry 10
from
protocol bgp-label
exit
to
protocol ldp
exit
action accept
exit
exit
exit
commit
Policy "bgpToOspf" is configured in the OSPF context and policy "bgpToLdp" in the ldp context, as follows:
# on ASBR P-3:
configure
router Base
ospf
export "bgpToOspf"
exit
ldp
export-tunnel-table "bgpToLdp"
exit
Optimized Inter-AS Model C for mLDP - Verification
The prefixes from AS 64501 are now exported to OSPF and LDP in AS 64502; therefore, leaf node PE-4 will no longer use the labeled BGP routes to a node in AS 64501.
*A:PE-4# show router bgp routes label-ipv4
===============================================================================
BGP Router ID:192.0.2.4 AS:64502 Local AS:64502
===============================================================================
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 Routes
===============================================================================
Flag Network LocalPref MED
Nexthop (Router) Path-Id IGP Cost
As-Path Label
-------------------------------------------------------------------------------
*i 192.0.2.1/32 100 10
192.0.2.3 None 10
64501 524283
*i 192.0.2.2/32 100 None
192.0.2.3 None 10
64501 524282
-------------------------------------------------------------------------------
Routes : 2
===============================================================================
The following route table in PE-4 shows that an OSPF route exists toward prefix 192.0.2.1:
*A: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 OSPF 00h00m21s 150
192.168.34.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
===============================================================================
On PE-4, all tunnels are LDP tunnels; no BGP tunnels are established from PE-4 to PE-1 and P-2, as follows:
*A:PE-4# show router tunnel-table
===============================================================================
IPv4 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref Nexthop Metric
Color
-------------------------------------------------------------------------------
192.0.2.1/32 ldp MPLS 65538 9 192.168.34.1 10
192.0.2.2/32 ldp MPLS 65539 9 192.168.34.1 1
192.0.2.3/32 ldp MPLS 65537 9 192.168.34.1 10
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
L = Loop-Free Alternate (LFA) hop available
E = Inactive best-external BGP route
k = RIB-API or Forwarding Policy backup hop
===============================================================================
On all other nodes, the route table and tunnel table are the same as in the non-optimized scenario. The route table and the tunnel table for ASBR P-3 are as follows:
*A:P-3# show router route-table protocol bgp-label
===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
192.0.2.1/32 Remote BGP_LABEL 00h10m48s 170
192.168.23.1 0
192.0.2.2/32 Remote BGP_LABEL 00h10m48s 170
192.168.23.1 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
===============================================================================
*A:P-3# show router tunnel-table
===============================================================================
IPv4 Tunnel Table (Router: Base)
===============================================================================
Destination Owner Encap TunnelId Pref Nexthop Metric
Color
-------------------------------------------------------------------------------
192.0.2.1/32 bgp MPLS 262145 12 192.168.23.1 1000
192.0.2.2/32 bgp MPLS 262146 12 192.168.23.1 1000
192.0.2.4/32 ldp MPLS 65537 9 192.168.34.2 10
-------------------------------------------------------------------------------
Flags: B = BGP or MPLS backup hop available
L = Loop-Free Alternate (LFA) hop available
E = Inactive best-external BGP route
k = RIB-API or Forwarding Policy backup hop
===============================================================================
Root node PE-1 will send an IMET-P2MP-IR route to leaf node PE-4. PE-4 will send an mLDP label mapping message type 1 instead of type 7, because there is an LDP tunnel toward PE-1 instead of a BGP tunnel. The only P2MP mLDP binding on leaf node PE-4 is a generic P2MP binding, as follows:
*A: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
PE-4 sends the following mLDP label mapping message type 1 with root address 192.0.2.1 (PE-1) to its peer P-3.
15 2021/06/02 08:39:21.702 UTC MINOR: DEBUG #2001 Base LDP
"LDP: LDP
Send Label Mapping packet (msgId 100) to 192.0.2.3:0
Protocol version = 1
Label 524279 advertised for the following FECs
P2MP: root = 192.0.2.1, T: 1, L: 4, TunnelId: 8193
"
The following generic P2MP mLDP binding for root address 192.0.2.1 is seen on PE-4:
*A: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 : 524279U
Egr Lbl : --
Egr Int/LspId : --
EgrNextHop : --
Egr. Flags : None Ing. Flags : None
===============================================================================
No. of Generic IPv4 P2MP Bindings: 1
==============================================================================
ASBR P-3 receives the generic P2MP mLDP label mapping message from PE-4 (T: 1) and resolves the root node 192.0.2.1 to next-hop P-2. P-3 sends a GRT recursive P2MP mLDP label mapping message (T: 7) with inner root 192.0.2.1 to its peer P-2 (root 192.168.23.1) in AS 64501:
25 2021/06/02 08:39:21.696 UTC MINOR: DEBUG #2001 Base LDP
"LDP: LDP
Recv Label Mapping packet (msgId 100) from 192.0.2.4:0
Protocol version = 1
Label 524279 advertised for the following FECs
P2MP: root = 192.0.2.1, T: 1, L: 4, TunnelId: 8193
"
26 2021/06/02 08:39:21.696 UTC MINOR: DEBUG #2001 Base LDP
"LDP: LDP
Send Label Mapping packet (msgId 81) to 192.168.23.1:0
Protocol version = 1
Label 524278 advertised for the following FECs
P2MP: root = 192.168.23.1, T: 7, L: 17 (InnerRoot: 192.0.2.1 T: 1, L: 4, TunnelId: 8193)
"
*A: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 : 524279
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 : 1564
===============================================================================
No. of Generic IPv4 P2MP Bindings: 1
==============================================================================
*A: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 : 524278U
Egr Lbl : --
Egr Int/LspId : --
EgrNextHop : --
Egr. Flags : None Ing. Flags : None
===============================================================================
No. of GRT Recursive with Generic IPv4 P2MP Bindings: 1
==============================================================================
The P2MP mLDP bindings on P-2 and PE-1 are the same as in the previous non-optimized inter-AS model C for mLDP scenario. P-2 has one GRT recursive mLDP binding to P-3 and one generic mLDP binding to root node PE-1, whereas PE-1 only has a generic mLDP binding to P-2.
The following command on root node PE-1 shows that an EVPN-MPLS destination is created to the leaf node PE-4. This EVPN destination runs over a BGP tunnel and can transport multicast (BUM) traffic. However, as discussed in the preceding section, the EVPN destination is used for BUM traffic only in the case where the provider tunnel goes operationally down.
*A:PE-1# show service id 1 evpn-mpls
===============================================================================
BGP EVPN-MPLS Dest
===============================================================================
TEP Address Egr Label Num. MACs Mcast Last Change
Transport:Tnl Sup BCast Domain
-------------------------------------------------------------------------------
192.0.2.4 524284 0 bum 06/02/2021 08:31:14
bgp:262146 No
-------------------------------------------------------------------------------
Number of entries : 1
-------------------------------------------------------------------------------
===============================================================================
---snip---
The same command on the leaf node PE-4 shows an EVPN destination running on an LDP tunnel instead of a BGP tunnel. This destination is used whenever PE-4 needs to send BUM traffic to PE-1:
*A:PE-4# show service id 1 evpn-mpls
===============================================================================
BGP EVPN-MPLS Dest
===============================================================================
TEP Address Egr Label Num. MACs Mcast Last Change
Transport:Tnl Sup BCast Domain
-------------------------------------------------------------------------------
192.0.2.1 524284 0 bum 06/02/2021 08:31:14
ldp:65538 No
-------------------------------------------------------------------------------
Number of entries : 1
-------------------------------------------------------------------------------
===============================================================================
---snip---
The other show commands in the Inter-AS Model C for mLDP section have an identical output for both scenarios.
Conclusion
P2MP mLDP is supported in inter-AS model C for EVPN-MPLS services with or without optimization. Optimization in this chapter refers to the ability to set up an end-to-end mLDP tunnel without the need for recursive opaque mLDP FECs on the leaf nodes. A similar configuration is applied in the case of seamless MPLS across different areas.