| < draft-ietf-bess-srv6-services-13.txt | draft-ietf-bess-srv6-services-14.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: September 20, 2022 K. Talaulikar, Ed. | Expires: September 23, 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 | |||
| March 19, 2022 | March 22, 2022 | |||
| SRv6 BGP based Overlay Services | SRv6 BGP based Overlay Services | |||
| draft-ietf-bess-srv6-services-13 | draft-ietf-bess-srv6-services-14 | |||
| 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 September 20, 2022. | This Internet-Draft will expire on September 23, 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 22 ¶ | skipping to change at page 2, line 22 ¶ | |||
| 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 . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . 8 | |||
| 3.2.1. SRv6 SID Structure Sub-Sub-TLV . . . . . . . . . . . 8 | 3.2.1. SRv6 SID Structure Sub-Sub-TLV . . . . . . . . . . . 8 | |||
| 4. Encoding SRv6 SID Information . . . . . . . . . . . . . . . . 10 | 4. Encoding SRv6 SID Information . . . . . . . . . . . . . . . . 11 | |||
| 5. BGP based L3 Service over SRv6 . . . . . . . . . . . . . . . 11 | 5. BGP based L3 Service over SRv6 . . . . . . . . . . . . . . . 12 | |||
| 5.1. IPv4 VPN Over SRv6 Core . . . . . . . . . . . . . . . . . 13 | 5.1. IPv4 VPN Over SRv6 Core . . . . . . . . . . . . . . . . . 13 | |||
| 5.2. IPv6 VPN Over SRv6 Core . . . . . . . . . . . . . . . . . 13 | 5.2. IPv6 VPN Over SRv6 Core . . . . . . . . . . . . . . . . . 13 | |||
| 5.3. Global IPv4 over SRv6 Core . . . . . . . . . . . . . . . 13 | 5.3. Global IPv4 over SRv6 Core . . . . . . . . . . . . . . . 14 | |||
| 5.4. Global IPv6 over SRv6 Core . . . . . . . . . . . . . . . 13 | 5.4. Global IPv6 over SRv6 Core . . . . . . . . . . . . . . . 14 | |||
| 6. BGP based Ethernet VPN (EVPN) over SRv6 . . . . . . . . . . . 14 | 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 . . . . . . 16 | |||
| 6.1.1. Ethernet A-D per ES Route . . . . . . . . . . . . . . 16 | 6.1.1. Ethernet A-D per ES Route . . . . . . . . . . . . . . 16 | |||
| 6.1.2. Ethernet A-D per EVI Route . . . . . . . . . . . . . 16 | 6.1.2. Ethernet A-D per EVI Route . . . . . . . . . . . . . 17 | |||
| 6.2. MAC/IP Advertisement Route over SRv6 Core . . . . . . . . 17 | 6.2. MAC/IP Advertisement Route over SRv6 Core . . . . . . . . 17 | |||
| 6.2.1. MAC/IP Advertisement Route with MAC Only . . . . . . 18 | 6.2.1. MAC/IP Advertisement Route with MAC Only . . . . . . 19 | |||
| 6.2.2. MAC/IP Advertisement Route with MAC+IP . . . . . . . 18 | 6.2.2. MAC/IP Advertisement Route with MAC+IP . . . . . . . 19 | |||
| 6.3. Inclusive Multicast Ethernet Tag Route over SRv6 Core . . 19 | 6.3. Inclusive Multicast Ethernet Tag Route over SRv6 Core . . 20 | |||
| 6.4. Ethernet Segment Route over SRv6 Core . . . . . . . . . . 21 | 6.4. Ethernet Segment Route over SRv6 Core . . . . . . . . . . 21 | |||
| 6.5. IP Prefix Route over SRv6 Core . . . . . . . . . . . . . 21 | 6.5. IP Prefix Route over SRv6 Core . . . . . . . . . . . . . 22 | |||
| 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 . . . . . . . . . . . . . . . . . . . . . . . . . . 22 | Core . . . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 7. Implementation Status . . . . . . . . . . . . . . . . . . . . 22 | 7. Implementation Status . . . . . . . . . . . . . . . . . . . . 23 | |||
| 8. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 23 | 8. Error Handling . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 9.1. BGP Prefix-SID TLV Types Registry . . . . . . . . . . . . 24 | 9.1. BGP Prefix-SID TLV Types Registry . . . . . . . . . . . . 24 | |||
| 9.2. SRv6 Service Sub-TLV Types Registry . . . . . . . . . . . 24 | 9.2. SRv6 Service Sub-TLV Types Registry . . . . . . . . . . . 25 | |||
| 9.3. SRv6 Service Data Sub-Sub-TLV Types Registry . . . . . . 25 | 9.3. SRv6 Service Data Sub-Sub-TLV Types Registry . . . . . . 25 | |||
| 9.4. BGP SRv6 Service SID Flags Registry . . . . . . . . . . . 25 | 9.4. BGP SRv6 Service SID Flags Registry . . . . . . . . . . . 26 | |||
| 9.5. Subsequent Address Family Identifiers (SAFI) Parameters | ||||
| Registry . . . . . . . . . . . . . . . . . . . . . . . . 26 | ||||
| 10. Security Considerations . . . . . . . . . . . . . . . . . . . 26 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 26 | |||
| 10.1. BGP Session Related Considerations . . . . . . . . . . . 26 | 10.1. BGP Session Related Considerations . . . . . . . . . . . 26 | |||
| 10.2. BGP Services Related Considerations . . . . . . . . . . 26 | 10.2. BGP Services Related Considerations . . . . . . . . . . 26 | |||
| 10.3. SR over IPv6 Data Plane Related Considerations . . . . . 27 | 10.3. SR over IPv6 Data Plane Related Considerations . . . . . 27 | |||
| 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 28 | 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 28 | 12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 29 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . 29 | 13.1. Normative References . . . . . . . . . . . . . . . . . . 30 | |||
| 13.2. Informative References . . . . . . . . . . . . . . . . . 32 | 13.2. Informative References . . . . . . . . . . . . . . . . . 32 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
| 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. | |||
| skipping to change at page 7, line 40 ¶ | skipping to change at page 7, line 40 ¶ | |||
| 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. | |||
| The choice of SRv6 Endpoint behavior of the SRv6 SID is entirely up | The choice of SRv6 Endpoint behavior of the SRv6 SID is entirely up | |||
| to the originator of the advertisement. While Section 5 and | to the originator of the advertisement. While Section 5 and | |||
| Section 6 list the SRv6 Endpoint Behaviors that are normally expected | Section 6 list the SRv6 Endpoint Behaviors that are normally expected | |||
| to be used by the specific route advertisements, the reception of | to be used by the specific route advertisements, the reception of | |||
| other SRv6 Endpoint behaviors (e.g., new behaviors that may be | other SRv6 Endpoint behaviors (e.g., new behaviors that may be | |||
| introduced in the future) is not considered an error. An | introduced in the future) is not considered an error. An | |||
| unrecognized endpoint behavior MUST NOT be considered invalid by the | unrecognized endpoint behavior MUST NOT be considered invalid by the | |||
| receiver. An implementation MAY log a rate-limited warning when it | receiver except for behaviors that involve the use of arguments | |||
| receives an unexpected behavior. | (refer to Section 3.2.1 for details on argument validation). An | |||
| implementation MAY log a rate-limited warning when it receives an | ||||
| unexpected behavior. | ||||
| 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. | |||
| An implementation MAY provide a local policy to override this | An implementation MAY provide a local policy to override this | |||
| selection. | selection. | |||
| 3.2. SRv6 Service Data Sub-Sub-TLVs | 3.2. SRv6 Service Data Sub-Sub-TLVs | |||
| 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: | |||
| skipping to change at page 26, line 5 ¶ | skipping to change at page 26, line 13 ¶ | |||
| Figure 16: SRv6 Service Data Sub-Sub-TLV Types | 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. | |||
| 9.5. Subsequent Address Family Identifiers (SAFI) Parameters Registry | ||||
| IANA is requested to add this document as a reference for value 128 | ||||
| in the "Subsequent Address Family Identifiers (SAFI) Parameters" | ||||
| registry. | ||||
| 10. Security Considerations | 10. Security Considerations | |||
| This document specifies extensions to the BGP protocol for signaling | This document specifies extensions to the BGP protocol for signaling | |||
| of services for SRv6. These specifications leverage existing BGP | of services for SRv6. These specifications leverage existing BGP | |||
| protocol mechanisms for the signaling of various types of services. | protocol mechanisms for the signaling of various types of services. | |||
| It also builds upon existing elements of the SR architecture (more | It also builds upon existing elements of the SR architecture (more | |||
| specifically SRv6). As such, this section largely provides pointers | specifically SRv6). As such, this section largely provides pointers | |||
| (as a reminder) to the security considerations of those existing | (as a reminder) to the security considerations of those existing | |||
| specifications while also covering certain newer security aspects for | specifications while also covering certain newer security aspects for | |||
| the specifications newly introduced by this document. | the specifications newly introduced by this document. | |||
| skipping to change at page 28, line 9 ¶ | skipping to change at page 28, line 21 ¶ | |||
| independent of BGP signaling of SRv6 services. | independent of BGP signaling of SRv6 services. | |||
| These considerations help protect transit traffic as well as | These considerations help protect transit traffic as well as | |||
| services, such as VPNs, to avoid service theft or injection of | services, such as VPNs, to avoid service theft or injection of | |||
| traffic into customer VPN. | traffic into customer VPN. | |||
| 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, Eduard Vasilenko, and Ron | Vainshtein, Eduard Metz, Shraddha Hegde, Eduard Vasilenko, Ron | |||
| Bonica for their comments and review of this document. The authors | Bonica, and Joel Halpern for their comments and review of this | |||
| would also like to thank Matthew Bocci for his document shepherd | document. The authors would also like to thank Matthew Bocci for his | |||
| review and Martin Vigoureux for his AD review that resulted in | document shepherd review and Martin Vigoureux for his AD review that | |||
| helpful comments for improving this document. | resulted in 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 29, line 42 ¶ | skipping to change at page 30, line 12 ¶ | |||
| Email: zali@cisco.com | Email: zali@cisco.com | |||
| 13. References | 13. References | |||
| 13.1. Normative References | 13.1. Normative References | |||
| [I-D.ietf-bess-evpn-igmp-mld-proxy] | [I-D.ietf-bess-evpn-igmp-mld-proxy] | |||
| Sajassi, A., Thoria, S., Mishra, M., Drake, J., and W. | Sajassi, A., Thoria, S., Mishra, M., Drake, J., and W. | |||
| Lin, "IGMP and MLD Proxy for EVPN", draft-ietf-bess-evpn- | Lin, "IGMP and MLD Proxy for EVPN", draft-ietf-bess-evpn- | |||
| igmp-mld-proxy-19 (work in progress), March 2022. | igmp-mld-proxy-20 (work in progress), March 2022. | |||
| [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>. | |||
| [RFC2545] Marques, P. and F. Dupont, "Use of BGP-4 Multiprotocol | [RFC2545] Marques, P. and F. Dupont, "Use of BGP-4 Multiprotocol | |||
| Extensions for IPv6 Inter-Domain Routing", RFC 2545, | Extensions for IPv6 Inter-Domain Routing", RFC 2545, | |||
| DOI 10.17487/RFC2545, March 1999, | DOI 10.17487/RFC2545, March 1999, | |||
| <https://www.rfc-editor.org/info/rfc2545>. | <https://www.rfc-editor.org/info/rfc2545>. | |||
| skipping to change at page 32, line 38 ¶ | skipping to change at page 33, line 8 ¶ | |||
| [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-21 (work in progress), | ietf-spring-segment-routing-policy-21 (work in progress), | |||
| March 2022. | March 2022. | |||
| [I-D.matsushima-spring-srv6-deployment-status] | [I-D.matsushima-spring-srv6-deployment-status] | |||
| Matsushima, S., Filsfils, C., Ali, Z., Li, Z., Rajaraman, | Matsushima, S., Filsfils, C., Ali, Z., Li, Z., Rajaraman, | |||
| K., and A. Dhamija, "SRv6 Implementation and Deployment | K., and A. Dhamija, "SRv6 Implementation and Deployment | |||
| Status", draft-matsushima-spring-srv6-deployment-status-12 | Status", draft-matsushima-spring-srv6-deployment-status-13 | |||
| (work in progress), February 2022. | (work in progress), March 2022. | |||
| [RFC2827] Ferguson, P. and D. Senie, "Network Ingress Filtering: | [RFC2827] Ferguson, P. and D. Senie, "Network Ingress Filtering: | |||
| Defeating Denial of Service Attacks which employ IP Source | Defeating Denial of Service Attacks which employ IP Source | |||
| Address Spoofing", BCP 38, RFC 2827, DOI 10.17487/RFC2827, | Address Spoofing", BCP 38, RFC 2827, DOI 10.17487/RFC2827, | |||
| May 2000, <https://www.rfc-editor.org/info/rfc2827>. | May 2000, <https://www.rfc-editor.org/info/rfc2827>. | |||
| [RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed | [RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed | |||
| Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, March | Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, March | |||
| 2004, <https://www.rfc-editor.org/info/rfc3704>. | 2004, <https://www.rfc-editor.org/info/rfc3704>. | |||
| End of changes. 21 change blocks. | ||||
| 32 lines changed or deleted | 41 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/ | ||||