idnits 2.17.00 (12 Aug 2021) /tmp/idnits48339/draft-ietf-bess-mvpn-evpn-sr-p2mp-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (19 October 2021) is 207 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC 7538' is mentioned on line 605, but not defined == Outdated reference: A later version (-15) exists of draft-ietf-bess-srv6-services-07 == Outdated reference: A later version (-04) exists of draft-ietf-pim-sr-p2mp-policy-03 == Outdated reference: A later version (-07) exists of draft-ietf-spring-sr-replication-segment-05 == Outdated reference: A later version (-14) exists of draft-ietf-bess-evpn-bum-procedure-updates-11 == Outdated reference: A later version (-03) exists of draft-ietf-bess-evpn-mvpn-seamless-interop-02 == Outdated reference: A later version (-08) exists of draft-ietf-bess-mvpn-evpn-aggregation-label-06 Summary: 0 errors (**), 0 flaws (~~), 8 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group R.P. Parekh 3 Internet-Draft C. Filsfils 4 Intended status: Standards Track A.V. Venkateswaran 5 Expires: 22 April 2022 Cisco Systems, Inc. 6 H. Bidgoli 7 Nokia 8 D. Voyer 9 Bell Canada 10 Z. Zhang 11 Juniper Networks 12 19 October 2021 14 Multicast and Ethernet VPN with Segment Routing P2MP 15 draft-ietf-bess-mvpn-evpn-sr-p2mp-04 17 Abstract 19 A Point-to-Multipoint (P2MP) Tree in a Segment Routing domain carries 20 traffic from a Root to a set of Leaves. This document describes 21 extensions to BGP encodings and procedures for P2MP trees and Ingress 22 Replication used in BGP/MPLS IP VPNs and Ethernet VPNs in a Segment 23 Routing domain. 25 Requirements Language 27 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 28 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 29 document are to be interpreted as described in RFC 2119 [RFC2119]. 31 Status of This Memo 33 This Internet-Draft is submitted in full conformance with the 34 provisions of BCP 78 and BCP 79. 36 Internet-Drafts are working documents of the Internet Engineering 37 Task Force (IETF). Note that other groups may also distribute 38 working documents as Internet-Drafts. The list of current Internet- 39 Drafts is at https://datatracker.ietf.org/drafts/current/. 41 Internet-Drafts are draft documents valid for a maximum of six months 42 and may be updated, replaced, or obsoleted by other documents at any 43 time. It is inappropriate to use Internet-Drafts as reference 44 material or to cite them other than as "work in progress." 46 This Internet-Draft will expire on 22 April 2022. 48 Copyright Notice 50 Copyright (c) 2021 IETF Trust and the persons identified as the 51 document authors. All rights reserved. 53 This document is subject to BCP 78 and the IETF Trust's Legal 54 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 55 license-info) in effect on the date of publication of this document. 56 Please review these documents carefully, as they describe your rights 57 and restrictions with respect to this document. Code Components 58 extracted from this document must include Simplified BSD License text 59 as described in Section 4.e of the Trust Legal Provisions and are 60 provided without warranty as described in the Simplified BSD License. 62 Table of Contents 64 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 65 2. SR P2MP P-Tunnels . . . . . . . . . . . . . . . . . . . . . . 3 66 3. PMSI Tunnel Attribute for SR P2MP . . . . . . . . . . . . . . 4 67 3.1. MPLS Label . . . . . . . . . . . . . . . . . . . . . . . 5 68 3.1.1. SR-MPLS . . . . . . . . . . . . . . . . . . . . . . . 5 69 4. MVPN Auto-Discovery and Binding Procedures for P2MP Trees . . 5 70 4.1. Intra-AS I-PMSI . . . . . . . . . . . . . . . . . . . . . 6 71 4.1.1. Originating Intra-AS I-PMSI routes . . . . . . . . . 6 72 4.1.2. Receiving Intra-AS I-PMSI A-D routes . . . . . . . . 6 73 4.2. Using S-PMSIs for binding customer flows to P2MP 74 Segments . . . . . . . . . . . . . . . . . . . . . . . . 7 75 4.2.1. Originating S-PMSI A-D routes . . . . . . . . . . . . 7 76 4.2.2. Receiving S-PMSI A-D routes . . . . . . . . . . . . . 8 77 4.3. Inter-AS P-tunnels using P2MP Segments . . . . . . . . . 9 78 4.3.1. Advertising Inter-AS I-PMSI routes into iBGP . . . . 9 79 4.3.2. Receiving Inter-AS I-PMSI A-D routes in iBGP . . . . 9 80 4.4. Leaf A-D routes for P2MP Segment Leaf Discovery . . . . . 9 81 4.4.1. Originating Leaf A-D routes . . . . . . . . . . . . . 9 82 4.4.2. Receiving Leaf A-D routes . . . . . . . . . . . . . . 10 83 5. MVPN with Ingress Replication over Segment Routing . . . . . 10 84 5.1. SR-MPLS . . . . . . . . . . . . . . . . . . . . . . . . . 10 85 5.2. SRv6 . . . . . . . . . . . . . . . . . . . . . . . . . . 11 86 5.2.1. SRv6 Multicast Endpoint Behaviors . . . . . . . . . . 12 87 6. Dampening of MVPN routes . . . . . . . . . . . . . . . . . . 12 88 7. SR P2MP Trees for EVPN . . . . . . . . . . . . . . . . . . . 13 89 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 90 9. Security Considerations . . . . . . . . . . . . . . . . . . . 14 91 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 92 11. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 14 93 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 94 12.1. Normative References . . . . . . . . . . . . . . . . . . 15 95 12.2. Informative References . . . . . . . . . . . . . . . . . 16 97 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 99 1. Introduction 101 Multicast in MPLS/BGP IP VPNs [RFC6513] and BGP Encodings and 102 Procedures for Multicast in MPLS/BGP IP VPNs [RFC6514] specify 103 procedures that allow a Service Provider to provide Multicast VPN 104 (MVPN) service to its customers. Multicast traffic from a customer 105 is tunneled across the service provider network over Provider Tunnels 106 (P-Tunnels). P-Tunnels can be instantiated via different 107 technologies. A service provider network that uses Segment Routing 108 can use a Point-to-Multipoint (SR P2MP) tree 109 [I-D.ietf-pim-sr-p2mp-policy] or P2MP Ingress Replication to 110 instantiate P-Tunnels for MVPN. SR P2MP P-Tunnels can be realized 111 both for SR-MPLS [RFC8660] and SRv6 [RFC8986][RFC8754]. 113 In a Segment Routing network, a P2MP tree allows efficient delivery 114 of traffic from a Root to set of Leaf nodes. A SR P2MP tree is 115 defined by a SR P2MP Policy and instantiated via a PCE. A P2MP 116 Policy consists of a Root, a Set of Leaf Nodes and a set of candidate 117 paths with optional set of constraints and/or optimization objectives 118 to be satisfied by the P2MP tree. A unique Identifier, called Tree- 119 SID, is associated with a P2MP tree. This Tree-SID can be an MPLS 120 label or an IPv6 address. 122 This document describes extensions to BGP Auto-Discovery procedures 123 specified in RFC 6514 for SR P2MP P-Tunnels. Use of PIM for Auto- 124 Discovery is outside scope of this document. Support for customer 125 BIDIR-PIM is outside the scope of this document. 127 For BGP MPLS Ethernet VPN specified in [RFC7432] and extensions to 128 this document, P-Tunnels are advertised for handling multi- 129 destination traffic. These P-Tunnels can be realized by SR-MPLS or 130 SRv6 P2MP trees. SRv6 P2MP trees can also be used to support 131 Multicast in Network Virtualization over Layer 3 [RFC8293]. 133 The reader is expected to be familiar with concepts and terminology 134 of RFC 6513, RFC 6514 and SR P2MP drafts. 136 2. SR P2MP P-Tunnels 138 For MVPN or EVPN, Provider Edge(PE) routers steer customer traffic 139 into a P-Tunnel that can be instantiated by a SR-MPLS or SRv6 P2MP. 140 A SR P2MP tree is defined by a SR P2MP policy 141 [I-D.ietf-pim-sr-p2mp-policy]. 143 Given a SR P2MP policy, a PCE computes and instantiates the SR P2MP 144 tree on the nodes that are part of the tree by stitching Replication 145 segments [I-D.ietf-spring-sr-replication-segment] at Root, Leaf and 146 intermediate replication nodes. Tree-SID is an unique identifier for 147 the tree. A Replication segment of a SR P2MP tree can be initiated 148 by various methods (BGP, PCEP, others) which are outside the scope of 149 this document. 151 A PCE provides conceptual APIs, listed below, to define and modify SR 152 P2MP policies SR P2MP Policy Section 4.1.1 153 (https://tools.ietf.org/html/draft-ietf-pim-sr-p2mp-policy- 154 00#section-4.1.1). These APIs are invoked by a PCC, which is the 155 root of P2MP tree, using various methods (BGP, PCEP, etc.) which are 156 outside the scope of this document. 158 CreatePolicy: CreateSRP2MPPolicy 160 DeletePolicy: DeleteSRP2MPPolicy 162 UpdateLeafSet: SRP2MPPolicyLeafSetModify 165 The Root of a P2MP tree imposes the Tree-SID to steer the customer 166 payload into the P2MP tree. Provider (P) routers replicate customer 167 payload, using Replication segments, towards the Leaf nodes of the 168 P2MP tree. Leaf nodes of the P2MP tree deliver the customer payload 169 after disposing the Tree-SID. 171 An Ingress PE can deliver payload to egress PEs of the service using 172 Ingress Replication. This payload is encapsulated in SR-MPLS or SRv6 173 and replicated to each egress PE. 175 3. PMSI Tunnel Attribute for SR P2MP 177 BGP PMSI Tunnel Attribute (PTA) is defined in RFC 6514 to identify 178 the P-Tunnel that is used to instantiate a Provider Multicast Service 179 Interface (PMSI). The PTA is carried in Intra-AS I-PMSI, Inter-AS 180 I-PMSI, Selective PMSI, and Leaf Auto-Discovery routes. 182 A P2MP tree PTA is constructed as specified below. 184 * Tunnel Type: The IANA assigned codepoint 0x0C for "SR-MPLS P2MP 185 Tree" or codepoint 186 // TBD 188 * Flags: See Section 4 for use of "Leaf Info Required bit". 190 * MPLS Label: See Section 3.1 191 * Tunnel Identifier: The SR P2MP P-Tunnel is identified by where, 194 - Tree-ID is a 32-bit unsigned value that identifies a unique 195 P2MP tree at a Root. 197 - Root is an IP address identifying the Root of a P2MP tree. 198 This can be either an IPv4 or IPv6 address and can be inferred 199 from the PTA length. 201 When a P-Tunnel is non-segmented, the PTA is created by PE router at 202 the Root of a SR P2MP tree. For segmented P-Tunnels, each segment 203 can be instantiated by a different technology. If a segment is 204 instantiated using P2MP tree, the router at the root of a P2MP tree 205 creates the PTA. 207 3.1. MPLS Label 209 [RFC6514] allows a PE to aggregate two or more MVPNs onto one 210 P-Tunnel by advertising the same P-Tunnel in PTA of Auto-Discovery 211 routes of different MVPNs. This section specifies how the "MPLS 212 Label" field of PTA is filled to provide a context bound to a 213 specific MVPN. Aggregating MVPNs on one SRv6 P2MP P-Tunnel will be 214 addressed in future revision of this document. For EVPN 215 considerations, see SR P2MP Trees for EVPN section. 217 3.1.1. SR-MPLS 219 When a SR P2MP P-Tunnel, shared across different MVPNs, is 220 instantiated in a SR MPLS domain [RFC8660], "MPLS Field" of a PTA 221 advertised in a Auto-Discovery route MUST contain an upstream- 222 assigned MPLS label that the advertising PE has bound to the MVPN, or 223 a label assigned from a global context such as "Domain- wide Common 224 Block" (DCB) as specified in 225 [I-D.ietf-bess-mvpn-evpn-aggregation-label]. 227 When a customer payload is steered into a shared SR P2MP P-Tunnel, 228 this MPLS label MUST be imposed before the MPLS label representing 229 the Tree-SID. 231 4. MVPN Auto-Discovery and Binding Procedures for P2MP Trees 233 RFC 6514 defines procedures for discovering PEs participating in a 234 given MVPN and binding customer multicast flows to specific 235 P-Tunnels. This section specifies modifications to these procedures 236 for SR P2MP tree P-Tunnels. In this section, the term "SR P2MP" 237 refers to both SR-MPLS and SRv6. 239 4.1. Intra-AS I-PMSI 241 Intra-AS I-PMSI A-D routes are exchanged to discover PEs 242 participating in a MVPN within an AS, or across different ASes when 243 non-segmented P-Tunnels are used for inter-AS MVPNs. 245 4.1.1. Originating Intra-AS I-PMSI routes 247 RFC 6514 Section 9.1.1 (https://tools.ietf.org/html/rfc6514#section- 248 9.1.1) describes procedures for originating Intra-AS I-PMSI A-D 249 routes. For SR P2MP P-Tunnels, these procedures remain unchanged 250 except as described in the following paragraphs. 252 When a PE originates an Intra-AS I-PMSI A-D route with a PTA having 253 SR P2MP P-Tunnel Type, it MUST create a P2MP policy by invoking 254 CreatePolicy API of the PCE. When the PCE instantiates the P2MP tree 255 on the PE, the Tree-SID MUST be imposed for customer flow(s) steered 256 into the P2MP tree. The Leaf nodes of P2MP tree are discovered using 257 procedures described in Section 4.1.2. 259 For a PE in "Receiver Sites set", condition (c) is modified to 260 include P2MP tree; such a PE MUST originate an Intra-AS I-PMSI A-D 261 route when some PEs of the MVPN have VRFs that use SR P2MP tree but 262 MUST NOT create a SR P2MP policy as described above. 264 When a PE withdraws an Intra-AS I-PMSI A-D route, advertised with a 265 PTA having SR P2MP P-Tunnel Type, the Tree-SID imposition state at 266 the PE MUST be removed. 268 A PE MAY aggregate two or more Intra-AS I-PMSIs from different MVPNs 269 onto the same SR P2MP P-Tunnel. When a PE withdraws the last Intra- 270 AS I-PMSI A-D route, advertised with a PTA identifying a SR P2MP 271 P-Tunnel , it SHOULD remove the SR P2MP policy by invoking 272 DeletePolicy API of the PCE. 274 4.1.2. Receiving Intra-AS I-PMSI A-D routes 276 Procedure for receiving Intra-AS I-PMSI A-D routes, as described in 277 RFC 6514 Section 9.1.2 (https://tools.ietf.org/html/rfc6514#section- 278 9.1.2), remain unchanged for SR P2MP P-Tunnels except as described in 279 the following paragraphs. 281 When a PE that advertises a SR P2MP P-Tunnel in the PTA of its Intra- 282 AS I-PMSI A-D route, imports an Intra-AS I-PMSI A-D route from some 283 PE, it MUST add that PE as a Leaf node of the P2MP tree. The 284 Originating IP Address of the Intra-AS i-PMSI A-D route is used as 285 the Leaf Address when invoking UpdateLeafSet API of the PCE. This 286 procedure MUST also be followed for all Intra-AS I-PMSI routes that 287 are already imported when the PE advertises a SR P2MP P-Tunnel in PTA 288 of its Intra-AS I-PMSI A-D route. 290 A PE that imports and processes an Intra-AS I-PMSI A-D route from 291 another PE with PTA having SR P2MP P-Tunnel MUST program the Tree-SID 292 of the P2MP tree identified in the PTA of the route for disposition. 293 Note that an Intra-AS I-PMSI A-D route from another PE can be 294 imported before the P2MP tree identified in the PTA of the route is 295 instantiated by the PCE at the importing PE. In such case, the PE 296 MUST correctly program Tree-SID for disposition. A PE in "Sender 297 Sites set" MAY avoid programming the Tree-SID for disposition. 299 When an Intra-AS I-PMSI A-D route, advertised with a PTA having SR 300 P2MP P-Tunnel Type is withdrawn, a PE MUST remove the disposition 301 state of the Tree-SID associated with P2MP tree. 303 A PE MAY aggregate two or more Intra-AS I-PMSIs from different MVPNs 304 onto the same SR P2MP P-Tunnel. When a remote PE withdraws an Intra- 305 AS I-PMSI A-D route from a MVPN, and if this is the last MVPN sharing 306 a SR P2MP P-Tunnel, a PE must remove the originating PE as a Leaf 307 from the P2MP tree, by invoking UpdateLeafSet API. 309 4.2. Using S-PMSIs for binding customer flows to P2MP Segments 311 RFC 6514 specifies procedures for binding (C-S,C-G) customer flows to 312 P-Tunnels using S-PMSI A-D routes. Wildcards in Multicast VPN Auto- 313 Discovery Routes [RFC6625] specifies additional procedures to binding 314 aggregate customer flows to P-Tunnels using "wildcard" S-PMSI A-D 315 routes. This section describes modification to these procedures for 316 SR P2MP P-Tunnels. 318 4.2.1. Originating S-PMSI A-D routes 320 RFC 6514 Section 12.1 (https://tools.ietf.org/html/rfc6514#section- 321 12.1) describes procedures for originating S-PMSI A-D routes. For SR 322 P2MP P-Tunnels, these procedures remain unchanged except as described 323 in the following paragraphs. 325 When a PE originates S-PMSI A-D route with a PTA having SR P2MP 326 P-Tunnel Type, it MUST set the "Leaf Info Required bit" in the PTA. 327 The PE MUST create a SR P2MP policy by invoking CreatePolicy API of 328 the PCE. When the PCE instantiates the P2MP tree on the PE, the 329 Tree-SID MUST be imposed for customer flows steered into the SR P2MP 330 P-Tunnel. 332 The Leaf nodes of P2MP tree are discovered by Leaf A-D routes using 333 procedures described in Section 4.4.2. When a PE originates S-PMSI 334 A-D route with a PTA having SR P2MP P-Tunnel Type, it is possible the 335 PE might have imported Leaf A-D routes whose route keys match the 336 S-PMSI A-D route. The PE MUST re-apply procedures of Section 4.4.2 337 to these Leaf A-D routes. 339 When a PE withdraws a S-PMSI A-D route, advertised with PTA having 340 P2MP tree P-Tunnel type, the Tree-SID imposition state MUST be 341 removed. 343 A PE MAY aggregate two or more S-PMSIs onto the same SR P2MP 344 P-Tunnel. When a PE withdraws the last S-PMSI A-D route, advertised 345 with a PTA identifying a specific SR P2MP P-Tunnel , it SHOULD remove 346 the SR P2MP policy by invoking DeletePolicy API of the PCE. 348 4.2.2. Receiving S-PMSI A-D routes 350 RFC 6514 Section 12.3 (https://tools.ietf.org/html/rfc6514#section- 351 12.3) describes procedures for receiving S-PMSI A-D routes. For SR 352 P2MP P-Tunnels, these procedures remain unchanged except as described 353 in the following paragraphs. 355 The procedure to join SR P2MP P-Tunnel of S-PMSI A-D route by using a 356 Leaf A-D route is described in Section 4.4.1. If P2MP tree 357 identified in PTA of S-PMSI A-D route is already instantiated by PCE, 358 the PE MUST program Tree-SID for disposition. If the P2MP tree is 359 instantiated later, the Tree-SID MUST be programmed for disposition 360 at that time. 362 When a S-PMSI A-D route, whose SR P2MP P-Tunnel has been joined by a 363 PE, is withdrawn, or when conditions (see RFC 6514 Section 12.3 364 (https://tools.ietf.org/html/rfc6514#section-12.3)) required to join 365 that P-Tunnel are no longer satisfied, the PE MUST leave the 366 P-Tunnel. The PE MUST withdraw the Leaf A-D route it had originated 367 and remove the Tree-SID disposition state. 369 4.3. Inter-AS P-tunnels using P2MP Segments 371 A segmented inter-AS P-Tunnel consists of one or more intra-AS 372 segments, one in each AS, connected by inter-AS segments between 373 ASBRs of different ASes https://tools.ietf.org/html/rfc6514#section- 374 9.2. These segments are constructed by PEs/ASBRs originating or re- 375 advertising Inter-AS I-PMSI A-D routes. This section describes 376 procedures for instantiating intra-AS segments using SR P2MP trees. 378 4.3.1. Advertising Inter-AS I-PMSI routes into iBGP 380 RFC 6514 Section 9.2.3.2 (https://tools.ietf.org/html/ 381 rfc6514#section-9.2.3.2) specifies procedures for advertising an 382 Inter-AS I-PMSI A-D route to construct an intra-AS segment. The PTA 383 of the route identifies the type and identifier of the P-Tunnel 384 instantiating the intra-AS segment. The procedure for creating SR 385 P2MP P-Tunnel for intra-AS segment are same as specified in 386 Section 4.2.1 except that instead of S-PMSI A-D routes, the 387 procedures apply to Inter-AS I-PMSI A-D routes. 389 4.3.2. Receiving Inter-AS I-PMSI A-D routes in iBGP 391 RFC 6514 Section 9.2.3.2 (https://tools.ietf.org/html/ 392 rfc6514#section-9.2.3.2) specifies procedures for processing an 393 Inter-AS I-PMSI A-D route received via iBGP. If the PTA of the 394 Inter-AS I-PMSI A-D route has SR P2MP P-Tunnel Type, the procedures 395 are same as specified in Section 4.2.2 except that instead of S-PMSI 396 A-D routes, the procedures apply to Inter-AS I-PMSI A-D routes. If 397 the receiving router is an ASBR, the Tree-SID is stitched to the 398 inter-AS segments to ASBRs in other ASes. 400 4.4. Leaf A-D routes for P2MP Segment Leaf Discovery 402 This section describes procedures for originating and processing Leaf 403 A-D routes used for Leaf discovery of SR P2MP trees. 405 4.4.1. Originating Leaf A-D routes 407 The procedures for originating Leaf A-D route in response to 408 receiving a S-PMSI or Inter-AS I-PMSI A-D route with PTA having SR 409 P2MP P-Tunnel Type are same as specified in RFC 6514 410 Section 9.2.3.4.1 (https://tools.ietf.org/html/rfc6514#section- 411 9.2.3.4.1). 413 4.4.2. Receiving Leaf A-D routes 415 Procedures for processing a received Leaf A-D route are specified in 416 RFC 6514 Section 9.2.3.5 (https://tools.ietf.org/html/ 417 rfc6514#section-9.2.3.5). These procedures remain unchanged for 418 discovering Leaf nodes of P2MP trees except for considerations 419 described in following paragraphs. These procedures apply to Leaf 420 A-D routes received in response to both S-PMSI and Inter-AS I-PMSI 421 A-D routes, shortened to "A-D routes" in this section 423 A Root PE/ASBR MAY use the same SR P2MP P-Tunnel in PTA of two or 424 more A-D routes. For such aggregated P2MP trees, the PE/ASBR may 425 receive multiple Leaf A-D routes from a Leaf PE. The P2MP tree for 426 which a Leaf A-D is received can be identified by examining the P2MP 427 tunnel Identifier in the PTA of A-D route that matches "Route Key" 428 field of the Leaf A-D route. When the PE receives the first Leaf A-D 429 route from a Leaf PE, identified by the Originating Router's IP 430 address field, it MUST add that PE as Leaf of the P2MP tree by 431 invoking the UpdateLeafSet API of the PCE. 433 When a Leaf PE withdraws the last Leaf A-D route for a given SR P2MP 434 P-Tunnel, the Root PE MUST remove the Leaf PE from the P2MP tree by 435 invoking UpdateLeafSet API of PCE. Note that Root PE MAY remove the 436 P2MP tree, via the DeletePolicyAPI, before the last Leaf A-D is 437 withdrawn. In this case, the Root PE MAY decide to not invoke the 438 UpdateLeafSet API. 440 5. MVPN with Ingress Replication over Segment Routing 442 A PE can provide MVPN service using Ingress Replication over Segment 443 Routing. Customer payload is encapsulated in SR-MPLS or IPv6 (SRv6) 444 at Ingress PE. The encapsulated payload is replicated and a unicast 445 copy is sent to each egress PE. 447 Ingress Replication Tunnels in Multicast VPN [RFC7988] specifies 448 procedures that can be used to provide MVPN service with Ingress 449 Replication in a Segment Routing domain. A PE advertises Intra-AS, 450 Inter-AS, Selective PMSI BGP Auto-Discovery routes with PTA for 451 Ingress Replication. Egress PEs join asLeaf Nodes using Intrra-AS 452 I-PMSI or Leaf Auto-Discovery routes. 454 5.1. SR-MPLS 456 Procedures of RFC 7988 are sufficient to create a SR-MPLS Ingress 457 Replication for MVPN service. 459 5.2. SRv6 461 Procedures of RFC 7988, along with modifications described in this 462 Section, are sufficient to create a SRv6 Ingress Replication for MVPN 463 service. 465 The PTA carried in Intra-AS, Inter-AS, Selective PMSI and Leaf Auto- 466 Discovery routes is constructed as specified in RFC 7988 with 467 modifications as below: 469 * Tunnel Type: "Ingress Replication" as per RFC 6514. 471 * MPLS Label: The high order 20 bits of this field carry the whole 472 or a portion of the Function part of the SRv6 Multicast Service 473 SID when ingress replication is used and the Transposition Scheme 474 of encoding as defined in Section 4 of SRv6 BGP based Overlay 475 Services (https://datatracker.ietf.org/doc/html/draft-ietf-bess- 476 srv6-services-07#section-4) is used. Otherwise, it is set as 477 defined in RFC 6514. When using the Transposition Scheme, the 478 Transposition Length MUST be less than or equal to 20 and less 479 than or equal to the Function Length. 481 Section 6 and 7 of RFC 7988 (https://datatracker.ietf.org/doc/html/ 482 rfc7988#section-6) describe considerations and procedures for 483 allocating MPLS labels for IR P-Tunnel. For SRv6 Ingress 484 Replication, these sections apply to SRv6 Multicast Service SID. 486 To join a SRv6 Ingres Replication P-Tunnel advertised in PTA of Inra- 487 AS, Inter-AS, or Selective S-PMSI A-D routes, an egress PE constructs 488 a Leaf A-D or Intra-AS I-PMSI route as described in RFC 7988 with 489 modified PTA above. The egress PE attaches a BGP Prefix-SID 490 attribute [RFC8669] in Leaf A-D or Intra-AS I-PMSI route with SRv6 L3 491 Service TLV [I-D.ietf-bess-srv6-services] to signal SRv6 Multicast 492 Service SID . The SRv6 SID Information Sub-TLV carries the SRv6 493 Multicast Service SID in SRv6 SID Value field. The SRv6 Endpoint 494 Behavior of the SRv6 SID Information Sub-TLV encodes one of End.DTM4, 495 End.DTM6, or End.DTM46 codepoint value. The SRv6 SID Structure Sub- 496 Sub-TLV encodes the structure of SRv6 Multicast Service SID. If 497 Transposition scheme is used, the offset and length of SRv6 Multicast 498 Endpoint function of SRv6 Multicast Service SID is set in 499 Transposition Length and Transposition Offset fields of this sub-sub 500 TLV. Otherwise, the Transposition Length and Offset fields MUST be 501 set to zero. 503 The BGP Prefix SID attribute with SRv6 L3 Service TLV in Intra-AS 504 I-PMSI or Leaf A-D route indicates to ingress PE that egress PE 505 supports SRv6. The ingress PE MUST encapsulate payload in an outer 506 IPv6 header with the SRv6 Multicast Service SID provided by the 507 egress PE as the destination address. If Transposition scheme is 508 used, ingress PE MUST merge Function in MPLS field of PTA with SRv6 509 SID in SID Information TLV using the Transposition Offset and Length 510 fields from SID structure sub-sub TLV to create SRv6 Multicast 511 Service SID 513 5.2.1. SRv6 Multicast Endpoint Behaviors 515 The following behaviors can be associated with SRv6 Multicast Service 516 SID. 518 5.2.1.1. End.DTM4: Decapsulation and Specific IPv4 Multicast 519 Table Lookup 521 The "Endpoint with decapsulation and specific IPv4 Multicast table 522 lookup" behavior ("End.DTM4" for short) is similar to End.DT4 523 behavior of RFC 8986 except the lookup is in IPv4 multicast table. 525 5.2.1.2. End.DTM6: Decapsulation and Specific IPv6 Multicast 526 Table Lookup 528 The "Endpoint with decapsulation and specific IPv6 Multicast table 529 lookup" behavior ("End.DTM6" for short) is similar to End.DT6 530 behavior of RFC 8986 except the lookup is in IPv6 multicast table. 532 5.2.1.3. End.DTM46: Decapsulation and Specific IP Multicast 533 Table Lookup 535 The "Endpoint with decapsulation and specific IP Multicast table 536 lookup" behavior ("End.DTM46" for short) is similar to End.DT4 and 537 End.DT6 behaviors of RFC 8986 except the lookup is in IP multicast 538 table. 540 6. Dampening of MVPN routes 542 When P2MP trees are used as P-Tunnels for S-PMSI A-D routes, change 543 in group membership of receivers connected to PEs has direct impact 544 on the Leaf node set of a P2MP tree. If group membership changes 545 frequently for a large number of groups with a lot of receivers 546 across sites connected to different PEs, it can have an impact on the 547 interaction between PEs and the PCE. 549 Since Leaf A-D routes are used to discover Leaf PE of a P2MP tree, it 550 is RECOMMENDED that PEs SHOULD damp Leaf A-D routes as described in 551 Section 6.1 of RFC 7899 [RFC7899]. PEs MAY also implement procedures 552 for damping other Auto-Discovery and BGP C-multicast routes as 553 described in [RFC7899]. 555 7. SR P2MP Trees for EVPN 557 BGP MPLS Ethernet VPN specified in RFC 7432 specifies Inclusive 558 Multicast Ethernet Tag route to support Broadcast, Unknown Unicast 559 and Multicast (BUM) traffic. This IMET route is the equivalent of 560 MVPN Intra-AS I-PMSI route and is advertised with a PMSI Tunnel 561 Attribute (PTA) as specified in RFC 6514 to advertise the inclusive 562 P-Tunnels. 564 [I-D.ietf-bess-evpn-bum-procedure-updates] updates BUM procedures to 565 support selective P-Tunnels and P-Tunnel segmentation in EVPN. That 566 document specifies new route types that are advertised with PTA, 567 including Selective PMSI (S-PMSI) Auto-Discovery route. 569 These inclusive/selective P-Tunnels can be realized by SR P2MP trees. 570 As with other types of P2MP P-Tunnels, the ESI label used for split 571 horizon MUST be either upstream assigned by PE advertising the IMET 572 or S-PMSI route, or assigned from a global context such as "Domain- 573 wide Common Block" (DCB) as specified in 574 [I-D.ietf-bess-mvpn-evpn-aggregation-label]. 576 [I-D.ietf-bess-evpn-irb-mcast] specifies procedures to support Inter- 577 Subnet Multicast. [I-D.ietf-bess-evpn-mvpn-seamless-interop] 578 specifies how MVPN SAFI routes can be used to support Inter-Subnet 579 Multicast. The P-Tunnels advertised in PTA of either EVPN and MVPN 580 routes as specified in these documents respectively can be realized 581 by SR P2MP trees. 583 SRv6 P2MP trees can serve as an underlay multicast as described in 584 RFC 8293 Section 3.4 (https://tools.ietf.org/html/rfc8293#section- 585 3.4). A NVE encapsulates a tenant packet in an SRv6 header and 586 deliver it over SRv6 P2MP trees to other NVEs. 588 The same procedures specified for MVPN are used to collect the leaf 589 information of corresponding SR P2MP tree (either based on IMET route 590 or Leaf A-D routes in response to x-PMSI routes), to pass the tree 591 information to the PCE controller, and to get back tree forwarding 592 state used for customer multicast traffic forwarding. 594 8. IANA Considerations 596 IANA has assigned the value 0x0C for "SR-MPLS P2MP Tree" in the 597 "P-Multicast Service Interface Tunnel (PMSI Tunnel) Tunnel Types" 598 registry https://www.iana.org/assignments/bgp-parameters/bgp- 599 parameters.xhtml#pmsi-tunnel-types [RFC 7538] in the "Border Gateway 600 Protocol (BGP) Parameters" registry. 602 IANA is requested to assign codepoint for "SRv6 P2MP Tree" in the 603 "P-Multicast Service Interface Tunnel (PMSI Tunnel) Tunnel Types" 604 registry https://www.iana.org/assignments/bgp-parameters/bgp- 605 parameters.xhtml#pmsi-tunnel-types [RFC 7538] in the "Border Gateway 606 Protocol (BGP) Parameters" registry. A proposed value is 0x0D. 608 This document requires registration of End.DT4M, End.DTM6 and 609 End.DTM46 behaviors in "SRv6 Endpoint Behaviors" sub-registry of 610 "Segment Routing Parameters" top-level registry. 612 +=======+=====+===================+===========+ 613 | Value | Hex | Endpoint behavior | Reference | 614 +=======+=====+===================+===========+ 615 | TBD | TBD | End.DTM4 | [This.ID] | 616 +-------+-----+-------------------+-----------+ 617 | TBD | TBD | End.DTM6 | [This.ID] | 618 +-------+-----+-------------------+-----------+ 619 | TBD | TBD | End.DTM46 | [This.ID] | 620 +-------+-----+-------------------+-----------+ 622 Table 1: IETF - SRv6 Endpoint Behaviors 624 9. Security Considerations 626 The procedures in this document do not introduce any additional 627 security considerations beyond those mentioned in [RFC6513] and 628 [RFC6514]. For general security considerations applicable to P2MP 629 trees, please refer to [I-D.ietf-pim-sr-p2mp-policy] . 631 10. Acknowledgements 633 The authors would like to acknowledge Luc Andre Burdett reviewing the 634 document.. 636 11. Contributors 638 Zafar Ali Cisco Systems, Inc. US 640 Email: zali@cisco.com 642 Ehsan Hemmati Cisco Systems, Inc. US 644 Email: ehemmati@cisco.com 646 Jayant Kotalwar Nokia Mountain View US 648 Email: jayant.kotalwar@nokia.com 649 Tanmoy Kundu Nokia Mountain View US 651 Email: tanmoy.kundu@nokia.com 653 Clayton Hassen Bell CanadaVancouver CA 655 Email: clayton.hassen@bell.ca 657 12. References 659 12.1. Normative References 661 [I-D.ietf-bess-srv6-services] 662 Dawra, G., Filsfils, C., Talaulikar, K., Raszuk, R., 663 Decraene, B., Zhuang, S., and J. Rabadan, "SRv6 BGP based 664 Overlay Services", Work in Progress, Internet-Draft, 665 draft-ietf-bess-srv6-services-07, 11 April 2021, 666 . 669 [I-D.ietf-pim-sr-p2mp-policy] 670 (editor), D. V., Filsfils, C., Parekh, R., Bidgoli, H., 671 and Z. Zhang, "Segment Routing Point-to-Multipoint 672 Policy", Work in Progress, Internet-Draft, draft-ietf-pim- 673 sr-p2mp-policy-03, 23 August 2021, 674 . 677 [I-D.ietf-spring-sr-replication-segment] 678 (editor), D. V., Filsfils, C., Parekh, R., Bidgoli, H., 679 and Z. Zhang, "SR Replication Segment for Multi-point 680 Service Delivery", Work in Progress, Internet-Draft, 681 draft-ietf-spring-sr-replication-segment-05, 20 August 682 2021, . 685 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 686 Requirement Levels", BCP 14, RFC 2119, 687 DOI 10.17487/RFC2119, March 1997, 688 . 690 [RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/ 691 BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February 692 2012, . 694 [RFC6514] Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP 695 Encodings and Procedures for Multicast in MPLS/BGP IP 696 VPNs", RFC 6514, DOI 10.17487/RFC6514, February 2012, 697 . 699 [RFC7988] Rosen, E., Ed., Subramanian, K., and Z. Zhang, "Ingress 700 Replication Tunnels in Multicast VPN", RFC 7988, 701 DOI 10.17487/RFC7988, October 2016, 702 . 704 [RFC8660] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., 705 Decraene, B., Litkowski, S., and R. Shakir, "Segment 706 Routing with the MPLS Data Plane", RFC 8660, 707 DOI 10.17487/RFC8660, December 2019, 708 . 710 [RFC8669] Previdi, S., Filsfils, C., Lindem, A., Ed., Sreekantiah, 711 A., and H. Gredler, "Segment Routing Prefix Segment 712 Identifier Extensions for BGP", RFC 8669, 713 DOI 10.17487/RFC8669, December 2019, 714 . 716 [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., 717 Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header 718 (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, 719 . 721 [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, 722 D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 723 (SRv6) Network Programming", RFC 8986, 724 DOI 10.17487/RFC8986, February 2021, 725 . 727 12.2. Informative References 729 [I-D.ietf-bess-evpn-bum-procedure-updates] 730 Zhang, Z., Lin, W., Rabadan, J., Patel, K., and A. 731 Sajassi, "Updates on EVPN BUM Procedures", Work in 732 Progress, Internet-Draft, draft-ietf-bess-evpn-bum- 733 procedure-updates-11, 7 October 2021, 734 . 737 [I-D.ietf-bess-evpn-irb-mcast] 738 Lin, W., Zhang, Z., Drake, J., Rosen, E. C., Rabadan, J., 739 and A. Sajassi, "EVPN Optimized Inter-Subnet Multicast 740 (OISM) Forwarding", Work in Progress, Internet-Draft, 741 draft-ietf-bess-evpn-irb-mcast-06, 24 May 2021, 742 . 745 [I-D.ietf-bess-evpn-mvpn-seamless-interop] 746 Sajassi, A., Thiruvenkatasamy, K., Thoria, S., Gupta, A., 747 and L. Jalil, "Seamless Multicast Interoperability between 748 EVPN and MVPN PEs", Work in Progress, Internet-Draft, 749 draft-ietf-bess-evpn-mvpn-seamless-interop-02, 16 February 750 2021, . 753 [I-D.ietf-bess-mvpn-evpn-aggregation-label] 754 Zhang, Z., Rosen, E., Lin, W., Li, Z., and I. Wijnands, 755 "MVPN/EVPN Tunnel Aggregation with Common Labels", Work in 756 Progress, Internet-Draft, draft-ietf-bess-mvpn-evpn- 757 aggregation-label-06, 19 April 2021, 758 . 761 [RFC6625] Rosen, E., Ed., Rekhter, Y., Ed., Hendrickx, W., and R. 762 Qiu, "Wildcards in Multicast VPN Auto-Discovery Routes", 763 RFC 6625, DOI 10.17487/RFC6625, May 2012, 764 . 766 [RFC7432] Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., 767 Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based 768 Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, February 769 2015, . 771 [RFC7899] Morin, T., Ed., Litkowski, S., Patel, K., Zhang, Z., 772 Kebler, R., and J. Haas, "Multicast VPN State Damping", 773 RFC 7899, DOI 10.17487/RFC7899, June 2016, 774 . 776 [RFC8293] Ghanwani, A., Dunbar, L., McBride, M., Bannai, V., and R. 777 Krishnan, "A Framework for Multicast in Network 778 Virtualization over Layer 3", RFC 8293, 779 DOI 10.17487/RFC8293, January 2018, 780 . 782 Authors' Addresses 783 Rishabh Parekh 784 Cisco Systems, Inc. 785 170 W. Tasman Drive 786 San Jose, CA 95134 787 United States of America 789 Email: riparekh@cisco.com 791 Clarence Filsfils 792 Cisco Systems, Inc. 793 Brussels 794 Belgium 796 Email: cfilsfil@cisco.com 798 Arvind Venkateswaran 799 Cisco Systems, Inc. 800 170 W. Tasman Drive 801 San Jose, CA 95134 802 United States of America 804 Email: arvvenka@cisco.com 806 Hooman Bidgoli 807 Nokia 808 Ottawa 809 Canada 811 Email: hooman.bidgoli@nokia.com 813 Daniel Voyer 814 Bell Canada 815 Montreal 816 Canada 818 Email: daniel.voyer@bell.ca 820 Zhaohui Zhang 821 Juniper Networks 823 Email: zzhang@juniper.net