| < draft-ietf-bess-srv6-services-10.txt | draft-ietf-bess-srv6-services-11.txt > | |||
|---|---|---|---|---|
| BESS Working Group G. Dawra, Ed. | BESS Working Group G. Dawra, Ed. | |||
| Internet-Draft LinkedIn | Internet-Draft LinkedIn | |||
| Intended status: Standards Track C. Filsfils | Intended status: Standards Track C. Filsfils | |||
| Expires: August 12, 2022 K. Talaulikar, Ed. | Expires: August 20, 2022 K. Talaulikar, Ed. | |||
| Cisco Systems | Cisco Systems | |||
| R. Raszuk | R. Raszuk | |||
| NTT Network Innovations | NTT Network Innovations | |||
| B. Decraene | B. Decraene | |||
| Orange | Orange | |||
| S. Zhuang | S. Zhuang | |||
| Huawei Technologies | Huawei Technologies | |||
| J. Rabadan | J. Rabadan | |||
| Nokia | Nokia | |||
| February 8, 2022 | February 16, 2022 | |||
| SRv6 BGP based Overlay Services | SRv6 BGP based Overlay Services | |||
| draft-ietf-bess-srv6-services-10 | draft-ietf-bess-srv6-services-11 | |||
| Abstract | Abstract | |||
| This document defines procedures and messages for SRv6-based BGP | This document defines procedures and messages for SRv6-based BGP | |||
| services including L3VPN, EVPN, and Internet services. It builds on | services including L3VPN, EVPN, and Internet services. It builds on | |||
| RFC4364 "BGP/MPLS IP Virtual Private Networks (VPNs)" and RFC7432 | RFC4364 "BGP/MPLS IP Virtual Private Networks (VPNs)" and RFC7432 | |||
| "BGP MPLS-Based Ethernet VPN". | "BGP MPLS-Based Ethernet VPN". | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 1, line 43 ¶ | skipping to change at page 1, line 43 ¶ | |||
| 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 August 12, 2022. | This Internet-Draft will expire on August 20, 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 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 23 ¶ | skipping to change at page 2, line 23 ¶ | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 | |||
| 2. SRv6 Services TLVs . . . . . . . . . . . . . . . . . . . . . 4 | 2. SRv6 Services TLVs . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3. SRv6 Service Sub-TLVs . . . . . . . . . . . . . . . . . . . . 5 | 3. SRv6 Service Sub-TLVs . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3.1. SRv6 SID Information Sub-TLV . . . . . . . . . . . . . . 6 | 3.1. SRv6 SID Information Sub-TLV . . . . . . . . . . . . . . 6 | |||
| 3.2. SRv6 Service Data Sub-Sub-TLVs . . . . . . . . . . . . . 7 | 3.2. SRv6 Service Data Sub-Sub-TLVs . . . . . . . . . . . . . 7 | |||
| 3.2.1. SRv6 SID Structure Sub-Sub-TLV . . . . . . . . . . . 7 | 3.2.1. SRv6 SID Structure Sub-Sub-TLV . . . . . . . . . . . 8 | |||
| 4. Encoding SRv6 SID Information . . . . . . . . . . . . . . . . 9 | 4. Encoding SRv6 SID Information . . . . . . . . . . . . . . . . 10 | |||
| 5. BGP based L3 Service over SRv6 . . . . . . . . . . . . . . . 11 | 5. BGP based L3 Service over SRv6 . . . . . . . . . . . . . . . 11 | |||
| 5.1. IPv4 VPN Over SRv6 Core . . . . . . . . . . . . . . . . . 12 | 5.1. IPv4 VPN Over SRv6 Core . . . . . . . . . . . . . . . . . 12 | |||
| 5.2. IPv6 VPN Over SRv6 Core . . . . . . . . . . . . . . . . . 12 | 5.2. IPv6 VPN Over SRv6 Core . . . . . . . . . . . . . . . . . 13 | |||
| 5.3. Global IPv4 over SRv6 Core . . . . . . . . . . . . . . . 13 | 5.3. Global IPv4 over SRv6 Core . . . . . . . . . . . . . . . 13 | |||
| 5.4. Global IPv6 over SRv6 Core . . . . . . . . . . . . . . . 13 | 5.4. Global IPv6 over SRv6 Core . . . . . . . . . . . . . . . 13 | |||
| 6. BGP based Ethernet VPN (EVPN) over SRv6 . . . . . . . . . . . 13 | 6. BGP based Ethernet VPN (EVPN) over SRv6 . . . . . . . . . . . 14 | |||
| 6.1. Ethernet Auto-discovery Route over SRv6 Core . . . . . . 15 | 6.1. Ethernet Auto-discovery Route over SRv6 Core . . . . . . 15 | |||
| 6.1.1. Ethernet A-D per ES Route . . . . . . . . . . . . . . 15 | 6.1.1. Ethernet A-D per ES Route . . . . . . . . . . . . . . 16 | |||
| 6.1.2. Ethernet A-D per EVI Route . . . . . . . . . . . . . 15 | 6.1.2. Ethernet A-D per EVI Route . . . . . . . . . . . . . 16 | |||
| 6.2. MAC/IP Advertisement Route over SRv6 Core . . . . . . . . 16 | 6.2. MAC/IP Advertisement Route over SRv6 Core . . . . . . . . 17 | |||
| 6.2.1. MAC/IP Advertisement Route with MAC Only . . . . . . 17 | 6.2.1. MAC/IP Advertisement Route with MAC Only . . . . . . 18 | |||
| 6.2.2. MAC/IP Advertisement Route with MAC+IP . . . . . . . 17 | 6.2.2. MAC/IP Advertisement Route with MAC+IP . . . . . . . 18 | |||
| 6.3. Inclusive Multicast Ethernet Tag Route over SRv6 Core . . 18 | 6.3. Inclusive Multicast Ethernet Tag Route over SRv6 Core . . 19 | |||
| 6.4. Ethernet Segment Route over SRv6 Core . . . . . . . . . . 20 | 6.4. Ethernet Segment Route over SRv6 Core . . . . . . . . . . 21 | |||
| 6.5. IP Prefix Route over SRv6 Core . . . . . . . . . . . . . 20 | 6.5. IP Prefix Route over SRv6 Core . . . . . . . . . . . . . 21 | |||
| 6.6. EVPN Multicast Routes (Route Types 6, 7, 8) over SRv6 | 6.6. EVPN Multicast Routes (Route Types 6, 7, 8) over SRv6 | |||
| Core . . . . . . . . . . . . . . . . . . . . . . . . . . 21 | Core . . . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 7. Implementation Status . . . . . . . . . . . . . . . . . . . . 21 | 7. Implementation Status . . . . . . . . . . . . . . . . . . . . 22 | |||
| 8. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 22 | 8. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 9.1. BGP Prefix-SID TLV Types Registry . . . . . . . . . . . . 23 | 9.1. BGP Prefix-SID TLV Types Registry . . . . . . . . . . . . 24 | |||
| 9.2. SRv6 Service Sub-TLV Types Registry . . . . . . . . . . . 23 | 9.2. SRv6 Service Sub-TLV Types Registry . . . . . . . . . . . 24 | |||
| 9.3. SRv6 Service Data Sub-Sub-TLV Types Registry . . . . . . 24 | 9.3. SRv6 Service Data Sub-Sub-TLV Types Registry . . . . . . 25 | |||
| 9.4. BGP SRv6 Service SID Flags Registry . . . . . . . . . . . 24 | 9.4. BGP SRv6 Service SID Flags Registry . . . . . . . . . . . 25 | |||
| 10. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 26 | |||
| 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25 | 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 25 | 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 27 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . 27 | 13.1. Normative References . . . . . . . . . . . . . . . . . . 28 | |||
| 13.2. Informative References . . . . . . . . . . . . . . . . . 29 | 13.2. Informative References . . . . . . . . . . . . . . . . . 31 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 1. Introduction | 1. Introduction | |||
| SRv6 refers to Segment Routing instantiated on the IPv6 dataplane | SRv6 refers to Segment Routing instantiated on the IPv6 dataplane | |||
| [RFC8402]. | [RFC8402]. | |||
| BGP is used to advertise the reachability of prefixes of a particular | BGP is used to advertise the reachability of prefixes of a particular | |||
| service from an egress PE to ingress PE nodes. | service from an egress PE to ingress PE nodes. | |||
| SRv6 based BGP services refers to the Layer-3 and Layer-2 overlay | SRv6 based BGP services refers to the Layer-3 and Layer-2 overlay | |||
| skipping to change at page 4, line 28 ¶ | skipping to change at page 4, line 28 ¶ | |||
| The SRv6 Service TLVs are defined as two new TLVs of the BGP Prefix- | The SRv6 Service TLVs are defined as two new TLVs of the BGP Prefix- | |||
| SID Attribute to achieve signaling of SRv6 SIDs for L3 and L2 | SID Attribute to achieve signaling of SRv6 SIDs for L3 and L2 | |||
| services. | services. | |||
| o SRv6 L3 Service TLV: This TLV encodes Service SID information for | o SRv6 L3 Service TLV: This TLV encodes Service SID information for | |||
| SRv6 based L3 services. It corresponds to the equivalent | SRv6 based L3 services. It corresponds to the equivalent | |||
| functionality provided by an MPLS Label when received with a Layer | functionality provided by an MPLS Label when received with a Layer | |||
| 3 service route as defined in [RFC4364] [RFC4659] [RFC8950] | 3 service route as defined in [RFC4364] [RFC4659] [RFC8950] | |||
| [RFC9136]. Some SRv6 Endpoint behaviors which MAY be encoded, but | [RFC9136]. Some SRv6 Endpoint behaviors which MAY be encoded, but | |||
| not limited to, are End.DX4, End.DT4, End.DX6, End.DT6, etc. | not limited to, are End.DX4, End.DT4, End.DX6, and End.DT6. | |||
| o SRv6 L2 Service TLV: This TLV encodes Service SID information for | o SRv6 L2 Service TLV: This TLV encodes Service SID information for | |||
| SRv6 based L2 services. It corresponds to the equivalent | SRv6 based L2 services. It corresponds to the equivalent | |||
| functionality provided by an MPLS Label1 for Ethernet VPN (EVPN) | functionality provided by an MPLS Label1 for Ethernet VPN (EVPN) | |||
| Route-Types as defined in [RFC7432]. Some SRv6 Endpoint behaviors | Route-Types as defined in [RFC7432]. Some SRv6 Endpoint behaviors | |||
| which MAY be encoded, but not limited to, are End.DX2, End.DX2V, | which MAY be encoded, but not limited to, are End.DX2, End.DX2V, | |||
| End.DT2U, End.DT2M etc. | End.DT2U, and End.DT2M. | |||
| When an egress PE is enabled for BGP Services over SRv6 data-plane, | When an egress PE is enabled for BGP Services over SRv6 data-plane, | |||
| it signals one or more SRv6 Service SIDs enclosed in SRv6 Service | it signals one or more SRv6 Service SIDs enclosed in SRv6 Service | |||
| TLV(s) within the BGP Prefix-SID Attribute attached to MP-BGP NLRIs | TLV(s) within the BGP Prefix-SID Attribute attached to MP-BGP NLRIs | |||
| defined in [RFC4760] [RFC4659] [RFC8950] [RFC7432] [RFC4364] | defined in [RFC4760] [RFC4659] [RFC8950] [RFC7432] [RFC4364] | |||
| [RFC9136] where applicable as described in Section 5 and Section 6. | [RFC9136] where applicable as described in Section 5 and Section 6. | |||
| The support for BGP Multicast VPN (MVPN) Services [RFC6513] with SRv6 | The support for BGP Multicast VPN (MVPN) Services [RFC6513] with SRv6 | |||
| is outside the scope of this document. | is outside the scope of this document. | |||
| The following depicts the SRv6 Service TLVs encoded in the BGP | The following depicts the SRv6 Service TLVs encoded in the BGP | |||
| Prefix-SID Attribute: | Prefix-SID Attribute: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | TLV Type | TLV Length | RESERVED | | | TLV Type | TLV Length | RESERVED | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| // SRv6 Service Sub-TLVs // | | SRv6 Service Sub-TLVs // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 1: SRv6 Service TLVs | ||||
| o TLV Type (1 octet): This field is assigned values from the IANA | o TLV Type (1 octet): This field is assigned values from the IANA | |||
| registry "BGP Prefix-SID TLV Types". It is set to 5 for SRv6 L3 | registry "BGP Prefix-SID TLV Types". It is set to 5 for SRv6 L3 | |||
| Service TLV. It is set to 6 for SRv6 L2 Service TLV. | Service TLV. It is set to 6 for SRv6 L2 Service TLV. | |||
| o TLV Length (2 octets): Specifies the total length, in octets, of | o TLV Length (2 octets): Specifies the total length, in octets, of | |||
| the TLV Value. | the TLV Value. | |||
| o RESERVED (1 octet): This field is reserved; it SHOULD be set to 0 | o RESERVED (1 octet): This field is reserved; it SHOULD be set to 0 | |||
| by the sender and MUST be ignored by the receiver. | by the sender and MUST be ignored by the receiver. | |||
| skipping to change at page 5, line 46 ¶ | skipping to change at page 6, line 5 ¶ | |||
| o if the nexthop is changed, the TLVs, Sub-TLVs, and Sub-Sub-TLVs | o if the nexthop is changed, the TLVs, Sub-TLVs, and Sub-Sub-TLVs | |||
| SHOULD be updated with the locally allocated SRv6 SID information. | SHOULD be updated with the locally allocated SRv6 SID information. | |||
| Any unrecognized received Sub-TLVs and Sub-Sub-TLVs MUST be | Any unrecognized received Sub-TLVs and Sub-Sub-TLVs MUST be | |||
| removed. | removed. | |||
| 3. SRv6 Service Sub-TLVs | 3. SRv6 Service Sub-TLVs | |||
| The format of a single SRv6 Service Sub-TLV is depicted below: | The format of a single SRv6 Service Sub-TLV is depicted below: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SRv6 Service | SRv6 Service | SRv6 Service // | | SRv6 Service | SRv6 Service | SRv6 Service // | |||
| | Sub-TLV | Sub-TLV | Sub-TLV // | | Sub-TLV | Sub-TLV | Sub-TLV // | |||
| | Type | Length | value // | | Type | Length | value // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 2: SRv6 Service Sub-TLVs | ||||
| o SRv6 Service Sub-TLV Type (1 octet): Identifies the type of SRv6 | o SRv6 Service Sub-TLV Type (1 octet): Identifies the type of SRv6 | |||
| service information. It is assigned values from the IANA Registry | service information. It is assigned values from the IANA Registry | |||
| "SRv6 Service Sub-TLV Types". | "SRv6 Service Sub-TLV Types". | |||
| o SRv6 Service Sub-TLV Length (2 octets): Specifies the total | o SRv6 Service Sub-TLV Length (2 octets): Specifies the total | |||
| length, in octets, of the Sub-TLV Value field. | length, in octets, of the Sub-TLV Value field. | |||
| o SRv6 Service Sub-TLV Value (variable): Contains data specific to | o SRv6 Service Sub-TLV Value (variable): Contains data specific to | |||
| the Sub-TLV Type. In addition to fixed-length data, it contains | the Sub-TLV Type. In addition to fixed-length data, it contains | |||
| other properties of the SRv6 Service encoded as a set of SRv6 | other properties of the SRv6 Service encoded as a set of SRv6 | |||
| Service Data Sub-Sub-TLVs whose format is described in Section 3.2 | Service Data Sub-Sub-TLVs whose format is described in Section 3.2 | |||
| below. | below. | |||
| 3.1. SRv6 SID Information Sub-TLV | 3.1. SRv6 SID Information Sub-TLV | |||
| SRv6 Service Sub-TLV Type 1 is assigned for SRv6 SID Information Sub- | SRv6 Service Sub-TLV Type 1 is assigned for SRv6 SID Information Sub- | |||
| TLV. This Sub-TLV contains a single SRv6 SID along with its | TLV. This Sub-TLV contains a single SRv6 SID along with its | |||
| properties. Its encoding is depicted below: | properties. Its encoding is depicted below: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SRv6 Service | SRv6 Service | | | | SRv6 Service | SRv6 Service | | | |||
| | Sub-TLV | Sub-TLV | | | | Sub-TLV | Sub-TLV | | | |||
| | Type=1 | Length | RESERVED1 | | | Type=1 | Length | RESERVED1 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| // SRv6 SID Value (16 octets) // | | SRv6 SID Value (16 octets) // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SRv6 SID Flags| SRv6 Endpoint Behavior | RESERVED2 | | | Svc SID Flags | SRv6 Endpoint Behavior | RESERVED2 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| // SRv6 Service Data Sub-Sub-TLVs // | | SRv6 Service Data Sub-Sub-TLVs // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 3: SRv6 SID Information Sub-TLV | ||||
| o SRv6 Service Sub-TLV Type (1 octet): This field is set to 1 to | o SRv6 Service Sub-TLV Type (1 octet): This field is set to 1 to | |||
| represent SRv6 SID Information Sub-TLV. | represent SRv6 SID Information Sub-TLV. | |||
| o SRv6 Service Sub-TLV Length (2 octets): This field contains the | o SRv6 Service Sub-TLV Length (2 octets): This field contains the | |||
| total length, in octets, of the Value field of the Sub-TLV. | total length, in octets, of the Value field of the Sub-TLV. | |||
| o RESERVED1 (1 octet): SHOULD be set to 0 by the sender and MUST be | o RESERVED1 (1 octet): SHOULD be set to 0 by the sender and MUST be | |||
| ignored by the receiver. | ignored by the receiver. | |||
| o SRv6 SID Value (16 octets): Encodes an SRv6 SID as defined in | o SRv6 SID Value (16 octets): Encodes an SRv6 SID as defined in | |||
| [RFC8986] | [RFC8986] | |||
| o SRv6 SID Flags (1 octet): Encodes SRv6 SID Flags - none are | o SRv6 Service SID Flags (1 octet): Encodes SRv6 Service SID Flags - | |||
| currently defined. SHOULD be set to 0 by the sender and MUST be | none are currently defined. SHOULD be set to 0 by the sender and | |||
| ignored by the receiver. | any unknown flags MUST be ignored by the receiver. | |||
| o SRv6 Endpoint Behavior (2 octets): Encodes SRv6 Endpoint behavior | o SRv6 Endpoint Behavior (2 octets): Encodes SRv6 Endpoint behavior | |||
| codepoint value that is associated with SRv6 SID. The codepoints | codepoint value that is associated with SRv6 SID. The codepoints | |||
| used are from the "SRv6 Endpoint Behavior" registry under the IANA | used are from the "SRv6 Endpoint Behavior" registry under the IANA | |||
| "Segment Routing" parameters registry that was introduced by | "Segment Routing" parameters registry that was introduced by | |||
| [RFC8986]. The opaque endpoint behavior (i.e., value 0xFFFF) or | [RFC8986]. An unrecognized endpoint behavior MUST NOT be | |||
| an unrecognized endpoint behavior MUST NOT be considered invalid | considered invalid by the receiver. The opaque endpoint behavior | |||
| by the receiver. | (i.e., value 0xFFFF) MAY be used when the advertising router | |||
| wishes to abstract the actual behavior of it's locally | ||||
| instantiated SRv6 SID. | ||||
| o RESERVED2 (1 octet): SHOULD be set to 0 by the sender and MUST be | o RESERVED2 (1 octet): SHOULD be set to 0 by the sender and MUST be | |||
| ignored by the receiver. | ignored by the receiver. | |||
| o SRv6 Service Data Sub-Sub-TLV Value (variable): Used to advertise | o SRv6 Service Data Sub-Sub-TLV Value (variable): Used to advertise | |||
| properties of the SRv6 SID. It is encoded as a set of SRv6 | properties of the SRv6 SID. It is encoded as a set of SRv6 | |||
| Service Data Sub-Sub-TLVs. | Service Data Sub-Sub-TLVs. | |||
| When multiple SRv6 SID Information Sub-TLVs are present, the ingress | When multiple SRv6 SID Information Sub-TLVs are present, the ingress | |||
| PE SHOULD use the SRv6 SID from the first instance of the Sub-TLV. | PE SHOULD use the SRv6 SID from the first instance of the Sub-TLV. | |||
| skipping to change at page 7, line 37 ¶ | skipping to change at page 7, line 52 ¶ | |||
| The format of the SRv6 Service Data Sub-Sub-TLV is depicted below: | The format of the SRv6 Service Data Sub-Sub-TLV is depicted below: | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Service Data | Sub-Sub-TLV Length |Sub-Sub TLV // | | Service Data | Sub-Sub-TLV Length |Sub-Sub TLV // | |||
| | Sub-Sub-TLV | | Value // | | Sub-Sub-TLV | | Value // | |||
| | Type | | // | | Type | | // | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 4: SRv6 Service Data Sub-Sub-TLVs | ||||
| o SRv6 Service Data Sub-Sub-TLV Type (1 octet): Identifies the type | o SRv6 Service Data Sub-Sub-TLV Type (1 octet): Identifies the type | |||
| of Sub-Sub-TLV. It is assigned values from the IANA Registry | of Sub-Sub-TLV. It is assigned values from the IANA Registry | |||
| "SRv6 Service Data Sub-Sub-TLVs". | "SRv6 Service Data Sub-Sub-TLVs". | |||
| o SRv6 Service Data Sub-Sub-TLV Length (2 octets): Specifies the | o SRv6 Service Data Sub-Sub-TLV Length (2 octets): Specifies the | |||
| total length, in octets, of the Sub-Sub-TLV Value field. | total length, in octets, of the Sub-Sub-TLV Value field. | |||
| o SRv6 Service Data Sub-Sub-TLV Value (variable): Contains data | o SRv6 Service Data Sub-Sub-TLV Value (variable): Contains data | |||
| specific to the Sub-Sub-TLV Type. | specific to the Sub-Sub-TLV Type. | |||
| skipping to change at page 8, line 22 ¶ | skipping to change at page 8, line 39 ¶ | |||
| | Data Sub-Sub | Data Sub-Sub-TLV | Length | | | Data Sub-Sub | Data Sub-Sub-TLV | Length | | |||
| | -TLV Type=1 | Length | | | | -TLV Type=1 | Length | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Locator Node | Function | Argument | Transposition | | | Locator Node | Function | Argument | Transposition | | |||
| | Length | Length | Length | Length | | | Length | Length | Length | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Transposition | | | Transposition | | |||
| | Offset | | | Offset | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| Figure 5: SRv6 SID Structure Sub-Sub-TLV | ||||
| o SRv6 Service Data Sub-Sub-TLV Type (1 octet): This field is set to | o SRv6 Service Data Sub-Sub-TLV Type (1 octet): This field is set to | |||
| 1 to represent SRv6 SID Structure Sub-Sub-TLV. | 1 to represent SRv6 SID Structure Sub-Sub-TLV. | |||
| o SRv6 Service Data Sub-Sub-TLV Length (2 octets): This field | o SRv6 Service Data Sub-Sub-TLV Length (2 octets): This field | |||
| contains a total length of 6 octets. | contains a total length of 6 octets. | |||
| o Locator Block Length (1 octet): Contains the length of SRv6 SID | o Locator Block Length (1 octet): Contains the length of SRv6 SID | |||
| Locator Block in bits. | Locator Block in bits. | |||
| o Locator Node Length (1 octet): Contains the length of SRv6 SID | o Locator Node Length (1 octet): Contains the length of SRv6 SID | |||
| skipping to change at page 9, line 20 ¶ | skipping to change at page 9, line 39 ¶ | |||
| bits that have been shifted out MUST be set to 0 in the SID value. | bits that have been shifted out MUST be set to 0 in the SID value. | |||
| Transposition Length of 0 indicates nothing is transposed and that | Transposition Length of 0 indicates nothing is transposed and that | |||
| the entire SRv6 SID value is encoded in the SID Information Sub-TLV. | the entire SRv6 SID value is encoded in the SID Information Sub-TLV. | |||
| In this case, the Transposition Offset MUST be set to 0. | In this case, the Transposition Offset MUST be set to 0. | |||
| The size of the MPLS label field limits the bits transposed from the | The size of the MPLS label field limits the bits transposed from the | |||
| SRv6 SID value into it. E.g., the size of MPLS label field in | SRv6 SID value into it. E.g., the size of MPLS label field in | |||
| [RFC4364] [RFC8277] is 20 bits while in [RFC7432] is 24 bits. | [RFC4364] [RFC8277] is 20 bits while in [RFC7432] is 24 bits. | |||
| As defined in [RFC8986], the sum of the Locator Block Length (LBL), | ||||
| Locator Node Length (LNL), Function Length (FL), and Argument Length | ||||
| (AL) fields MUST be less than or equal to 128. Additionally, the | ||||
| following length checks also apply to the Transposition Length and | ||||
| Transposition Offset fields: | ||||
| The Transposition Offset MUST be less than LBL+LNL+FL+AL | ||||
| The sum of Transposition Offset and Transposition Length MUST be | ||||
| less than LBL+LNL+FL+AL | ||||
| As an example, consider that the sum of the Locator Block and the | As an example, consider that the sum of the Locator Block and the | |||
| Locator Node parts is 64. For an SRv6 SID where the entire Function | Locator Node parts is 64. For an SRv6 SID where the entire Function | |||
| part of size 16 bits is transposed, then the transposition offset is | part of size 16 bits is transposed, then the transposition offset is | |||
| set to 64 and the transposition length is set to 16. While for an | set to 64 and the transposition length is set to 16. While for an | |||
| SRv6 SID where the Function length is 24 bits and only the lower | SRv6 SID where the Function length is 24 bits and only the lower | |||
| order 20 bits are transposed (e.g. due to the limit of the MPLS label | order 20 bits are transposed (e.g. due to the limit of the MPLS label | |||
| field size), then the transposition offset is set to 68 and the | field size), then the transposition offset is set to 68 and the | |||
| transposition length is set to 20. | transposition length is set to 20. | |||
| BGP speakers that do not support this specification may misinterpret, | BGP speakers that do not support this specification may misinterpret, | |||
| on the reception of an SRv6-based BGP service route update, the part | on the reception of an SRv6-based BGP service route update, the part | |||
| of the SRv6 SID encoded in MPLS label field(s) as MPLS label values | of the SRv6 SID encoded in MPLS label field(s) as MPLS label values | |||
| for MPLS-based services. Implementations supporting this | for MPLS-based services. Implementations supporting this | |||
| specification SHOULD provide a mechanism to control the advertisement | specification MUST provide a mechanism to control the advertisement | |||
| of SRv6-based BGP service routes on a per-neighbor and per-service | of SRv6-based BGP service routes on a per-neighbor and per-service | |||
| basis. The details of deployment designs and implementation options | basis. The details of deployment designs and implementation options | |||
| are outside the scope of this document. | are outside the scope of this document. | |||
| Arguments MAY be generally applicable for SIDs of only specific SRv6 | Arguments may be generally applicable for SIDs of only specific SRv6 | |||
| Endpoint behaviors (e.g., End.DT2M) and therefore the Argument length | Endpoint behaviors (e.g., End.DT2M) and therefore the Argument length | |||
| MUST be set to 0 for SIDs where the Argument is not applicable. | MUST be set to 0 for SIDs where the Argument is not applicable. A | |||
| receiver is unable to validate the applicability of arguments for | ||||
| SRv6 Endpoint behaviors that are unknown to it and hence MUST ignore | ||||
| SRv6 SIDs with arguments (indicated by non-zero argument length) with | ||||
| unknown endpoint behaviors. | ||||
| 4. Encoding SRv6 SID Information | 4. Encoding SRv6 SID Information | |||
| The SRv6 Service SID(s) for a BGP Service Prefix are carried in the | The SRv6 Service SID(s) for a BGP Service Prefix are carried in the | |||
| SRv6 Services TLVs of the BGP Prefix-SID Attribute. | SRv6 Services TLVs of the BGP Prefix-SID Attribute. | |||
| For certain types of BGP Services like L3VPN where a per-VRF SID | For certain types of BGP Services like L3VPN where a per-VRF SID | |||
| allocation is used (i.e., End.DT4 or End.DT6 behaviors), the same SID | allocation is used (i.e., End.DT4 or End.DT6 behaviors), the same SID | |||
| is shared across multiple NLRIs thus providing efficient packing. | is shared across multiple NLRIs thus providing efficient packing. | |||
| However, for certain other types of BGP Services like EVPN VPWS where | However, for certain other types of BGP Services like EVPN VPWS where | |||
| skipping to change at page 11, line 17 ¶ | skipping to change at page 11, line 45 ¶ | |||
| BGP egress nodes (egress PEs) advertise a set of reachable prefixes. | BGP egress nodes (egress PEs) advertise a set of reachable prefixes. | |||
| Standard BGP update propagation schemes [RFC4271], which may make use | Standard BGP update propagation schemes [RFC4271], which may make use | |||
| of route reflectors [RFC4456], are used to propagate these prefixes. | of route reflectors [RFC4456], are used to propagate these prefixes. | |||
| BGP ingress nodes (ingress PEs) receive these advertisements and may | BGP ingress nodes (ingress PEs) receive these advertisements and may | |||
| add the prefix to the RIB in an appropriate VRF. | add the prefix to the RIB in an appropriate VRF. | |||
| Egress PEs which supports SRv6 based L3 services advertises overlay | Egress PEs which supports SRv6 based L3 services advertises overlay | |||
| service prefixes along with a Service SID enclosed in an SRv6 L3 | service prefixes along with a Service SID enclosed in an SRv6 L3 | |||
| Service TLV within the BGP Prefix-SID Attribute. This TLV serves two | Service TLV within the BGP Prefix-SID Attribute. This TLV serves two | |||
| purposes - first, it indicates that the egress PE supports SRv6 | purposes - first, it indicates that the egress PE supports SRv6 | |||
| overlay and the BGP ingress PE receiving this route MUST choose to | overlay and the BGP ingress PE receiving this route MUST perform IPv6 | |||
| perform IPv6 encapsulation and insert an SRH [RFC8754] when required; | encapsulation and insert an SRH [RFC8754] when required; second, it | |||
| second, it indicates the value of the Service SID to be used in the | indicates the value of the Service SID to be used in the | |||
| encapsulation. | encapsulation. | |||
| The Service SID thus signaled only has local significance at the | The Service SID thus signaled only has local significance at the | |||
| egress PE, where it may be allocated or configured on a per-CE or | egress PE, where it may be allocated or configured on a per-CE or | |||
| per-VRF basis. In practice, the SID may encode a cross-connect to a | per-VRF basis. In practice, the SID may encode a cross-connect to a | |||
| specific Address Family table (END.DT) or next-hop/interface (END.DX) | specific Address Family table (END.DT) or next-hop/interface (END.DX) | |||
| as defined in [RFC8986]. | as defined in [RFC8986]. | |||
| The SRv6 Service SID SHOULD be routable within the AS of the egress | The SRv6 Service SID SHOULD be routable within the AS of the egress | |||
| PE and serves the dual purpose of providing reachability between | PE and serves the dual purpose of providing reachability between | |||
| skipping to change at page 11, line 41 ¶ | skipping to change at page 12, line 20 ¶ | |||
| behavior. | behavior. | |||
| When steering for SRv6 services is based on shortest path forwarding | When steering for SRv6 services is based on shortest path forwarding | |||
| (e.g., best-effort or IGP Flexible Algorithm | (e.g., best-effort or IGP Flexible Algorithm | |||
| [I-D.ietf-lsr-flex-algo]) to the egress PE, the ingress PE | [I-D.ietf-lsr-flex-algo]) to the egress PE, the ingress PE | |||
| encapsulates the IPv4 or IPv6 customer packet in an outer IPv6 header | encapsulates the IPv4 or IPv6 customer packet in an outer IPv6 header | |||
| (using H.Encaps or H.Encaps.Red flavors specified in [RFC8986]) where | (using H.Encaps or H.Encaps.Red flavors specified in [RFC8986]) where | |||
| the destination address is the SRv6 Service SID associated with the | the destination address is the SRv6 Service SID associated with the | |||
| related BGP route update. Therefore, the ingress PE SHOULD perform | related BGP route update. Therefore, the ingress PE SHOULD perform | |||
| resolvability check for the SRv6 Service SID before considering the | resolvability check for the SRv6 Service SID before considering the | |||
| received prefix for the BGP best path computation. The result of an | received prefix for the BGP best path computation. The resolvability | |||
| SRv6 Service SID resolvability (e.g., when provided via IGP Flexible | is evaluated as per [RFC4271]. If the SRv6 SID is reachable via more | |||
| Algorithm) can be ignored if the ingress PE has a local policy that | than one forwarding table, local policy is used to determine which | |||
| allows an alternate steering mechanism to reach the egress PE. The | table to use. The result of an SRv6 Service SID resolvability (e.g., | |||
| details of such steering mechanisms are outside the scope of this | when provided via IGP Flexible Algorithm) can be ignored if the | |||
| document. | ingress PE has a local policy that allows an alternate steering | |||
| mechanism to reach the egress PE. The details of such steering | ||||
| mechanisms are outside the scope of this document. | ||||
| For service over SRv6 core, the egress PE sets the next-hop to one of | For service over SRv6 core, the egress PE sets the next-hop to one of | |||
| its IPv6 addresses. Such an address MAY be covered by the SRv6 | its IPv6 addresses. Such an address MAY be covered by the SRv6 | |||
| Locator from which the SRv6 Service SID is allocated. The next-hop | Locator from which the SRv6 Service SID is allocated. The next-hop | |||
| is used for tracking the reachability of the egress PE based on | is used for tracking the reachability of the egress PE based on | |||
| existing BGP procedures. | existing BGP procedures. | |||
| When the BGP route is received at an ingress PE is colored with a | When the BGP route is received at an ingress PE is colored with a | |||
| Color Extended community and a valid SRv6 Policy is available, the | Color Extended community and a valid SRv6 Policy is available, the | |||
| steering for service flows is performed as described in Section 8 of | steering for service flows is performed as described in Section 8 of | |||
| skipping to change at page 14, line 29 ¶ | skipping to change at page 15, line 14 ¶ | |||
| When steering for SRv6 services is based on shortest path forwarding | When steering for SRv6 services is based on shortest path forwarding | |||
| (e.g., best-effort or IGP Flexible Algorithm | (e.g., best-effort or IGP Flexible Algorithm | |||
| [I-D.ietf-lsr-flex-algo]) to the egress PE, the ingress PE | [I-D.ietf-lsr-flex-algo]) to the egress PE, the ingress PE | |||
| encapsulates the customer Layer 2 Ethernet packet in an outer IPv6 | encapsulates the customer Layer 2 Ethernet packet in an outer IPv6 | |||
| header (using H.Encaps.L2 or H.Encaps.L2.Red flavors specified in | header (using H.Encaps.L2 or H.Encaps.L2.Red flavors specified in | |||
| [RFC8986]) where the destination address is the SRv6 Service SID | [RFC8986]) where the destination address is the SRv6 Service SID | |||
| associated with the related BGP route update. Therefore, the ingress | associated with the related BGP route update. Therefore, the ingress | |||
| PE SHOULD perform resolvability check for the SRv6 Service SID before | PE SHOULD perform resolvability check for the SRv6 Service SID before | |||
| considering the received prefix for the BGP best path computation. | considering the received prefix for the BGP best path computation. | |||
| The result of an SRv6 Service SID resolvability (e.g., when provided | Therefore, the ingress PE SHOULD perform resolvability check for the | |||
| via IGP Flexible Algorithm) can be ignored if the ingress PE has a | SRv6 Service SID before considering the received prefix for the BGP | |||
| local policy that allows an alternate steering mechanism to reach the | best path computation. The resolvability is evaluated as per | |||
| [RFC4271]. If the SRv6 SID is reachable via more than one forwarding | ||||
| table, local policy is used to determine which table to use. The | ||||
| result of an SRv6 Service SID resolvability (e.g., when provided via | ||||
| IGP Flexible Algorithm) can be ignored if the ingress PE has a local | ||||
| policy that allows an alternate steering mechanism to reach the | ||||
| egress PE. The details of such steering mechanisms are outside the | egress PE. The details of such steering mechanisms are outside the | |||
| scope of this document. | scope of this document. | |||
| For service over SRv6 core, the egress PE sets the next-hop to one of | For service over SRv6 core, the egress PE sets the next-hop to one of | |||
| its IPv6 addresses. Such an address MAY be covered by the SRv6 | its IPv6 addresses. Such an address MAY be covered by the SRv6 | |||
| Locator from which the SRv6 Service SID is allocated. The next-hop | Locator from which the SRv6 Service SID is allocated. The next-hop | |||
| is used for tracking the reachability of the egress PE based on | is used for tracking the reachability of the egress PE based on | |||
| existing BGP procedures. | existing BGP procedures. | |||
| When the BGP route is received at an ingress PE is colored with a | When the BGP route is received at an ingress PE is colored with a | |||
| skipping to change at page 15, line 25 ¶ | skipping to change at page 16, line 15 ¶ | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | RD (8 octets) | | | RD (8 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| |Ethernet Segment Identifier (10 octets)| | |Ethernet Segment Identifier (10 octets)| | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | Ethernet Tag ID (4 octets) | | | Ethernet Tag ID (4 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | MPLS label (3 octets) | | | MPLS label (3 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| Figure 6: EVPN Route Type 1 | ||||
| 6.1.1. Ethernet A-D per ES Route | 6.1.1. Ethernet A-D per ES Route | |||
| Ethernet A-D per ES route NLRI encoding over SRv6 core is as per | Ethernet A-D per ES route NLRI encoding over SRv6 core is as per | |||
| [RFC7432]. | [RFC7432]. | |||
| The 24-bit ESI label field of the ESI label extended community | The 24-bit ESI label field of the ESI label extended community | |||
| carries the whole or a portion of the Argument part of the SRv6 SID | carries the whole or a portion of the Argument part of the SRv6 SID | |||
| when the ESI filtering approach is used along with the Transposition | when the ESI filtering approach is used along with the Transposition | |||
| Scheme of encoding (Section 4) and otherwise set to Implicit NULL | Scheme of encoding (Section 4) and otherwise set to Implicit NULL | |||
| value. In either case, the value is set in the high order 20 bits | value. In either case, the value is set in the high order 20 bits | |||
| skipping to change at page 16, line 47 ¶ | skipping to change at page 17, line 39 ¶ | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | IP Address Length (1 octet) | | | IP Address Length (1 octet) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | IP Address (0, 4, or 16 octets) | | | IP Address (0, 4, or 16 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | MPLS Label1 (3 octets) | | | MPLS Label1 (3 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | MPLS Label2 (0 or 3 octets) | | | MPLS Label2 (0 or 3 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| Figure 7: EVPN Route Type 2 | ||||
| NLRI encoding over SRv6 core is similar to [RFC7432] with the | NLRI encoding over SRv6 core is similar to [RFC7432] with the | |||
| following changes: | following changes: | |||
| o MPLS Label1: Is associated with the SRv6 L2 Service TLV. This | o MPLS Label1: Is associated with the SRv6 L2 Service TLV. This | |||
| 24-bit field carries the whole or a portion of the Function part | 24-bit field carries the whole or a portion of the Function part | |||
| of the SRv6 SID when the Transposition Scheme of encoding | of the SRv6 SID when the Transposition Scheme of encoding | |||
| (Section 4) is used and otherwise set to Implicit NULL value. In | (Section 4) is used and otherwise set to Implicit NULL value. In | |||
| either case, the value is set in the high order 20 bits (e.g., as | either case, the value is set in the high order 20 bits (e.g., as | |||
| 0x000030 in the case of Implicit NULL). When using the | 0x000030 in the case of Implicit NULL). When using the | |||
| Transposition Scheme, the Transposition Length MUST be less than | Transposition Scheme, the Transposition Length MUST be less than | |||
| skipping to change at page 18, line 43 ¶ | skipping to change at page 19, line 35 ¶ | |||
| | RD (8 octets) | | | RD (8 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | Ethernet Tag ID (4 octets) | | | Ethernet Tag ID (4 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | IP Address Length (1 octet) | | | IP Address Length (1 octet) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | Originating Router's IP Address | | | Originating Router's IP Address | | |||
| | (4 or 16 octets) | | | (4 or 16 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| Figure 8: EVPN Route Type 3 | ||||
| NLRI encoding over SRv6 core is similar to [RFC7432]. | NLRI encoding over SRv6 core is similar to [RFC7432]. | |||
| PMSI Tunnel Attribute [RFC6514] is used to identify the P-tunnel used | PMSI Tunnel Attribute [RFC6514] is used to identify the P-tunnel used | |||
| for sending broadcast, unknown unicast, or multicast (BUM) traffic. | for sending broadcast, unknown unicast, or multicast (BUM) traffic. | |||
| The format of PMSI Tunnel Attribute is encoded as follows over SRv6 | The format of PMSI Tunnel Attribute is encoded as follows over SRv6 | |||
| Core: | Core: | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | Flag (1 octet) | | | Flag (1 octet) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | Tunnel Type (1 octet) | | | Tunnel Type (1 octet) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | MPLS label (3 octet) | | | MPLS label (3 octet) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | Tunnel Identifier (variable) | | | Tunnel Identifier (variable) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| Figure 9: PMSI Tunnel Attribute | ||||
| o Flag: zero value defined per [RFC7432] | o Flag: zero value defined per [RFC7432] | |||
| o Tunnel Type: defined per [RFC6514] | o Tunnel Type: defined per [RFC6514] | |||
| o MPLS label: This 24-bit field carries the whole or a portion of | o MPLS label: This 24-bit field carries the whole or a portion of | |||
| the Function part of the SRv6 SID when ingress replication is used | the Function part of the SRv6 SID when ingress replication is used | |||
| and the Transposition Scheme of encoding (Section 4) is used and | and the Transposition Scheme of encoding (Section 4) is used and | |||
| otherwise, it is set as defined in [RFC6514]. When using the | otherwise, it is set as defined in [RFC6514]. When using the | |||
| Transposition Scheme, the Transposition Length MUST be less than | Transposition Scheme, the Transposition Length MUST be less than | |||
| or equal to 24 and less than or equal to the Function Length. | or equal to 24 and less than or equal to the Function Length. | |||
| skipping to change at page 20, line 24 ¶ | skipping to change at page 21, line 26 ¶ | |||
| | RD (8 octets) | | | RD (8 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | Ethernet Tag ID (4 octets) | | | Ethernet Tag ID (4 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | IP Address Length (1 octet) | | | IP Address Length (1 octet) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | Originating Router's IP Address | | | Originating Router's IP Address | | |||
| | (4 or 16 octets) | | | (4 or 16 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| Figure 10: EVPN Route Type 4 | ||||
| NLRI encoding over SRv6 core is similar to [RFC7432]. | NLRI encoding over SRv6 core is similar to [RFC7432]. | |||
| SRv6 Service TLVs within the BGP Prefix-SID attribute are not | SRv6 Service TLVs within the BGP Prefix-SID attribute are not | |||
| advertised along with this route. The processing of the route has | advertised along with this route. The processing of the route has | |||
| not changed - it remains as described in [RFC7432]. | not changed - it remains as described in [RFC7432]. | |||
| 6.5. IP Prefix Route over SRv6 Core | 6.5. IP Prefix Route over SRv6 Core | |||
| EVPN Route Type 5 is used to advertise IP address reachability | EVPN Route Type 5 is used to advertise IP address reachability | |||
| through MP-BGP to all other PEs in a given EVPN instance. The IP | through MP-BGP to all other PEs in a given EVPN instance. The IP | |||
| skipping to change at page 21, line 21 ¶ | skipping to change at page 22, line 21 ¶ | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | IP Prefix Length (1 octet) | | | IP Prefix Length (1 octet) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | IP Prefix (4 or 16 octets) | | | IP Prefix (4 or 16 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | GW IP Address (4 or 16 octets) | | | GW IP Address (4 or 16 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| | MPLS Label (3 octets) | | | MPLS Label (3 octets) | | |||
| +---------------------------------------+ | +---------------------------------------+ | |||
| Figure 11: EVPN Route Type 5 | ||||
| NLRI encoding over SRv6 core is similar to [RFC9136] with the | NLRI encoding over SRv6 core is similar to [RFC9136] with the | |||
| following change: | following change: | |||
| o MPLS Label: This 24-bit field carries the whole or a portion of | o MPLS Label: This 24-bit field carries the whole or a portion of | |||
| the Function part of the SRv6 SID when the Transposition Scheme of | the Function part of the SRv6 SID when the Transposition Scheme of | |||
| encoding (Section 4) is used and otherwise set to Implicit NULL | encoding (Section 4) is used and otherwise set to Implicit NULL | |||
| value. In either case, the value is set in the high order 20 bits | value. In either case, the value is set in the high order 20 bits | |||
| (e.g., as 0x000030 in the case of Implicit NULL). When using the | (e.g., as 0x000030 in the case of Implicit NULL). When using the | |||
| Transposition Scheme, the Transposition Length MUST be less than | Transposition Scheme, the Transposition Length MUST be less than | |||
| or equal to 24 and less than or equal to the Function Length. | or equal to 24 and less than or equal to the Function Length. | |||
| skipping to change at page 21, line 47 ¶ | skipping to change at page 23, line 4 ¶ | |||
| 6.6. EVPN Multicast Routes (Route Types 6, 7, 8) over SRv6 Core | 6.6. EVPN Multicast Routes (Route Types 6, 7, 8) over SRv6 Core | |||
| These routes do not require the advertisement of SRv6 Service TLVs | These routes do not require the advertisement of SRv6 Service TLVs | |||
| along with them. Similar to EVPN Route Type 4, the BGP Nexthop is | along with them. Similar to EVPN Route Type 4, the BGP Nexthop is | |||
| equal to the IPv6 address of egress PE. | equal to the IPv6 address of egress PE. | |||
| 7. Implementation Status | 7. Implementation Status | |||
| [Note to RFC Editor: This section needs to be removed before | [Note to RFC Editor: This section needs to be removed before | |||
| publication as RFC.] | publication as RFC.] | |||
| The [I-D.matsushima-spring-srv6-deployment-status] describes the | The [I-D.matsushima-spring-srv6-deployment-status] describes the | |||
| current deployment and implementation status of SRv6 which also | current deployment and implementation status of SRv6 which also | |||
| includes the BGP services over SRv6 as specified in this document. | includes the BGP services over SRv6 as specified in this document. | |||
| 8. Error Handling | 8. Error Handling | |||
| In case of any errors encountered while processing SRv6 Service TLVs, | In case of any errors encountered while processing SRv6 Service TLVs, | |||
| the details of the error SHOULD be logged for further analysis. | the details of the error SHOULD be logged for further analysis. | |||
| If multiple instances of SRv6 L3 Service TLV is encountered, all but | If multiple instances of SRv6 L3 Service TLV are encountered, all but | |||
| the first instance MUST be ignored. | the first instance MUST be ignored. | |||
| If multiple instances of SRv6 L2 Service TLV is encountered, all but | If multiple instances of SRv6 L2 Service TLV are encountered, all but | |||
| the first instance MUST be ignored. | the first instance MUST be ignored. | |||
| An SRv6 Service TLV is considered malformed in the following cases: | An SRv6 Service TLV is considered malformed in the following cases: | |||
| o the TLV Length is less than 1 | o the TLV Length is less than 1 | |||
| o the TLV Length is inconsistent with the length of BGP Prefix-SID | o the TLV Length is inconsistent with the length of BGP Prefix-SID | |||
| attribute | attribute | |||
| o at least one of the constituent Sub-TLVs is malformed | o at least one of the constituent Sub-TLVs is malformed | |||
| skipping to change at page 23, line 15 ¶ | skipping to change at page 24, line 18 ¶ | |||
| Any TLV or Sub-TLV or Sub-Sub-TLV is not considered malformed because | Any TLV or Sub-TLV or Sub-Sub-TLV is not considered malformed because | |||
| of failing any semantic validation of its Value field. | of failing any semantic validation of its Value field. | |||
| SRv6 overlay service requires Service SID for forwarding. The treat- | SRv6 overlay service requires Service SID for forwarding. The treat- | |||
| as-withdraw action [RFC7606] MUST be performed when at least one | as-withdraw action [RFC7606] MUST be performed when at least one | |||
| malformed SRV6 Service TLV is present in the BGP Prefix-SID | malformed SRV6 Service TLV is present in the BGP Prefix-SID | |||
| attribute. | attribute. | |||
| SRv6 SID value in SRv6 SID Information Sub-TLV is invalid when SID | SRv6 SID value in SRv6 SID Information Sub-TLV is invalid when SID | |||
| Structure Sub-Sub-TLV transposition length is greater than the number | Structure Sub-Sub-TLV transposition length is greater than the number | |||
| of bits of the label field or addition of transposition offset and | of bits of the label field or if any of the conditions for the fields | |||
| length is greater than 128. The transposition offset and length MUST | of the sub-sub-TLV as specified in Section 3.2.1 is not met. The | |||
| be 0 when the Sub-Sub-TLV is advertised along with routes where | transposition offset and length MUST be 0 when the Sub-Sub-TLV is | |||
| transposition scheme is not applicable (e.g., for Global IPv6 Service | advertised along with routes where transposition scheme is not | |||
| [RFC2545] where there is no label field). The path having such | applicable (e.g., for Global IPv6 Service [RFC2545] where there is no | |||
| Prefix-SID Attribute should be ineligible during the selection of the | label field). The path having such Prefix-SID Attribute without any | |||
| best path for the corresponding prefix. | valid SRv6 SID information MUST be considered ineligible during the | |||
| selection of the best path for the corresponding prefix. | ||||
| 9. IANA Considerations | 9. IANA Considerations | |||
| 9.1. BGP Prefix-SID TLV Types Registry | 9.1. BGP Prefix-SID TLV Types Registry | |||
| This document introduces two new TLV Types of the BGP Prefix-SID | This document introduces two new TLV Types of the BGP Prefix-SID | |||
| attribute. IANA has assigned Type values in the registry "BGP | attribute. IANA has assigned Type values in the registry "BGP | |||
| Prefix-SID TLV Types" as follows: | Prefix-SID TLV Types" as follows: | |||
| Value Type Reference | Value Type Reference | |||
| -------------------------------------------- | -------------------------------------------- | |||
| 4 Deprecated <this document> | 4 Deprecated <this document> | |||
| 5 SRv6 L3 Service TLV <this document> | 5 SRv6 L3 Service TLV <this document> | |||
| 6 SRv6 L2 Service TLV <this document> | 6 SRv6 L2 Service TLV <this document> | |||
| Figure 12: BGP Prefix-SID TLV Types | ||||
| The value 4 previously corresponded to the SRv6-VPN SID TLV, which | The value 4 previously corresponded to the SRv6-VPN SID TLV, which | |||
| was specified in previous versions of this document and used by early | was specified in previous versions of this document and used by early | |||
| implementations of this specification. It was deprecated and | implementations of this specification. It was deprecated and | |||
| replaced by the SRv6 L3 Service and SRv6 L2 Service TLVs. | replaced by the SRv6 L3 Service and SRv6 L2 Service TLVs. | |||
| 9.2. SRv6 Service Sub-TLV Types Registry | 9.2. SRv6 Service Sub-TLV Types Registry | |||
| IANA is requested to create and maintain a new registry called "SRv6 | IANA is requested to create and maintain a new registry called "SRv6 | |||
| Service Sub-TLV Types" under the "Border Gateway Protocol (BGP) | Service Sub-TLV Types" under the "Border Gateway Protocol (BGP) | |||
| Parameters" registry. The allocation policy for this registry is: | Parameters" registry. The allocation policy for this registry is: | |||
| 0 : Reserved | 0 : Reserved | |||
| 1-127 : IETF Review | 1-127 : IETF Review | |||
| 128-254 : First Come First Served | 128-254 : First Come First Served | |||
| 255 : Reserved | 255 : Reserved | |||
| Figure 13: SRv6 Service Sub-TLV Types Allocation Policy | ||||
| The following Sub-TLV Type is defined in this document: | The following Sub-TLV Type is defined in this document: | |||
| Value Type Reference | Value Type Reference | |||
| ---------------------------------------------------- | ---------------------------------------------------- | |||
| 1 SRv6 SID Information Sub-TLV <this document> | 1 SRv6 SID Information Sub-TLV <this document> | |||
| Figure 14: SRv6 Service Sub-TLV Types | ||||
| 9.3. SRv6 Service Data Sub-Sub-TLV Types Registry | 9.3. SRv6 Service Data Sub-Sub-TLV Types Registry | |||
| IANA is requested to create and maintain a new registry called "SRv6 | IANA is requested to create and maintain a new registry called "SRv6 | |||
| Service Data Sub-Sub-TLV Types" under the "Border Gateway Protocol | Service Data Sub-Sub-TLV Types" under the "Border Gateway Protocol | |||
| (BGP) Parameters" registry. The allocation policy for this registry | (BGP) Parameters" registry. The allocation policy for this registry | |||
| is: | is: | |||
| 0 : Reserved | 0 : Reserved | |||
| 1-127 : IETF Review | 1-127 : IETF Review | |||
| 128-254 : First Come First Served | 128-254 : First Come First Served | |||
| 255 : Reserved | 255 : Reserved | |||
| Figure 15: SRv6 Service Data Sub-Sub-TLV Types Allocation Policy | ||||
| The following Sub-Sub-TLV Type is defined in this document: | The following Sub-Sub-TLV Type is defined in this document: | |||
| Value Type Reference | Value Type Reference | |||
| ---------------------------------------------------- | ---------------------------------------------------- | |||
| 1 SRv6 SID Structure Sub-Sub-TLV <this document> | 1 SRv6 SID Structure Sub-Sub-TLV <this document> | |||
| Figure 16: SRv6 Service Data Sub-Sub-TLV Types | ||||
| 9.4. BGP SRv6 Service SID Flags Registry | 9.4. BGP SRv6 Service SID Flags Registry | |||
| IANA is requested to create and maintain a new registry called "BGP | IANA is requested to create and maintain a new registry called "BGP | |||
| SRv6 Service SID Flags" under the "Border Gateway Protocol (BGP) | SRv6 Service SID Flags" under the "Border Gateway Protocol (BGP) | |||
| Parameters" registry. The allocation policy for this registry is | Parameters" registry. The allocation policy for this registry is | |||
| IETF Review and all 8 bit positions of the flags are currently | IETF Review and all 8 bit positions of the flags are currently | |||
| unassigned. | unassigned. | |||
| 10. Security Considerations | 10. Security Considerations | |||
| skipping to change at page 25, line 6 ¶ | skipping to change at page 26, line 22 ¶ | |||
| option to protect BGP sessions is found in [RFC5925], while [RFC6952] | option to protect BGP sessions is found in [RFC5925], while [RFC6952] | |||
| includes an analysis of BGP keying and authentication issues. | includes an analysis of BGP keying and authentication issues. | |||
| This document does not introduce new services or BGP NLRI types but | This document does not introduce new services or BGP NLRI types but | |||
| extends the signaling of existing ones for SRv6. Therefore, the | extends the signaling of existing ones for SRv6. Therefore, the | |||
| security considerations for the respective BGP services BGP IPv4 over | security considerations for the respective BGP services BGP IPv4 over | |||
| IPv6 NH [RFC8950], BGP IPv6 L3VPN [RFC4659], BGP IPv6 [RFC2545], BGP | IPv6 NH [RFC8950], BGP IPv6 L3VPN [RFC4659], BGP IPv6 [RFC2545], BGP | |||
| EVPN [RFC7432] and IP EVPN [RFC9136] also apply. | EVPN [RFC7432] and IP EVPN [RFC9136] also apply. | |||
| SRv6 operates within a trusted SR domain with filtering of traffic at | SRv6 operates within a trusted SR domain with filtering of traffic at | |||
| the domain boundaries. These and other security aspects of SRv6 are | the domain boundaries. There is an assumed trust model such that any | |||
| discussed in the security considerations of [RFC8402] [RFC8754] and | node adding an SRH to the packet is assumed to be allowed to do so | |||
| apply for the deployment of BGP services using SRv6. The SRv6 SIDs | and there is the optional SRH HMAC TLV for validation when such an | |||
| used for the BGP Services in this document are defined in [RFC8986] | assumption is not valid. These and other security aspects of SRv6 | |||
| and hence the security considerations of that document also apply. | are discussed in the security considerations of [RFC8402] [RFC8754] | |||
| The service flows between PE routers using SRv6 SIDs advertised via | and apply for the deployment of BGP services using SRv6. The SRv6 | |||
| BGP are expected to be limited within the trusted SR domain (e.g., | SIDs used for the BGP Services in this document are defined in | |||
| within a single AS or between multiple ASes within a single provider | [RFC8986] and hence the security considerations of that document also | |||
| network). Precaution should be taken to ensure that the BGP service | apply. The service flows between PE routers using SRv6 SIDs | |||
| information (including associated SRv6 SID) advertised via BGP | advertised via BGP are expected to be limited within the trusted SR | |||
| sessions are limited to peers within this trusted SR domain. The | domain (e.g., within a single AS or between multiple ASes within a | |||
| security consideration section of [RFC8669] discusses mechanisms to | single provider network). Precaution should be taken to ensure that | |||
| prevent leaking of BGP Prefix-SID attribute, that carries SRv6 SID, | the BGP service information (including associated SRv6 SID) | |||
| outside the SR domain. | advertised via BGP sessions are limited to peers within this trusted | |||
| SR domain. The security consideration section of [RFC8669] discusses | ||||
| mechanisms to prevent leaking of BGP Prefix-SID attribute, that | ||||
| carries SRv6 SID, outside the SR domain. | ||||
| If these BGP session provisioning and BGP filtering mechanisms are | If these BGP session provisioning and BGP filtering mechanisms are | |||
| not implemented properly, it may be possible for nodes outside the SR | not implemented properly, it may be possible for nodes outside the SR | |||
| domain to learn the VPN Service SIDs and use them to direct traffic | domain to learn the VPN Service SIDs and use them to direct traffic | |||
| into VPN networks from outside the SR domain. However, the data | into VPN networks from outside the SR domain. However, the data | |||
| packet filtering mechanism that secures SRv6 usage in an SR domain as | packet filtering mechanism that secures SRv6 usage in an SR domain as | |||
| described in [RFC8402] [RFC8754] would prevent packets addressed to | described in [RFC8402] [RFC8754] would prevent packets addressed to | |||
| SRv6 SIDs from outside the SR domain from entering the SR domain. | SRv6 SIDs from outside the SR domain from entering the SR domain. | |||
| 11. Acknowledgments | 11. Acknowledgments | |||
| The authors of this document would like to thank Stephane Litkowski, | The authors of this document would like to thank Stephane Litkowski, | |||
| Rishabh Parekh, Xiejingrong, Rajesh M, Mustapha Aissaoui, Alexander | Rishabh Parekh, Xiejingrong, Rajesh M, Mustapha Aissaoui, Alexander | |||
| Vainshtein, Eduard Metz, Shraddha Hegde, and Eduard Vasilenko for | Vainshtein, Eduard Metz, Shraddha Hegde, Eduard Vasilenko, and Ron | |||
| their comments and review of this document. The authors would also | Bonica for their comments and review of this document. The authors | |||
| like to thank Matthew Bocci for his document shepherd review and | would also like to thank Matthew Bocci for his document shepherd | |||
| Martin Vigoureux for his AD review that resulted in helpful comments | review and Martin Vigoureux for his AD review that resulted in | |||
| for improving this document. | helpful comments for improving this document. | |||
| 12. Contributors | 12. Contributors | |||
| Satoru Matsushima | Satoru Matsushima | |||
| SoftBank | SoftBank | |||
| Email: satoru.matsushima@g.softbank.co.jp | Email: satoru.matsushima@g.softbank.co.jp | |||
| Dirk Steinberg | Dirk Steinberg | |||
| Steinberg Consulting | Steinberg Consulting | |||
| skipping to change at page 30, line 17 ¶ | skipping to change at page 31, line 30 ¶ | |||
| A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- | A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- | |||
| algo-18 (work in progress), October 2021. | algo-18 (work in progress), October 2021. | |||
| [I-D.ietf-spring-segment-routing-policy] | [I-D.ietf-spring-segment-routing-policy] | |||
| Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and | Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and | |||
| P. Mattes, "Segment Routing Policy Architecture", draft- | P. Mattes, "Segment Routing Policy Architecture", draft- | |||
| ietf-spring-segment-routing-policy-16 (work in progress), | ietf-spring-segment-routing-policy-16 (work in progress), | |||
| January 2022. | January 2022. | |||
| [I-D.matsushima-spring-srv6-deployment-status] | [I-D.matsushima-spring-srv6-deployment-status] | |||
| Matsushima, S., Filsfils, C., Ali, Z., Li, Z., and K. | Matsushima, S., Filsfils, C., Ali, Z., Li, Z., Rajaraman, | |||
| Rajaraman, "SRv6 Implementation and Deployment Status", | K., and A. Dhamija, "SRv6 Implementation and Deployment | |||
| draft-matsushima-spring-srv6-deployment-status-11 (work in | Status", draft-matsushima-spring-srv6-deployment-status-12 | |||
| progress), February 2021. | (work in progress), February 2022. | |||
| [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", | [RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", | |||
| RFC 4272, DOI 10.17487/RFC4272, January 2006, | RFC 4272, DOI 10.17487/RFC4272, January 2006, | |||
| <https://www.rfc-editor.org/info/rfc4272>. | <https://www.rfc-editor.org/info/rfc4272>. | |||
| [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP | [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP | |||
| Authentication Option", RFC 5925, DOI 10.17487/RFC5925, | Authentication Option", RFC 5925, DOI 10.17487/RFC5925, | |||
| June 2010, <https://www.rfc-editor.org/info/rfc5925>. | June 2010, <https://www.rfc-editor.org/info/rfc5925>. | |||
| [RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/ | [RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/ | |||
| End of changes. 49 change blocks. | ||||
| 95 lines changed or deleted | 154 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/ | ||||