| < draft-ietf-ospf-segment-routing-msd-11.txt | draft-ietf-ospf-segment-routing-msd-12.txt > | |||
|---|---|---|---|---|
| OSPF Working Group J. Tantsura | OSPF Working Group J. Tantsura | |||
| Internet-Draft Nuage Networks | Internet-Draft Nuage Networks | |||
| Intended status: Standards Track U. Chunduri | Intended status: Standards Track U. Chunduri | |||
| Expires: November 8, 2018 Huawei Technologies | Expires: November 10, 2018 Huawei Technologies | |||
| S. Aldrin | S. Aldrin | |||
| Google, Inc | Google, Inc | |||
| P. Psenak | P. Psenak | |||
| Cisco Systems | Cisco Systems | |||
| May 07, 2018 | May 09, 2018 | |||
| Signaling MSD (Maximum SID Depth) using OSPF | Signaling MSD (Maximum SID Depth) using OSPF | |||
| draft-ietf-ospf-segment-routing-msd-11 | draft-ietf-ospf-segment-routing-msd-12 | |||
| Abstract | Abstract | |||
| This document defines a way for an OSPF Router to advertise multiple | This document defines a way for an OSPF Router to advertise multiple | |||
| types of supported Maximum SID Depths (MSDs) at node and/or link | types of supported Maximum SID Depths (MSDs) at node and/or link | |||
| granularity. Such advertisements allow entities (e.g., centralized | granularity. Such advertisements allow entities (e.g., centralized | |||
| controllers) to determine whether a particular SID stack can be | controllers) to determine whether a particular SID stack can be | |||
| supported in a given network. This document defines only one type of | supported in a given network. This document defines only one type of | |||
| MSD, but defines an encoding that can support other MSD types. Here | MSD, but defines an encoding that can support other MSD types. Here | |||
| the term OSPF means both OSPFv2 and OSPFv3. | the term OSPF means both OSPFv2 and OSPFv3. | |||
| skipping to change at page 1, line 41 ¶ | skipping to change at page 1, line 41 ¶ | |||
| 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 November 8, 2018. | This Internet-Draft will expire on November 10, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 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 ¶ | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Conventions used in this document . . . . . . . . . . . . 3 | 1.1. Conventions used in this document . . . . . . . . . . . . 3 | |||
| 1.1.1. Terminology . . . . . . . . . . . . . . . . . . . . . 3 | 1.1.1. Terminology . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 | 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 | |||
| 2. Node MSD Advertisement . . . . . . . . . . . . . . . . . . . 4 | 2. Node MSD Advertisement . . . . . . . . . . . . . . . . . . . 4 | |||
| 3. Link MSD sub-TLV . . . . . . . . . . . . . . . . . . . . . . 5 | 3. Link MSD sub-TLV . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4. Using Node and Link MSD Advertisements . . . . . . . . . . . 6 | 4. Using Node and Link MSD Advertisements . . . . . . . . . . . 6 | |||
| 5. Base MPLS Imposition MSD . . . . . . . . . . . . . . . . . . 6 | 5. Base MPLS Imposition MSD . . . . . . . . . . . . . . . . . . 6 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | |||
| 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 7 | 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . 7 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 8 | |||
| 10.2. Informative References . . . . . . . . . . . . . . . . . 8 | 10.2. Informative References . . . . . . . . . . . . . . . . . 9 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 1. Introduction | 1. Introduction | |||
| When Segment Routing(SR) paths are computed by a centralized | When Segment Routing(SR) paths are computed by a centralized | |||
| controller, it is critical that the controller learns the Maximum SID | controller, it is critical that the controller learns the Maximum SID | |||
| Depth(MSD) that can be imposed at each node/link on a given SR path | Depth(MSD) that can be imposed at each node/link on a given SR path | |||
| to insure that the SID stack depth of a computed path doesn't exceed | to insure that the SID stack depth of a computed path doesn't exceed | |||
| the number of SIDs the node is capable of imposing. | the number of SIDs the node is capable of imposing. | |||
| skipping to change at page 4, line 37 ¶ | skipping to change at page 4, line 37 ¶ | |||
| | MSD Type and Value ... | | MSD Type and Value ... | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ... | |||
| Figure 1: Node MSD TLV | Figure 1: Node MSD TLV | |||
| The Type: TBD1 | The Type: TBD1 | |||
| Length: variable (minimum of 2, multiple of 2 octets) and represents | Length: variable (minimum of 2, multiple of 2 octets) and represents | |||
| the total length of value field. | the total length of value field. | |||
| Value: consists of one or more pairs of a 1 octet sub-type (IANA | Value: consists of one or more pairs of a 1 octet type (IANA | |||
| Registry) and 1 octet value. | Registry) and 1 octet value. | |||
| MSD Type 1 (IANA Section), MSD and the Value field contains the MSD | MSD Type 1 (IANA Section), MSD and the Value field contains the MSD | |||
| of the originating router. Node MSD is a number in the range of | of the originating router. Node MSD is a number in the range of | |||
| 0-255. 0 represents lack of the ability to impose MSD stack of any | 0-255. 0 represents lack of the ability to impose MSD stack of any | |||
| depth; any other value represents that of the node. This value | depth; any other value represents that of the node. This value | |||
| SHOULD represent the minimum value supported by a node. | SHOULD represent the minimum value supported by a node. | |||
| Other MSD Types are reserved for future extensions. | Other MSD Types are reserved for future extensions. | |||
| This TLV is applicable to OSPFv2 and to OSPFv3 [RFC5838] and is | This TLV is applicable to OSPFv2 and to OSPFv3 [RFC5838] and is | |||
| optional. The scope of the advertisement is specific to the | optional. The scope of the advertisement is specific to the | |||
| deployment. | deployment. | |||
| When multiple Node MSD TLVs are received from a given router, the | ||||
| receiver MUST use the first occurrence of the TLV in the Router | ||||
| Information LSA. If the Node MSD TLV appears in multiple Router | ||||
| Information LSAs that have different flooding scopes, the Node MSD | ||||
| TLV in the Router Information LSA with the area-scoped flooding scope | ||||
| MUST be used. If the Node MSD TLV appears in multiple Router | ||||
| Information LSAs that have the same flooding scope, the Node MSD TLV | ||||
| in the Router Information (RI) LSA with the numerically smallest | ||||
| Instance ID MUST be used and subsequent instances of the Node MSD TLV | ||||
| MUST be ignored. The RI LSA can be advertised at any of the defined | ||||
| opaque flooding scopes (link, area, or Autonomous System (AS)). For | ||||
| the purpose of Node MSD TLV advertisement, area-scoped flooding is | ||||
| REQUIRED. | ||||
| 3. Link MSD sub-TLV | 3. Link MSD sub-TLV | |||
| The link sub-TLV is defined to carry the MSD of the interface | The link sub-TLV is defined to carry the MSD of the interface | |||
| associated with the link. MSD values may be learned via a hardware | associated with the link. MSD values may be learned via a hardware | |||
| API or may be provisioned. | API or may be provisioned. | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 5, line 45 ¶ | skipping to change at page 6, line 13 ¶ | |||
| Registry) and 1 octet value. | Registry) and 1 octet value. | |||
| MSD Type 1 (IANA Section), MSD and the Value field contains Link MSD | MSD Type 1 (IANA Section), MSD and the Value field contains Link MSD | |||
| of the router originating the corresponding LSA as specified for | of the router originating the corresponding LSA as specified for | |||
| OSPFv2 and OSPFv3. Link MSD is a number in the range of 0-255. 0 | OSPFv2 and OSPFv3. Link MSD is a number in the range of 0-255. 0 | |||
| represents lack of the ability to impose MSD stack of any depth; any | represents lack of the ability to impose MSD stack of any depth; any | |||
| other value represents that of the particular link MSD value. | other value represents that of the particular link MSD value. | |||
| Other MSD Types are reserved for future extensions. | Other MSD Types are reserved for future extensions. | |||
| If these TLVs are advertised multiple times, only the first instance | If this TLV is advertised multiple times in the same OSPFv2 Extended | |||
| of the TLV is used by receiving OSPF routers. This situation SHOULD | Link Opaque LSA, only the first instance of the TLV is used by | |||
| be logged as an error. | receiving OSPFv2 routers. This situation SHOULD be logged as an | |||
| error. | ||||
| If these TLV is advertised multiple times for the same link in | If this TLV is advertised multiple times for the same link in | |||
| different LSAs originated by the same OSPF router, the TLV with the | different OSPFv2 Extended Link Opaque LSAs originated by the same | |||
| smallest Opaque ID/Link State ID is used by receiving OSPF routers. | OSPFv2 router, the OSPFv2 Extended Link TLV in the OSPFv2 Extended | |||
| This situation MAY be logged as a warning. | Link Opaque LSA with the smallest Opaque ID is used by receiving | |||
| OSPFv2 routers. This situation may be logged as a warning. | ||||
| 4. Using Node and Link MSD Advertisements | 4. Using Node and Link MSD Advertisements | |||
| When Link MSD is present for a given MSD type, the value of the Link | When Link MSD is present for a given MSD type, the value of the Link | |||
| MSD MUST take preference over the Node MSD. When a Link MSD type is | MSD MUST take preference over the Node MSD. When a Link MSD type is | |||
| not signalled but the Node MSD type is, then the value of that Link | not signalled but the Node MSD type is, then the value of that Link | |||
| MSD type MUST be considered as the corresponding Node MSD type value. | MSD type MUST be considered as the corresponding Node MSD type value. | |||
| In order to increase flooding efficiency, it is RECOMMENDED, that | In order to increase flooding efficiency, it is RECOMMENDED, that | |||
| routers with homogenous link MSD values advertise just the Node MSD | routers with homogenous link MSD values advertise just the Node MSD | |||
| value. | value. | |||
| skipping to change at page 6, line 28 ¶ | skipping to change at page 6, line 45 ¶ | |||
| for a given MSD type is specific to the MSD type. Generally it can | for a given MSD type is specific to the MSD type. Generally it can | |||
| only be inferred that the advertising node does not support | only be inferred that the advertising node does not support | |||
| advertisement of that MSD type. However, in some cases the lack of | advertisement of that MSD type. However, in some cases the lack of | |||
| advertisement might imply that the functionality associated with the | advertisement might imply that the functionality associated with the | |||
| MSD type is not supported. The correct interpretation MUST be | MSD type is not supported. The correct interpretation MUST be | |||
| specified when an MSD type is defined. | specified when an MSD type is defined. | |||
| 5. Base MPLS Imposition MSD | 5. Base MPLS Imposition MSD | |||
| The Base MPLS Imposition MSD (BMI-MSD) signals the total number of | The Base MPLS Imposition MSD (BMI-MSD) signals the total number of | |||
| MPLS labels a node is capable of imposing, including any service/ | MPLS labels a node is capable of imposing, including all | |||
| transport labels. | service/transport/special labels. | |||
| Absence of BMI-MSD advertisements indicates solely that the | Absence of BMI-MSD advertisements indicates solely that the | |||
| advertising node does not support advertisement of this capability. | advertising node does not support advertisement of this capability. | |||
| 6. IANA Considerations | 6. IANA Considerations | |||
| This document requests IANA to allocate TLV type (TBD1) from the OSPF | This document requests IANA to allocate TLV type (TBD1) from the OSPF | |||
| Router Information (RI) TLVs Registry as defined by [RFC4970]. IANA | Router Information (RI) TLVs Registry as defined by [RFC4970]. IANA | |||
| has allocated the value 12 through the early assignment process. | has allocated the value 12 through the early assignment process. | |||
| Also, this document requests IANA to allocate a sub-TLV type (TBD2) | Also, this document requests IANA to allocate a sub-TLV type (TBD2) | |||
| skipping to change at page 7, line 17 ¶ | skipping to change at page 7, line 36 ¶ | |||
| 0 Reserved This document | 0 Reserved This document | |||
| 1 Base MPLS Imposition MSD This document | 1 Base MPLS Imposition MSD This document | |||
| 2-250 Unassigned This document | 2-250 Unassigned This document | |||
| 251-254 Experimental This document | 251-254 Experimental This document | |||
| 255 Reserved This document | 255 Reserved This document | |||
| Figure 3: MSD Types Codepoints Registry | Figure 3: MSD Types Codepoints Registry | |||
| 7. Security Considerations | 7. Security Considerations | |||
| Security concerns for OSPF are addressed in [RFC7474] and [RFC5310]. | Security concerns for OSPF are addressed in [RFC7474]. Further | |||
| Further security analysis for OSPF protocol is done in [RFC6853] | security analysis for OSPF protocol is done in [RFC6863] including | |||
| including analysis of both the above documents. Security | analysis of both the above documents. Security considerations, as | |||
| considerations, as specified by [RFC7770] are applicable to this | specified by [RFC7770], [RFC7684] and [RFC8362] are applicable to | |||
| document. | this document. | |||
| Advertisement of the additional information defined in this document | Advertisement of an incorrect MSD value may result: in a path | |||
| that is false, e.g. MSD that is incorrect may result: in a path | ||||
| computation failing and the service unavailable or instantiation of a | computation failing and the service unavailable or instantiation of a | |||
| path that can't be supported by the head-end (the node performing the | path that can't be supported by the head-end (the node performing the | |||
| imposition). | imposition). | |||
| 8. Contributors | 8. Contributors | |||
| The following people contributed to this document: | The following people contributed to this document: | |||
| Les Ginsberg | Les Ginsberg | |||
| Email: ginsberg@cisco.com | Email: ginsberg@cisco.com | |||
| 9. Acknowledgements | 9. Acknowledgements | |||
| The authors would like to thank Acee Lindem, Stephane Litkowski and | The authors would like to thank Acee Lindem, Ketan Talaulikar, | |||
| Bruno Decraene for their reviews and valuable comments. | Stephane Litkowski and Bruno Decraene for their reviews and valuable | |||
| comments. | ||||
| 10. References | 10. References | |||
| 10.1. Normative References | 10.1. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC4970] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and | [RFC4970] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and | |||
| S. Shaffer, "Extensions to OSPF for Advertising Optional | S. Shaffer, "Extensions to OSPF for Advertising Optional | |||
| Router Capabilities", RFC 4970, DOI 10.17487/RFC4970, July | Router Capabilities", RFC 4970, DOI 10.17487/RFC4970, July | |||
| 2007, <https://www.rfc-editor.org/info/rfc4970>. | 2007, <https://www.rfc-editor.org/info/rfc4970>. | |||
| [RFC7474] Bhatia, M., Hartman, S., Zhang, D., and A. Lindem, Ed., | ||||
| "Security Extension for OSPFv2 When Using Manual Key | ||||
| Management", RFC 7474, DOI 10.17487/RFC7474, April 2015, | ||||
| <https://www.rfc-editor.org/info/rfc7474>. | ||||
| [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., | ||||
| Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute | ||||
| Advertisement", RFC 7684, DOI 10.17487/RFC7684, November | ||||
| 2015, <https://www.rfc-editor.org/info/rfc7684>. | ||||
| [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and | [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and | |||
| S. Shaffer, "Extensions to OSPF for Advertising Optional | S. Shaffer, "Extensions to OSPF for Advertising Optional | |||
| Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, | Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, | |||
| February 2016, <https://www.rfc-editor.org/info/rfc7770>. | February 2016, <https://www.rfc-editor.org/info/rfc7770>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| [RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and | [RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and | |||
| skipping to change at page 8, line 49 ¶ | skipping to change at page 9, line 30 ¶ | |||
| Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., | Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., | |||
| and J. Hardwick, "PCEP Extensions for Segment Routing", | and J. Hardwick, "PCEP Extensions for Segment Routing", | |||
| draft-ietf-pce-segment-routing-11 (work in progress), | draft-ietf-pce-segment-routing-11 (work in progress), | |||
| November 2017. | November 2017. | |||
| [RFC5838] Lindem, A., Ed., Mirtorabi, S., Roy, A., Barnes, M., and | [RFC5838] Lindem, A., Ed., Mirtorabi, S., Roy, A., Barnes, M., and | |||
| R. Aggarwal, "Support of Address Families in OSPFv3", | R. Aggarwal, "Support of Address Families in OSPFv3", | |||
| RFC 5838, DOI 10.17487/RFC5838, April 2010, | RFC 5838, DOI 10.17487/RFC5838, April 2010, | |||
| <https://www.rfc-editor.org/info/rfc5838>. | <https://www.rfc-editor.org/info/rfc5838>. | |||
| [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., | [RFC6863] Hartman, S. and D. Zhang, "Analysis of OSPF Security | |||
| Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute | According to the Keying and Authentication for Routing | |||
| Advertisement", RFC 7684, DOI 10.17487/RFC7684, November | Protocols (KARP) Design Guide", RFC 6863, | |||
| 2015, <https://www.rfc-editor.org/info/rfc7684>. | DOI 10.17487/RFC6863, March 2013, | |||
| <https://www.rfc-editor.org/info/rfc6863>. | ||||
| [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and | [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and | |||
| S. Ray, "North-Bound Distribution of Link-State and | S. Ray, "North-Bound Distribution of Link-State and | |||
| Traffic Engineering (TE) Information Using BGP", RFC 7752, | Traffic Engineering (TE) Information Using BGP", RFC 7752, | |||
| DOI 10.17487/RFC7752, March 2016, | DOI 10.17487/RFC7752, March 2016, | |||
| <https://www.rfc-editor.org/info/rfc7752>. | <https://www.rfc-editor.org/info/rfc7752>. | |||
| [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
| Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
| RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
| End of changes. 17 change blocks. | ||||
| 33 lines changed or deleted | 59 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/ | ||||