draft-ietf-lsr-ospfv3-srv6-extensions-00.txt | draft-ietf-lsr-ospfv3-srv6-extensions-01.txt | |||
---|---|---|---|---|
Link State Routing Z. Li | Link State Routing Z. Li | |||
Internet-Draft Z. Hu | Internet-Draft Z. Hu | |||
Intended status: Standards Track D. Cheng | Intended status: Standards Track D. Cheng | |||
Expires: August 15, 2020 Huawei Technologies | Expires: February 15, 2021 Huawei Technologies | |||
K. Talaulikar, Ed. | K. Talaulikar, Ed. | |||
P. Psenak | P. Psenak | |||
Cisco Systems | Cisco Systems | |||
February 12, 2020 | August 14, 2020 | |||
OSPFv3 Extensions for SRv6 | OSPFv3 Extensions for SRv6 | |||
draft-ietf-lsr-ospfv3-srv6-extensions-00 | draft-ietf-lsr-ospfv3-srv6-extensions-01 | |||
Abstract | Abstract | |||
Segment Routing (SR) allows for a flexible definition of end-to-end | Segment Routing (SR) allows for a flexible definition of end-to-end | |||
paths by encoding paths as sequences of topological sub-paths, called | paths by encoding paths as sequences of topological sub-paths, called | |||
"segments". Segment Routing architecture can be implemented over an | "segments". Segment Routing architecture can be implemented over an | |||
MPLS data plane as well as an IPv6 data plane. This draft describes | MPLS data plane as well as an IPv6 data plane. This draft describes | |||
the OSPFv3 extensions required to support Segment Routing over an | the OSPFv3 extensions required to support Segment Routing over an | |||
IPv6 data plane (SRv6). | IPv6 data plane (SRv6). | |||
skipping to change at page 1, line 39 ¶ | skipping to change at page 1, line 39 ¶ | |||
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 15, 2020. | This Internet-Draft will expire on February 15, 2021. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 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 19 ¶ | skipping to change at page 2, line 19 ¶ | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | |||
2. SRv6 Capabilities TLV . . . . . . . . . . . . . . . . . . . . 3 | 2. SRv6 Capabilities TLV . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Advertisement of Supported Algorithms . . . . . . . . . . . . 5 | 3. Advertisement of Supported Algorithms . . . . . . . . . . . . 5 | |||
4. Advertisement of SRH Operation Limits . . . . . . . . . . . . 5 | 4. Advertisement of SRH Operation Limits . . . . . . . . . . . . 5 | |||
4.1. Maximum Segments Left MSD Type . . . . . . . . . . . . . 5 | 4.1. Maximum Segments Left MSD Type . . . . . . . . . . . . . 5 | |||
4.2. Maximum End Pop MSD Type . . . . . . . . . . . . . . . . 5 | 4.2. Maximum End Pop MSD Type . . . . . . . . . . . . . . . . 5 | |||
4.3. Maximum H.Encaps MSD Type . . . . . . . . . . . . . . . . 6 | 4.3. Maximum H.Encaps MSD Type . . . . . . . . . . . . . . . . 5 | |||
4.4. Maximum End D MSD Type . . . . . . . . . . . . . . . . . 6 | 4.4. Maximum End D MSD Type . . . . . . . . . . . . . . . . . 6 | |||
5. Advertisement of SRv6 Locator and End SIDs . . . . . . . . . 6 | 5. Advertisement of SRv6 Locator and End SIDs . . . . . . . . . 6 | |||
6. SRv6 Locator LSA . . . . . . . . . . . . . . . . . . . . . . 7 | 6. SRv6 Locator LSA . . . . . . . . . . . . . . . . . . . . . . 7 | |||
6.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 9 | 6.1. SRv6 Locator TLV . . . . . . . . . . . . . . . . . . . . 9 | |||
7. Advertisment of SRv6 End SIDs . . . . . . . . . . . . . . . . 11 | 7. Advertisment of SRv6 End SIDs . . . . . . . . . . . . . . . . 11 | |||
8. Advertisment of SRv6 SIDs Associated with Adjacencies . . . . 12 | 8. Advertisment of SRv6 SIDs Associated with Adjacencies . . . . 12 | |||
8.1. SRv6 End.X SID Sub-TLV . . . . . . . . . . . . . . . . . 13 | 8.1. SRv6 End.X SID Sub-TLV . . . . . . . . . . . . . . . . . 13 | |||
8.2. SRv6 LAN End.X SID Sub-TLV . . . . . . . . . . . . . . . 15 | 8.2. SRv6 LAN End.X SID Sub-TLV . . . . . . . . . . . . . . . 15 | |||
9. SRv6 SID Structure Sub-TLV . . . . . . . . . . . . . . . . . 16 | 9. SRv6 SID Structure Sub-TLV . . . . . . . . . . . . . . . . . 16 | |||
10. Advertising Endpoint Behaviors . . . . . . . . . . . . . . . 17 | 10. Advertising Endpoint Behaviors . . . . . . . . . . . . . . . 17 | |||
skipping to change at page 2, line 51 ¶ | skipping to change at page 2, line 51 ¶ | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
1. Introduction | 1. Introduction | |||
Segment Routing (SR) architecture [RFC8402] specifies how a node can | Segment Routing (SR) architecture [RFC8402] specifies how a node can | |||
steer a packet through an ordered list of instructions, called | steer a packet through an ordered list of instructions, called | |||
segments. These segments are identified through Segment Identifiers | segments. These segments are identified through Segment Identifiers | |||
(SIDs). | (SIDs). | |||
Segment Routing can be instantiated on the IPv6 data plane through | Segment Routing can be instantiated on the IPv6 data plane through | |||
the use of the Segment Routing Header (SRH) defined in | the use of the Segment Routing Header (SRH) defined in [RFC8754]. | |||
[I-D.ietf-6man-segment-routing-header]. SRv6 refers to this SR | SRv6 refers to this SR instantiation on the IPv6 dataplane. The | |||
instantiation on the IPv6 dataplane. The network programming | network programming paradigm for SRv6 is specified in | |||
paradigm for SRv6 is specified in | ||||
[I-D.ietf-spring-srv6-network-programming] which describes several | [I-D.ietf-spring-srv6-network-programming] which describes several | |||
well-known behaviors that can be bound to SRv6 SIDs. | well-known behaviors that can be bound to SRv6 SIDs. | |||
This document specifies extensions to OSPFv3 in order to support SRv6 | This document specifies extensions to OSPFv3 in order to support SRv6 | |||
as defined in [I-D.ietf-spring-srv6-network-programming] by signaling | as defined in [I-D.ietf-spring-srv6-network-programming] by signaling | |||
the SRv6 capabilities of the node and certain SRv6 SIDs with their | the SRv6 capabilities of the node and certain SRv6 SIDs with their | |||
endpoint behaviors (e.g., End, End.X, etc.) that are instantiated on | endpoint behaviors (e.g., End, End.X, etc.) that are instantiated on | |||
the SRv6 capable router. | the SRv6 capable router. | |||
At a high level, the extensions to OSPFv3 are comprised of the | At a high level, the extensions to OSPFv3 are comprised of the | |||
skipping to change at page 5, line 35 ¶ | skipping to change at page 5, line 35 ¶ | |||
The MSD types for SRv6 that are defined in section 4 of | The MSD types for SRv6 that are defined in section 4 of | |||
[I-D.ietf-lsr-isis-srv6-extensions] for IS-IS are also used by | [I-D.ietf-lsr-isis-srv6-extensions] for IS-IS are also used by | |||
OSPFv3. These MSD Types are allocated under the IGP MSD Types | OSPFv3. These MSD Types are allocated under the IGP MSD Types | |||
registry maintained by IANA that are shared by IS-IS and OSPF. They | registry maintained by IANA that are shared by IS-IS and OSPF. They | |||
are described below: | are described below: | |||
4.1. Maximum Segments Left MSD Type | 4.1. Maximum Segments Left MSD Type | |||
The Maximum Segments Left MSD Type specifies the maximum value of the | The Maximum Segments Left MSD Type specifies the maximum value of the | |||
"SL" field [I-D.ietf-6man-segment-routing-header] in the SRH of a | "SL" field [RFC8754] in the SRH of a received packet before applying | |||
received packet before applying the Endpoint behavior associated with | the Endpoint behavior associated with a SID. If no value is | |||
a SID. If no value is advertised, the supported value is assumed to | advertised, the supported value is assumed to be 0. | |||
be 0. | ||||
4.2. Maximum End Pop MSD Type | 4.2. Maximum End Pop MSD Type | |||
The Maximum End Pop MSD Type specifies the maximum number of SIDs in | The Maximum End Pop MSD Type specifies the maximum number of SIDs in | |||
the SRH for which the router can apply Penultimate Segment Pop (PSP) | the SRH for which the router can apply Penultimate Segment Pop (PSP) | |||
or Ultimate Segment Pop (USP) as defined in | or Ultimate Segment Pop (USP) as defined in | |||
[I-D.ietf-spring-srv6-network-programming] flavors. If the | [I-D.ietf-spring-srv6-network-programming] flavors. If the | |||
advertised value is zero or no value is advertised, then it is | advertised value is zero or no value is advertised, then it is | |||
assumed that the router cannot apply PSP or USP. | assumed that the router cannot apply PSP or USP. | |||
skipping to change at page 19, line 16 ¶ | skipping to change at page 19, line 16 ¶ | |||
This document specifies updates to multiple OSPF and OSPFv3 related | This document specifies updates to multiple OSPF and OSPFv3 related | |||
IANA registries as follows. | IANA registries as follows. | |||
12.1. OSPF Router Information TLVs | 12.1. OSPF Router Information TLVs | |||
This document proposes the following new code point in the "OSPF | This document proposes the following new code point in the "OSPF | |||
Router Information (RI) TLVs" registry under the "OSPF Parameters" | Router Information (RI) TLVs" registry under the "OSPF Parameters" | |||
registry for the new TLVs: | registry for the new TLVs: | |||
Type TBD (suggested 17): SRv6-Capabilities TLV: Refer to | Type TBD (suggested 20): SRv6-Capabilities TLV: Refer to | |||
Section 2. | Section 2. | |||
12.2. OSPFv3 LSA Function Codes | 12.2. OSPFv3 LSA Function Codes | |||
This document proposes the following new code point in the "OSPFv3 | This document proposes the following new code point in the "OSPFv3 | |||
LSA Function Codes" registry under the "OSPFv3 Parameters" registry | LSA Function Codes" registry under the "OSPFv3 Parameters" registry | |||
for the new SRv6 Locator LSA: | for the new SRv6 Locator LSA: | |||
o Type TBD (suggested 42): SRv6 Locator LSA: Refer to Section 6. | o Type TBD (suggested 42): SRv6 Locator LSA: Refer to Section 6. | |||
skipping to change at page 21, line 9 ¶ | skipping to change at page 21, line 9 ¶ | |||
13. Acknowledgements | 13. Acknowledgements | |||
The authors would like to thank Acee Lindem and Chenzichao for their | The authors would like to thank Acee Lindem and Chenzichao for their | |||
review and comments on this document. | review and comments on this document. | |||
14. References | 14. References | |||
14.1. Normative References | 14.1. Normative References | |||
[I-D.ietf-6man-segment-routing-header] | ||||
Filsfils, C., Dukes, D., Previdi, S., Leddy, J., | ||||
Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | ||||
(SRH)", draft-ietf-6man-segment-routing-header-26 (work in | ||||
progress), October 2019. | ||||
[I-D.ietf-6man-spring-srv6-oam] | [I-D.ietf-6man-spring-srv6-oam] | |||
Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M. | Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M. | |||
Chen, "Operations, Administration, and Maintenance (OAM) | Chen, "Operations, Administration, and Maintenance (OAM) | |||
in Segment Routing Networks with IPv6 Data plane (SRv6)", | in Segment Routing Networks with IPv6 Data plane (SRv6)", | |||
draft-ietf-6man-spring-srv6-oam-03 (work in progress), | draft-ietf-6man-spring-srv6-oam-07 (work in progress), | |||
December 2019. | July 2020. | |||
[I-D.ietf-lsr-isis-srv6-extensions] | [I-D.ietf-lsr-isis-srv6-extensions] | |||
Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and | Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and | |||
Z. Hu, "IS-IS Extension to Support Segment Routing over | Z. Hu, "IS-IS Extension to Support Segment Routing over | |||
IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-04 | IPv6 Dataplane", draft-ietf-lsr-isis-srv6-extensions-08 | |||
(work in progress), January 2020. | (work in progress), April 2020. | |||
[I-D.ietf-spring-srv6-network-programming] | [I-D.ietf-spring-srv6-network-programming] | |||
Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., | Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., | |||
Matsushima, S., and Z. Li, "SRv6 Network Programming", | Matsushima, S., and Z. Li, "SRv6 Network Programming", | |||
draft-ietf-spring-srv6-network-programming-09 (work in | draft-ietf-spring-srv6-network-programming-17 (work in | |||
progress), February 2020. | progress), August 2020. | |||
[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>. | |||
[RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF | [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF | |||
for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, | for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, | |||
<https://www.rfc-editor.org/info/rfc5340>. | <https://www.rfc-editor.org/info/rfc5340>. | |||
skipping to change at page 22, line 34 ¶ | skipping to change at page 22, line 30 ¶ | |||
[RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler, | [RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler, | |||
H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF | H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF | |||
Extensions for Segment Routing", RFC 8665, | Extensions for Segment Routing", RFC 8665, | |||
DOI 10.17487/RFC8665, December 2019, | DOI 10.17487/RFC8665, December 2019, | |||
<https://www.rfc-editor.org/info/rfc8665>. | <https://www.rfc-editor.org/info/rfc8665>. | |||
[RFC8666] Psenak, P., Ed. and S. Previdi, Ed., "OSPFv3 Extensions | [RFC8666] Psenak, P., Ed. and S. Previdi, Ed., "OSPFv3 Extensions | |||
for Segment Routing", RFC 8666, DOI 10.17487/RFC8666, | for Segment Routing", RFC 8666, DOI 10.17487/RFC8666, | |||
December 2019, <https://www.rfc-editor.org/info/rfc8666>. | December 2019, <https://www.rfc-editor.org/info/rfc8666>. | |||
[RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J., | ||||
Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header | ||||
(SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020, | ||||
<https://www.rfc-editor.org/info/rfc8754>. | ||||
14.2. Informative References | 14.2. Informative References | |||
[I-D.ietf-lsr-flex-algo] | [I-D.ietf-lsr-flex-algo] | |||
Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and | Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and | |||
A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- | A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- | |||
algo-05 (work in progress), November 2019. | algo-08 (work in progress), July 2020. | |||
[RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering | [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering | |||
(TE) Extensions to OSPF Version 2", RFC 3630, | (TE) Extensions to OSPF Version 2", RFC 3630, | |||
DOI 10.17487/RFC3630, September 2003, | DOI 10.17487/RFC3630, September 2003, | |||
<https://www.rfc-editor.org/info/rfc3630>. | <https://www.rfc-editor.org/info/rfc3630>. | |||
[RFC4552] Gupta, M. and N. Melam, "Authentication/Confidentiality | [RFC4552] Gupta, M. and N. Melam, "Authentication/Confidentiality | |||
for OSPFv3", RFC 4552, DOI 10.17487/RFC4552, June 2006, | for OSPFv3", RFC 4552, DOI 10.17487/RFC4552, June 2006, | |||
<https://www.rfc-editor.org/info/rfc4552>. | <https://www.rfc-editor.org/info/rfc4552>. | |||
End of changes. 15 change blocks. | ||||
27 lines changed or deleted | 24 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/ |