| < draft-xie-bier-ipv6-mvpn-00.txt | draft-xie-bier-ipv6-mvpn-01.txt > | |||
|---|---|---|---|---|
| Network Working Group J. Xie | Network Working Group J. Xie | |||
| Internet-Draft M. McBride | Internet-Draft Huawei Technologies | |||
| Intended status: Standards Track S. Dhanaraj | Intended status: Standards Track M. McBride | |||
| Expires: September 12, 2019 Huawei Technologies | Expires: January 2, 2020 Futurewei | |||
| S. Dhanaraj | ||||
| Huawei Technologies | ||||
| L. Geng | L. Geng | |||
| China Mobile | China Mobile | |||
| March 11, 2019 | July 1, 2019 | |||
| Use of BIER IPv6 Encapsulation (BIERv6) for Multicast VPN in Non-MPLS | Use of BIER IPv6 Encapsulation (BIERv6) for Multicast VPN in IPv6 | |||
| IPv6 networks | networks | |||
| draft-xie-bier-ipv6-mvpn-00 | draft-xie-bier-ipv6-mvpn-01 | |||
| Abstract | Abstract | |||
| This draft defines the procedures and messages for using Bit Index | This draft defines the procedures and messages for using Bit Index | |||
| Explicit Replication (BIER) for Multicast VPN Services in Non-MPLS | Explicit Replication (BIER) for Multicast VPN Services in IPv6 | |||
| IPv6 networks using the BIER IPv6 encapsulation. It provides a | networks using the BIER IPv6 encapsulation. It provides a migration | |||
| migration path for Multicast VPN service using BIER MPLS | path for Multicast VPN service using BIER MPLS encapsulation in MPLS | |||
| encapsulation in MPLS networks to multicast VPN service using BIER | networks to multicast VPN service using BIER IPv6 encapsulation | |||
| IPv6 encapsulation (BIERv6) in Non-MPLS IPv6 networks. | (BIERv6) in IPv6 networks. | |||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in [RFC2119] and | document are to be interpreted as described in [RFC2119] and | |||
| [RFC8174]. | [RFC8174]. | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 1, line 46 ¶ | skipping to change at page 1, line 48 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on September 12, 2019. | This Internet-Draft will expire on January 2, 2020. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 25 ¶ | skipping to change at page 2, line 25 ¶ | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. Use of PTA and Prefix-SID Attribute in x-PMSI A-D Routes . . 4 | 3. Use of PTA and Prefix-SID Attribute in x-PMSI A-D Routes . . 4 | |||
| 4. MVPN over BIERv6 Core . . . . . . . . . . . . . . . . . . . . 5 | 4. MVPN over BIERv6 Core . . . . . . . . . . . . . . . . . . . . 4 | |||
| 5. GTM over BIERv6 Core . . . . . . . . . . . . . . . . . . . . 7 | 5. GTM over BIERv6 Core . . . . . . . . . . . . . . . . . . . . 7 | |||
| 6. Data Plane . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 6. Data Plane . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 6.1. Encapsulation of Multicast Traffic . . . . . . . . . . . 8 | 6.1. Encapsulation of Multicast Traffic . . . . . . . . . . . 8 | |||
| 6.2. MTU . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 6.2. MTU . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 6.3. TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 6.3. TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . 9 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 10 | |||
| 10.2. Informative References . . . . . . . . . . . . . . . . . 10 | 10.2. Informative References . . . . . . . . . . . . . . . . . 11 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 1. Introduction | 1. Introduction | |||
| Bit Index Explicit Replication (BIER) [RFC8279] is an architecture | Bit Index Explicit Replication (BIER) [RFC8279] is an architecture | |||
| that provides optimal multicast forwarding without requiring | that provides optimal multicast forwarding without requiring | |||
| intermediate routers to maintain any per-flow state by using a | intermediate routers to maintain any per-flow state by using a | |||
| multicast-specific BIER header. BIERv6 refers to the deployment of | multicast-specific BIER header. BIERv6 refers to the deployment of | |||
| BIER in Non-MPLS IPv6 networks using the BIER IPv6 encapsulation | BIER in IPv6 networks using the BIER IPv6 encapsulation format | |||
| format defined in [I-D.xie-bier-ipv6-encapsulation]. | defined in [I-D.xie-bier-ipv6-encapsulation]. | |||
| SRv6 explained in [I-D.ietf-spring-segment-routing] refers to the | [I-D.ietf-spring-srv6-network-programming] introduces the Network | |||
| deployment of segment routing in Non-MPLS IPv6 networks. | ||||
| [I-D.filsfils-spring-srv6-network-programming] introduces the Network | ||||
| programming concepts in SRv6 networks and explains how the 128-bit | programming concepts in SRv6 networks and explains how the 128-bit | |||
| IPv6 address can be used as SRv6 SID in the format LOC:FUNCT, where | IPv6 address can be used as SRv6 SID in the format LOC:FUNCT, where | |||
| LOC part of the SID is routable, while FUNCT part of the SID is an | LOC part of the SID is routable, while FUNCT part of the SID is an | |||
| opaque identification of a local function bound to the SID. It has | opaque identification of a local function bound to the SID. It has | |||
| also defined some well known standard functions like End.DT4 - | also defined some well known standard functions like End.DT4 - | |||
| Endpoint with decaps and IPv4 table lookup for L3VPN (equivalent to | Endpoint with decaps and IPv4 table lookup for L3VPN (equivalent to | |||
| per-VRF VPN label). [I-D.dawra-idr-srv6-vpn] defines the TLVs to | per-VRF VPN label). | |||
| associate a function like End.DT4 with the L3VPN Unicast routes | ||||
| advertised via BGP. It also details how the functions of End.DT4, | [I-D.dawra-bess-srv6-services] defines the TLVs to associate a | |||
| End.DT6, End.DT46 (End.DTx) can be used to identify a L3VPN/EVPN | function like End.DT4 with the L3VPN Unicast routes advertised via | |||
| instead of using a VPN Label in MPLS-VPN [RFC4364] of the received | BGP. It also details how the functions of End.DT4, End.DT6, End.DT46 | |||
| data packet and thereby realize the L3VPN Services in the SRv6 | (End.DTx) can be used to identify a L3VPN/EVPN instead of using a VPN | |||
| Networks. However, it covers unicast services exclusively. | Label in MPLS-VPN [RFC4364] of the received data packet and thereby | |||
| realize the L3VPN Services in the SRv6 Networks. However, it covers | ||||
| unicast services exclusively. | ||||
| This document describes a method to realize MVPN services using BIER | This document describes a method to realize MVPN services using BIER | |||
| as a P-tunnel in the BIERv6 Networks. It defines a method to use an | as a P-tunnel in the IPv6 Networks (BIERv6 Networks). It defines a | |||
| SRv6 Service SID like End.DTx as source address to identify the MVPN | method to use an SRv6 Service SID, called Src.DTx in this document, | |||
| instance at the Egress PE. While the End.DTx is used as IPv6 | as source address of an IPv6 header, to identify the MVPN instance at | |||
| destination address in unicast L3VPN scenarios as defined in | the Egress PE. The LOC part and FUNCT part of this SRv6 Service SID | |||
| [I-D.dawra-idr-srv6-vpn], this document extends the use of End.DTx as | represent the context and the upstream-assigned VPN Label | |||
| IPv6 source address. The LOC part and FUNCT part of this SRv6 | respectively in MVPN scenario's as defined in [RFC8556]. | |||
| Service SID represent the context and the upstream-assigned VPN Label | ||||
| respectively in MVPN scenario's as defined in [I-D.ietf-bier-mvpn]. | ||||
| In particular, MVPN deployment in Non-MPLS IPv6 networks relies on | In particular, MVPN deployment in IPv6 networks relies on L3VPN | |||
| L3VPN deployment on Non-MPLS IPv6 networks firstly, thus the | deployment on IPv6 networks firstly, thus the c-multicast routing | |||
| c-multicast routing procedure like UMH Selection can be done. The | procedure like UMH Selection can be done. The L3VPN deployment in | |||
| L3VPN deployment in Non-MPLS IPv6 networks can be referred to | IPv6 networks can be referred to [I-D.dawra-bess-srv6-services]. | |||
| [I-D.dawra-idr-srv6-vpn]. | ||||
| GTM defined in [RFC7716] is also covered in this document, as GTM | GTM defined in [RFC7716] is also covered in this document, as GTM | |||
| shares the same BGP-MVPN signaling, while providing an approach of | shares the same BGP-MVPN signaling, while providing an approach of | |||
| Non-VPN multicast over a service provider core with various P-tunnel | Non-VPN multicast over a service provider core with various P-tunnel | |||
| type. For the same reason of UMH selection, and the requirement of | type. For the same reason of UMH selection, and the requirement of | |||
| basic operation like ping (e.g, to the multicast source address), the | basic operation like ping (e.g, to the multicast source address), the | |||
| Global IPv4/IPv6 over SRv6 Core as described in | Global IPv4/IPv6 over SRv6 Core as described in | |||
| [I-D.dawra-idr-srv6-vpn] is also required, and the [RFC5549] may be | [I-D.dawra-bess-srv6-services] is also required. | |||
| required further. | ||||
| 2. Terminology | 2. Terminology | |||
| Readers of this document are assumed to be familiar with the | Readers of this document are assumed to be familiar with the | |||
| terminology and concepts of the documents listed as Normative | terminology and concepts of the documents listed as Normative | |||
| References. Additionally the following terms are used through out | References. Additionally the following terms are used through out | |||
| the document. | the document. | |||
| o BIERv6 - BIER in Non-MPLS IPv6 networks using the BIER IPv6 | o BIERv6 - BIER in IPv6 networks using the BIERv6 encapsulation | |||
| encapsulation format defined in [I-D.xie-bier-ipv6-encapsulation]. | format defined in [I-D.xie-bier-ipv6-encapsulation]. | |||
| o SRv6 - Segment Routing instantiated on the IPv6 dataplane as | o SRv6 - Segment Routing instantiated on the IPv6 dataplane as | |||
| defined in [I-D.filsfils-spring-srv6-network-programming]. | defined in [I-D.ietf-spring-srv6-network-programming]. | |||
| o SRv6 SID - SRv6 Segment Identifier as defined in | o SRv6 SID - SRv6 Segment Identifier as defined in | |||
| [I-D.filsfils-spring-srv6-network-programming]. | [I-D.ietf-spring-srv6-network-programming]. | |||
| o End.DTx - Refers to the functions End.DT6, End.DT4, End.DT46 | o End.DTx - Refers to the functions End.DT6, End.DT4, End.DT46 | |||
| defined in [I-D.filsfils-spring-srv6-network-programming]. | defined in [I-D.ietf-spring-srv6-network-programming]. | |||
| o SRv6 L3 Service - L3VPN/Global-L3 service in Non-MPLS SRv6 network | o Src.DTx - Refers to the functions Src.DT4, Src.DT6, Src.DT46 | |||
| defined in [I-D.dawra-idr-srv6-vpn], or MVPN/GTM service in Non- | defind in this document. | |||
| MPLS BIERv6 network defined in this document. | ||||
| o SRv6 L3 Service - L3VPN/Global-L3 service in SRv6 networks defined | ||||
| in [I-D.dawra-bess-srv6-services], or MVPN/GTM service in BIERv6 | ||||
| networks defined in this document. | ||||
| 3. Use of PTA and Prefix-SID Attribute in x-PMSI A-D Routes | 3. Use of PTA and Prefix-SID Attribute in x-PMSI A-D Routes | |||
| The BGP-MVPN I-PMSI A-D (Type 1) or S-PMSI A-D (Type 3) route (called | The BGP-MVPN I-PMSI A-D (Type 1) or S-PMSI A-D (Type 3) route (called | |||
| x-PMSI A-D route in this document), advertised by Ingress PE carries | x-PMSI A-D route in this document), advertised by Ingress PE carries | |||
| the BIER (Type 11) PTA as specified in [I-D.ietf-bier-mvpn]. The | the BIER (Type 11) PTA as specified in [RFC8556]. The BIER PTA | |||
| BIER PTA carried in the x-PMSI A-D route is used for explicitly | carried in the x-PMSI A-D route is used for explicitly tracking the | |||
| tracking the receiver-site PEs which are interested in a specific | receiver-site PEs which are interested in a specific multicast flow. | |||
| multicast flow. It includes three BIER-specific fields, Sub-domain- | It includes three BIER-specific fields, Sub-domain-id, BFR-id, and | |||
| id, BFR-id, and BFR-prefix. For BIER P-tunnel using the BIERv6 | BFR-prefix. For BIER P-tunnel using the BIERv6 encapsulation in IPv6 | |||
| encapsulation in IPv6 networks, the BFR-prefix field in the PTA MUST | networks, the BFR-prefix field in the PTA MUST be set to the BFIR | |||
| be set to the BFIR IPv6 prefix and the MPLS Label field in the PTA | IPv6 prefix and the MPLS Label field in the PTA MUST set to 0. For | |||
| MUST set to 0. For MVPN over BIERv6, the End.DTx IPv6 address of the | MVPN over BIERv6, the Src.DTx IPv6 address of the BFIR is used to | |||
| BFIR is used to identify the VRF instead of a MPLS Label. The | identify the VRF instead of an MPLS Label. The Src.DTx IPv6 Address | |||
| End.DTx IPv6 Address (End.DT6 or End.DT4 or End.DT46) MUST be carried | (Src.DT6 or Src.DT4 or Src.DT46) MUST be carried within an SRv6 L3 | |||
| within an SRv6 L3 Service TLV [I-D.dawra-idr-srv6-vpn] of BGP Prefix- | Service TLV [I-D.dawra-bess-srv6-services] of BGP Prefix-SID | |||
| SID attribute in the x-PMSI A-D route. | attribute in the x-PMSI A-D route. | |||
| The Ingress PE encapsulates the c-multicast IP packet with BIERv6 | The Ingress PE encapsulates the c-multicast IP packet with BIERv6 | |||
| header and the source address in the outer IPv6 header will be set to | header and the source address in the outer IPv6 header will be set to | |||
| the End.DTx IPv6 address advertised in the BGP-MVPN x-PMSI A-D | the Src.DTx IPv6 address advertised in the BGP-MVPN x-PMSI A-D | |||
| routes. See section 3 of [I-D.xie-bier-ipv6-encapsulation] for the | routes. See section 3 of [I-D.xie-bier-ipv6-encapsulation] for the | |||
| detailed packet format. | detailed packet format. | |||
| Egress PE (BFER) receiving the x-PMSI A-D routes with BIER PTA and | Egress PE (BFER) receiving the x-PMSI A-D routes with BIER PTA and | |||
| SRv6 L3 Service TLV learns the End.DTx IPv6 address and uses it to | SRv6 L3 Service TLV learns the Src.DTx IPv6 address and uses it to | |||
| identify the VRF of the c-multicast packet. | identify the VRF of the c-multicast packet. | |||
| When Egress PE receives a BIERv6 packet and the self bfr-id is set in | When Egress PE receives a BIERv6 packet and the self bfr-id is set in | |||
| the bit-string field of the Non-MPLS BIER header, it retrieves the | the bit-string field of the BIERv6 header, it retrieves the Src.DTx | |||
| End.DTx IPv6 address from the source address of the IPv6 header to | IPv6 address from the source address of the IPv6 header to determine | |||
| determine the VRF and the Address Family (AF) of the c-multicast data | the VRF and the Address Family (AF) of the c-multicast data packet, | |||
| packet, and performs the MFIB lookup in the corresponding table. | and performs the MFIB lookup in the corresponding table. | |||
| 4. MVPN over BIERv6 Core | 4. MVPN over BIERv6 Core | |||
| [I-D.ietf-bier-mvpn] specifies the protocol and procedures to be | [RFC8556] specifies the protocol and procedures to be followed by the | |||
| followed by the Ingress and Egress PEs to use BIER as a P-tunnel for | Ingress and Egress PEs to use BIER as a P-tunnel for MVPN in MPLS | |||
| MVPN in MPLS networks. This section specifies the required changes | networks. This section specifies the required changes and procedures | |||
| and procedures in addition to support BIER as a P-tunnel in Non-MPLS | in addition to support BIER as a P-tunnel in IPv6 networks using | |||
| IPv6 networks. | BIERv6. | |||
| In a Non-MPLS IPv6 service provider network, many of the IP address | In a IPv6 service provider network, many of the IP address fields | |||
| fields used in the BGP-MVPN routes are IPv6 address as specified in | used in the BGP-MVPN routes are IPv6 address as specified in | |||
| [RFC6515]. These are listed below. | [RFC6515]. These are listed below. | |||
| o "Originating Router's IP Address" in the NLRI of Type 1 or Type 3 | o "Originating Router's IP Address" in the NLRI of Type 1 or Type 3 | |||
| BGP-MVPN route is an IPv6 address. | BGP-MVPN route is an IPv6 address. | |||
| o "Network Address of Next Hop" field in the MP_REACH_NLRI attribute | o "Network Address of Next Hop" field in the MP_REACH_NLRI attribute | |||
| is an IPv6 address. | is an IPv6 address. | |||
| o Route Targets Extended Community (EC) used in C-multicast join | o Route Targets Extended Community (EC) used in C-multicast join | |||
| (Type 6 or 7) route or Leaf A-D (Type 5) route is an IPv6 Address | (Type 6 or 7) route or Leaf A-D (Type 5) route is an IPv6 Address | |||
| Specific Extended Community, where the Global Administrator field | Specific Extended Community, where the Global Administrator field | |||
| will be an IPv6 address identifies the Upstream PE or the UMH. | will be an IPv6 address identifies the Upstream PE or the UMH. | |||
| o "VRF Route Import Extended Community (EC)" carried by unicast VPN- | o "VRF Route Import Extended Community (EC)" carried by unicast VPN- | |||
| IPv4 or VPN-IPv6 routes as [RFC6515] specifies, or SAFI 1, 2, or 4 | IPv4 or VPN-IPv6 routes as [RFC6515] specifies, or SAFI 1, 2, or 4 | |||
| unicast routes, or MVPN (SAFI 5) Source-Active routes as [RFC7716] | unicast routes, or MVPN (SAFI 5) Source-Active routes as [RFC7716] | |||
| specifies. | specifies. | |||
| On the Ingress PE (BFIR), the BGP-MVPN x-PMSI A-D route is | On the Ingress PE (BFIR), the BGP-MVPN x-PMSI A-D route is | |||
| constructed as per the procedures specified in [I-D.ietf-bier-mvpn] | constructed as per the procedures specified in [RFC8556] and with the | |||
| and with the following specifications. | following specifications. | |||
| o MPLS Label field in the BIER PTA MUST be set to Zero. | o MPLS Label field in the BIER PTA MUST be set to Zero. | |||
| o BFR-prefix field in the BIER PTA MUST be set to the Ingress PEs | o BFR-prefix field in the BIER PTA MUST be set to the Ingress PEs | |||
| (BFIR) IPv6 BFR-Prefix Address. It does not need to be the same | (BFIR) IPv6 BFR-Prefix Address. It does not need to be the same | |||
| as the other IPv6 address of the x-PMSI AD route. | as the other IPv6 address of the x-PMSI AD route. | |||
| o Route MUST also carry an BGP Prefix SID attribute with an SRv6 L3 | o Route MUST also carry an BGP Prefix SID attribute with an SRv6 L3 | |||
| Service TLV carrying an End.DTx IPv6 address uniquely identifying | Service TLV carrying an Src.DTx IPv6 address uniquely identifying | |||
| the MVPN instance. | the MVPN instance. | |||
| If the VPN is IPv4 VPN, the End.DTx can be either End.DT4 or | If the MVPN is IPv4 MVPN, the Src.DTx can be either Src.DT4 or | |||
| End.DT46. If the VPN is IPv6 VPN, the End.DTx can be either End.DT6 | Src.DT46. If the MVPN is IPv6 MVPN, the Src.DTx can be either | |||
| or End.DT46. By default, the distribution of the x-PMSI A-D routes | Src.DT6 or Src.DT46. The distribution of the x-PMSI A-D routes uses | |||
| uses the same End.DTx as the ones used for the distribution of VPN-IP | the Src.DTx according to the local configuration, and is independent | |||
| unicast routes. That is, by default, the x-PMSI A-D route MUST carry | to the use of End.DTx in VPN-IP unicast routes of this VPN. For | |||
| the same SRv6-Service-SID used by the unicast routing for L3VPN. The | example, one can use End.DT46 for VPNv4 and VPNv6 unicast routes, but | |||
| default could be modified via configuration by having a End.DTx used | use Src.DT4 for the MVPN routes for the same VPN. Another example, | |||
| for the BGP-MVPN x-PMSI A-D routes being distinct from the ones used | one can use End.DX for VPNv4 unicast routes, but use Src.DT46 for the | |||
| for the VPN-IP unicast routes. | MVPN routes for the same VPN. | |||
| BFIR MAY carry the BGP Prefix-SID attribute only in I-PMSI A-D route | BFIR MAY carry the BGP Prefix-SID attribute only in I-PMSI A-D route | |||
| when I-PMSI A-D route is used, while other S-PMSI A-D routes do not | when I-PMSI A-D route is used, while other S-PMSI A-D routes do not | |||
| carry the BGP Prefix-SID attribute. | carry the BGP Prefix-SID attribute. | |||
| BFIR MAY carry the BGP Prefix-SID attribute only in wildcard S-PMSI | BFIR MAY carry the BGP Prefix-SID attribute only in wildcard S-PMSI | |||
| A-D routes when the "S-PMSI Only" mode as described in [RFC6625] is | A-D routes when the "S-PMSI Only" mode as described in [RFC6625] is | |||
| used, while other S-PMSI A-D routes do not carry the BGP Prefix-SID | used, while other S-PMSI A-D routes do not carry the BGP Prefix-SID | |||
| attribute. | attribute. | |||
| On the Egress PE (BFER), the BGP-MVPN x-PMSI A-D route is processed | On the Egress PE (BFER), the BGP-MVPN x-PMSI A-D route is processed | |||
| as per the procedures specified in [I-D.ietf-bier-mvpn] and with the | as per the procedures specified in [RFC8556] and with the following | |||
| following specifications: | specifications: | |||
| o The MPLS Label field in the BIER PTA of the BGP-MVPN x-PMSI A-D | o The MPLS Label field in the BIER PTA of the BGP-MVPN x-PMSI A-D | |||
| route MUST be ignored and MUST not be used for the identification | route MUST be ignored and MUST not be used for the identification | |||
| of the VRF. | of the VRF. | |||
| o The BGP-MVPN x-PMSI A-D route MUST be dropped if the BFR-prefix | o The BGP-MVPN x-PMSI A-D route MUST be dropped if the BFR-prefix | |||
| field in the BIER PTA is not an IPv6 address. | field in the BIER PTA is not an IPv6 address. | |||
| o The BGP-MVPN x-PMSI A-D route MUST be dropped if it does not carry | o The BGP-MVPN x-PMSI A-D route MUST be dropped if it does not carry | |||
| a End.DTx IPv6 address in the SRv6 L3 Service TLV in BGP Prefix | a Src.DTx IPv6 address in the SRv6 L3 Service TLV in BGP Prefix | |||
| SID attribute. | SID attribute. | |||
| o Leaf A-D route originated by the Egress PE (BFER) MUST carry the | o Leaf A-D route originated by the Egress PE (BFER) MUST carry the | |||
| BIER PTA with the BFR-prefix field set to the BFER IPv6 BFR- | BIER PTA with the BFR-prefix field set to the BFER IPv6 BFR- | |||
| prefix. | prefix. | |||
| Valid BGP-MVPN x-PMSI A-D route received by an Egress PE (BFER) is | Valid BGP-MVPN x-PMSI A-D route received by an Egress PE (BFER) is | |||
| stored locally, and the End.DTx IPv6 Address carried in the SRv6 L3 | stored locally, and the Src.DTx IPv6 Address carried in the SRv6 L3 | |||
| service TLV is used to identify the VRF of a c-multicast data packet. | service TLV is used to identify the VRF of a c-multicast data packet. | |||
| This may be populated into forwarding table only when there is | This may be populated into forwarding table only when there is | |||
| c-multicast flow state with UMH of the specific BFIR this End.DTx | c-multicast flow state with UMH of the specific BFIR this Src.DTx | |||
| located in. | located in. | |||
| If more than one x-PMSI A-D routes belonging to the same VRF has | If more than one x-PMSI A-D routes belonging to the same VRF has | |||
| different End.DTx value, the processing is determined by the local | different Src.DTx value, the processing is determined by the local | |||
| policy of the BFER. | policy of the BFER. | |||
| If more than one x-PMSI A-D routes belonging to different VRF has the | If more than one x-PMSI A-D routes belonging to different VRF has the | |||
| same End.DTx value, the BFER must log an error, and a BIERv6 packet | same Src.DTx value, the BFER must log an error, and a BIERv6 packet | |||
| with this End.DTx as the IPv6 source address MUST be dropped. | with this Src.DTx as the IPv6 source address MUST be dropped. | |||
| The BGP Prefix-SID attribute (which may include the End.DTx in SRv6 | The BGP Prefix-SID attribute (which may include the Src.DTx in SRv6 | |||
| L3 Service TLV) MUST NOT be carried in Leaf A-D route upon sending, | L3 Service TLV) MUST NOT be carried in Leaf A-D route upon sending, | |||
| and MUST be ignored upon reception. | and MUST be ignored upon reception. | |||
| 5. GTM over BIERv6 Core | 5. GTM over BIERv6 Core | |||
| As specified in [RFC7716], Global Table Multicast (GTM) uses the same | As specified in [RFC7716], Global Table Multicast (GTM) uses the same | |||
| Subsequent Address Family Identifier (SAFI) value, the same Network | Subsequent Address Family Identifier (SAFI) value, the same Network | |||
| Layer Reachability Information (NLRI) format, and the same procedures | Layer Reachability Information (NLRI) format, and the same procedures | |||
| of MVPN with only a few adaptions. It support for both IPv4 and IPv6 | of MVPN with only a few adaptions. It support for both IPv4 and IPv6 | |||
| multicast flows over either an IPv4 or IPv6 SP infrastructure. GTM | multicast flows over either an IPv4 or IPv6 SP infrastructure. GTM | |||
| over BIERv6 core is obviously a case of IPv4/IPv6 multicast over an | over BIERv6 core is obviously a case of IPv4/IPv6 multicast over an | |||
| IPv6 SP infrastructure with BIERv6 data-plane. | IPv6 SP infrastructure with BIERv6 data-plane. | |||
| The BIER (Type 11) PTA attribute and the BGP Prefix-SID attribute are | The BIER (Type 11) PTA attribute and the BGP Prefix-SID attribute are | |||
| carried in the x-PMSI A-D route in GTM cases. When the a BGP-MVPN | carried in the x-PMSI A-D route in GTM cases. When the a BGP-MVPN | |||
| x-PMSI A-D route is received by Egress PE, it is stored locally, and | x-PMSI A-D route is received by Egress PE, it is stored locally, and | |||
| the End.DTx IPv6 Address of the Ingress PE in the route is used to | the Src.DTx IPv6 Address of the Ingress PE in the route is used to | |||
| determine the VRF of a packet, which is the 'public' VRF in the case | determine the VRF of a packet, which is the 'public' VRF in the case | |||
| of GTM. | of GTM. | |||
| There are some other attributes listed below for GTM over a BIERv6 | There are some other attributes listed below for GTM over a BIERv6 | |||
| core: | core: | |||
| o Route Distinguishers - the RD field of a BGP-MVPN route's NLRI | o Route Distinguishers - the RD field of a BGP-MVPN route's NLRI | |||
| MUST be set to zero (i.e., to 64 bits of zero) to represent a Non- | MUST be set to zero (i.e., to 64 bits of zero) to represent a Non- | |||
| VPN GTM. See section 2.2 of [RFC7716]. | VPN GTM. See section 2.2 of [RFC7716]. | |||
| skipping to change at page 8, line 6 ¶ | skipping to change at page 8, line 4 ¶ | |||
| either used in UMH-eligible unicast routes having a SAFI of 1, 2, | either used in UMH-eligible unicast routes having a SAFI of 1, 2, | |||
| or 4, or used in the MVPN (SAFI of 5) Source Active A-D route. | or 4, or used in the MVPN (SAFI of 5) Source Active A-D route. | |||
| GTM IPv4 multicast over an BIERv6 core may be considered an | GTM IPv4 multicast over an BIERv6 core may be considered an | |||
| alternative to support IPv4 IPTV content delivery during transition | alternative to support IPv4 IPTV content delivery during transition | |||
| to IPv6 period comparing to [RFC8114]. They both use IPv4-in-IPv6 | to IPv6 period comparing to [RFC8114]. They both use IPv4-in-IPv6 | |||
| encapsulation, while BIERv6 uses an additional BIER header within an | encapsulation, while BIERv6 uses an additional BIER header within an | |||
| IPv6 Extension header to support stateless core. | IPv6 Extension header to support stateless core. | |||
| 6. Data Plane | 6. Data Plane | |||
| 6.1. Encapsulation of Multicast Traffic | 6.1. Encapsulation of Multicast Traffic | |||
| BIER IPv6 encapsulation (BIERv6) [I-D.xie-bier-ipv6-encapsulation] is | BIER IPv6 encapsulation (BIERv6) [I-D.xie-bier-ipv6-encapsulation] is | |||
| used for forwarding the c-multicast traffic through an IPv6 core. | used for forwarding the c-multicast traffic through an IPv6 core. | |||
| The following diagram shows the progression of an MVPN c-multicast | The following diagram shows the progression of an MVPN c-multicast | |||
| packet as it enters and leaves the intra-AS service-provider network. | packet as it enters and leaves the intra-AS service-provider network. | |||
| +---------------+ +---------------+ | +---------------+ +---------------+ | |||
| | P-IPv6 Header | | P-IPv6 Header | | | P-IPv6 Header | | P-IPv6 Header | | |||
| | ( SA=End.DTx | | ( SA=End.DTx | | | (SA=Src.DTx | | (SA=Src.DTx | | |||
| | DA=mcBIER ) | | DA=mcBIER ) | | | DA=End.BIER) | | DA=End.BIER) | | |||
| +---------------+ +---------------+ | +---------------+ +---------------+ | |||
| | P-IPv6 ExtHdr | | P-IPv6 ExtHdr | | | P-IPv6 ExtHdr | | P-IPv6 ExtHdr | | |||
| | (BIER header) | | (BIER header) | | | (BIER header) | | (BIER header) | | |||
| ++=========++ ++=============++ ++=============++ ++=========++ | ++=========++ ++=============++ ++=============++ ++=========++ | |||
| ||C-IP Hdr || || C-IP Hdr || || C-IP Hdr || ||C-IP Hdr || | ||C-IP Hdr || || C-IP Hdr || || C-IP Hdr || ||C-IP Hdr || | |||
| ++=========++ >> ++=============++ >> ++=============++ >> ++=========++ | ++=========++ >> ++=============++ >> ++=============++ >> ++=========++ | |||
| ||C-Payload|| || C-Payload || || C-Payload || ||C-Payload|| | ||C-Payload|| || C-Payload || || C-Payload || ||C-Payload|| | |||
| ++=========++ ++=============++ ++=============++ ++=========++ | ++=========++ ++=============++ ++=============++ ++=========++ | |||
| CE1-----------PE1------------------P2------------------PE2-----------CE2 | CE1-----------PE1------------------P2------------------PE2-----------CE2 | |||
| skipping to change at page 8, line 39 ¶ | skipping to change at page 8, line 36 ¶ | |||
| In case of inter-AS scenario, BIERv6 packets may travel through | In case of inter-AS scenario, BIERv6 packets may travel through | |||
| unicast to a Boarder Router (BR), and then replicate in a single | unicast to a Boarder Router (BR), and then replicate in a single | |||
| intra-AS BIERv6 domain. How such non-segmented BIERv6 scenario can | intra-AS BIERv6 domain. How such non-segmented BIERv6 scenario can | |||
| be supported is outside the scope of this document. | be supported is outside the scope of this document. | |||
| How segmented MVPN, for example, between BIERv6 and BIERv6, or | How segmented MVPN, for example, between BIERv6 and BIERv6, or | |||
| between BIERv6 and Ingress Replication(IR) in Non-MPLS IPv6 networks, | between BIERv6 and Ingress Replication(IR) in Non-MPLS IPv6 networks, | |||
| is outside the scope of this document. | is outside the scope of this document. | |||
| The Src.DTx SHOULD support as destination address of an ICMPv6 | ||||
| packet. The following is an example pseudo-code of the Src.DTx | ||||
| function as destination address: | ||||
| 1. IF Last_NH = ICMPv6 ;;Ref1 | ||||
| 2. Send to CPU. | ||||
| 3. ELSE | ||||
| 4. Drop the packet. | ||||
| Ref1: ICMPv6 packet using Src.DT4, Src.DT6 or Src.DT46 as destination | ||||
| address. | ||||
| 6.2. MTU | 6.2. MTU | |||
| Each BFIR is expected to know the Maximum Transmission Unit (MTU) of | Each BFIR is expected to know the Maximum Transmission Unit (MTU) of | |||
| the BIER domain. This may be known by provisioning, or by method | the BIER domain. This may be known by provisioning, or by method | |||
| specified in [draft-ietf-bier-mtud]. The section 3 of [RFC8296] | specified in [draft-ietf-bier-mtud]. The section 3 of [RFC8296] | |||
| applies. | applies. | |||
| 6.3. TTL | 6.3. TTL | |||
| The ingress PE (BFIR) should not copy the Time to Live (TTL) field | The ingress PE (BFIR) should not copy the Time to Live (TTL) field | |||
| from the payload IP header received from a CE router to the delivery | from the payload IP header received from a CE router to the delivery | |||
| IP header. Setting the TTL of the delivery IP header is determined | IP header. Setting the TTL of the delivery IP header is determined | |||
| by the local policy of the ingress PE (BFIR) router per section 3 of | by the local policy of the ingress PE (BFIR) router per section 3 of | |||
| [RFC8296]. | [RFC8296]. | |||
| 7. Security Considerations | 7. Security Considerations | |||
| The procedures of this document do not, in themselves, provide | The security considerations SEC-1, SEC-2, SEC-3 defined in | |||
| privacy, integrity, or authentication for the control plane or the | [I-D.ietf-spring-srv6-network-programming] apply equally to this | |||
| data plane. | document. | |||
| 8. IANA Considerations | 8. IANA Considerations | |||
| No IANA allocation is required. | Allocation is expected from IANA for the following Src.DTx functions | |||
| codepoints from the "SRv6 Endpoint Behaviors" sub-registry. | ||||
| Values 68, 69, 70 is suggested for Src.DT6, Src.DT4, Src.DT46 | ||||
| respectively. | ||||
| +-------+--------+--------------------------+------------+ | ||||
| | Value | Hex | Endpoint function | Reference | | ||||
| +-------+--------+--------------------------+------------+ | ||||
| | TBD | TBD | Src.DT6 | This draft | | ||||
| +-------+--------+--------------------------+------------+ | ||||
| | TBD | TBD | Src.DT4 | This draft | | ||||
| +-------+--------+--------------------------+------------+ | ||||
| | TBD | TBD | Src.DT46 | This draft | | ||||
| +-------+--------+--------------------------+------------+ | ||||
| Src.DT6 Source address indicating decapsulation and IPv6 table lookup | ||||
| e.g. IPv6-MVPN (equivalent to per-VRF VPN label in RFC8556) | ||||
| Src.DT4 Source address indicating decapsulation and IPv4 table lookup | ||||
| e.g. IPv4-MVPN (equivalent to per-VRF VPN label in RFC8556) | ||||
| Src.DT46 Source address indicating decapsulation and IP table lookup | ||||
| e.g. IP-MVPN (equivalent to per-VRF VPN label) | ||||
| 9. Acknowledgements | 9. Acknowledgements | |||
| TBD. | TBD. | |||
| 10. References | 10. References | |||
| 10.1. Normative References | 10.1. Normative References | |||
| [I-D.dawra-idr-srv6-vpn] | [I-D.dawra-bess-srv6-services] | |||
| Dawra, G., Filsfils, C., Dukes, D., Brissette, P., | Dawra, G., Filsfils, C., Dukes, D., Brissette, P., | |||
| Camarillo, P., Leddy, J., daniel.voyer@bell.ca, d., | Sethuram, S., Camarillo, P., Leddy, J., | |||
| daniel.bernier@bell.ca, d., Steinberg, D., Raszuk, R., | daniel.voyer@bell.ca, d., daniel.bernier@bell.ca, d., | |||
| Decraene, B., Matsushima, S., and S. Zhuang, "BGP | Steinberg, D., Raszuk, R., Decraene, B., Matsushima, S., | |||
| Signaling for SRv6 based Services.", draft-dawra-idr- | and S. Zhuang, "SRv6 BGP based Overlay services", draft- | |||
| srv6-vpn-05 (work in progress), October 2018. | dawra-bess-srv6-services-00 (work in progress), March | |||
| 2019. | ||||
| [I-D.filsfils-spring-srv6-network-programming] | [I-D.ietf-spring-srv6-network-programming] | |||
| Filsfils, C., Camarillo, P., Leddy, J., | Filsfils, C., Camarillo, P., Leddy, J., | |||
| daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6 | daniel.voyer@bell.ca, d., Matsushima, S., and Z. Li, "SRv6 | |||
| Network Programming", draft-filsfils-spring-srv6-network- | Network Programming", draft-ietf-spring-srv6-network- | |||
| programming-07 (work in progress), February 2019. | programming-00 (work in progress), April 2019. | |||
| [I-D.ietf-bier-mvpn] | ||||
| Rosen, E., Sivakumar, M., Aldrin, S., Dolganow, A., and T. | ||||
| Przygienda, "Multicast VPN Using BIER", draft-ietf-bier- | ||||
| mvpn-11 (work in progress), March 2018. | ||||
| [I-D.ietf-spring-segment-routing] | ||||
| Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., | ||||
| Litkowski, S., and R. Shakir, "Segment Routing | ||||
| Architecture", draft-ietf-spring-segment-routing-15 (work | ||||
| in progress), January 2018. | ||||
| [I-D.xie-bier-ipv6-encapsulation] | [I-D.xie-bier-ipv6-encapsulation] | |||
| Xie, J., Geng, L., McBride, M., Dhanaraj, S., Yan, G., and | Xie, J., Geng, L., McBride, M., Dhanaraj, S., Yan, G., and | |||
| Y. Xia, "Encapsulation for BIER in Non-MPLS IPv6 | Y. Xia, "Encapsulation for BIER in Non-MPLS IPv6 | |||
| Networks", draft-xie-bier-ipv6-encapsulation-00 (work in | Networks", draft-xie-bier-ipv6-encapsulation-01 (work in | |||
| progress), March 2019. | progress), June 2019. | |||
| [RFC5549] Le Faucheur, F. and E. Rosen, "Advertising IPv4 Network | ||||
| Layer Reachability Information with an IPv6 Next Hop", | ||||
| RFC 5549, DOI 10.17487/RFC5549, May 2009, | ||||
| <https://www.rfc-editor.org/info/rfc5549>. | ||||
| [RFC6515] Aggarwal, R. and E. Rosen, "IPv4 and IPv6 Infrastructure | [RFC6515] Aggarwal, R. and E. Rosen, "IPv4 and IPv6 Infrastructure | |||
| Addresses in BGP Updates for Multicast VPN", RFC 6515, | Addresses in BGP Updates for Multicast VPN", RFC 6515, | |||
| DOI 10.17487/RFC6515, February 2012, | DOI 10.17487/RFC6515, February 2012, | |||
| <https://www.rfc-editor.org/info/rfc6515>. | <https://www.rfc-editor.org/info/rfc6515>. | |||
| [RFC6625] Rosen, E., Ed., Rekhter, Y., Ed., Hendrickx, W., and R. | [RFC6625] Rosen, E., Ed., Rekhter, Y., Ed., Hendrickx, W., and R. | |||
| Qiu, "Wildcards in Multicast VPN Auto-Discovery Routes", | Qiu, "Wildcards in Multicast VPN Auto-Discovery Routes", | |||
| RFC 6625, DOI 10.17487/RFC6625, May 2012, | RFC 6625, DOI 10.17487/RFC6625, May 2012, | |||
| <https://www.rfc-editor.org/info/rfc6625>. | <https://www.rfc-editor.org/info/rfc6625>. | |||
| skipping to change at page 10, line 38 ¶ | skipping to change at page 11, line 17 ¶ | |||
| Explicit Replication (BIER)", RFC 8279, | Explicit Replication (BIER)", RFC 8279, | |||
| DOI 10.17487/RFC8279, November 2017, | DOI 10.17487/RFC8279, November 2017, | |||
| <https://www.rfc-editor.org/info/rfc8279>. | <https://www.rfc-editor.org/info/rfc8279>. | |||
| [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., | |||
| Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation | Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation | |||
| for Bit Index Explicit Replication (BIER) in MPLS and Non- | for Bit Index Explicit Replication (BIER) in MPLS and Non- | |||
| MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January | MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January | |||
| 2018, <https://www.rfc-editor.org/info/rfc8296>. | 2018, <https://www.rfc-editor.org/info/rfc8296>. | |||
| [RFC8556] Rosen, E., Ed., Sivakumar, M., Przygienda, T., Aldrin, S., | ||||
| and A. Dolganow, "Multicast VPN Using Bit Index Explicit | ||||
| Replication (BIER)", RFC 8556, DOI 10.17487/RFC8556, April | ||||
| 2019, <https://www.rfc-editor.org/info/rfc8556>. | ||||
| 10.2. Informative References | 10.2. Informative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| Authors' Addresses | Authors' Addresses | |||
| Jingrong Xie | Jingrong Xie | |||
| Huawei Technologies | Huawei Technologies | |||
| Email: xiejingrong@huawei.com | Email: xiejingrong@huawei.com | |||
| Mike McBride | Mike McBride | |||
| Huawei Technologies | Futurewei | |||
| Email: michael.mcbride@huawei.com | Email: mmcbride7@gmail.com | |||
| Senthil Dhanaraj | Senthil Dhanaraj | |||
| Huawei Technologies | Huawei Technologies | |||
| Email: senthil.dhanaraj@huawei.com | Email: senthil.dhanaraj@huawei.com | |||
| Liang Geng | Liang Geng | |||
| China Mobile | China Mobile | |||
| Email: gengliang@chinamobile.com | Email: gengliang@chinamobile.com | |||
| End of changes. 51 change blocks. | ||||
| 140 lines changed or deleted | 162 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||