draft-ietf-lsr-ospf-srv6-yang-00.txt | draft-ietf-lsr-ospf-srv6-yang-01.txt | |||
---|---|---|---|---|
Network Working Group Z. Hu | Network Working Group Z. Hu | |||
Internet-Draft X. Geng | Internet-Draft X. Geng | |||
Intended status: Standards Track Huawei Technologies | Intended status: Standards Track Huawei Technologies | |||
Expires: 19 February 2022 K. Raza | Expires: 27 September 2022 K. Raza | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
Y. Qu | Y. Qu | |||
Futurewei Technologies | Futurewei Technologies | |||
A. Lindem | A. Lindem | |||
Cisco Systems | Cisco Systems | |||
18 August 2021 | 26 March 2022 | |||
YANG Data Model for OSPF SRv6 | YANG Data Model for OSPF SRv6 | |||
draft-ietf-lsr-ospf-srv6-yang-00 | draft-ietf-lsr-ospf-srv6-yang-01 | |||
Abstract | Abstract | |||
This document defines a YANG data model that can be used to configure | This document defines a YANG data model that can be used to configure | |||
and manage OSPFv3 SRv6 as defined in I-D.ietf-lsr- | and manage OSPFv3 SRv6 as defined in I-D.ietf-lsr- | |||
ospfv3-srv6-extensions. | ospfv3-srv6-extensions. | |||
Requirements Language | Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
skipping to change at page 1, line 44 ¶ | skipping to change at page 1, line 44 ¶ | |||
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 19 February 2022. | This Internet-Draft will expire on 27 September 2022. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2021 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
and restrictions with respect to this document. Code Components | and restrictions with respect to this document. Code Components | |||
extracted from this document must include Simplified BSD License text | extracted from this document must include Revised BSD License text as | |||
as described in Section 4.e of the Trust Legal Provisions and are | described in Section 4.e of the Trust Legal Provisions and are | |||
provided without warranty as described in the Simplified BSD License. | provided without warranty as described in the Revised BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Terminology and Notation . . . . . . . . . . . . . . . . . . 3 | 2. Terminology and Notation . . . . . . . . . . . . . . . . . . 3 | |||
2.1. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4 | 2.1. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 4 | 2.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 4 | |||
3. OSPFv3 SRv6 Configuration . . . . . . . . . . . . . . . . . . 4 | 3. OSPFv3 SRv6 Configuration . . . . . . . . . . . . . . . . . . 4 | |||
3.1. SRv6 Activation . . . . . . . . . . . . . . . . . . . . . 5 | 3.1. SRv6 Activation . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.2. Locator Setting . . . . . . . . . . . . . . . . . . . . . 5 | 3.2. Locator Setting . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.3. IP Fast Reroute . . . . . . . . . . . . . . . . . . . . . 5 | 3.3. IP Fast Reroute . . . . . . . . . . . . . . . . . . . . . 5 | |||
3.4. Micro-loop Avoidance . . . . . . . . . . . . . . . . . . 5 | 3.4. Micro-loop Avoidance . . . . . . . . . . . . . . . . . . 5 | |||
4. YANG Module and Tree . . . . . . . . . . . . . . . . . . . . 5 | 4. YANG Module and Tree . . . . . . . . . . . . . . . . . . . . 5 | |||
4.1. OSPFv3 SRv6 Model Tree . . . . . . . . . . . . . . . . . 5 | 4.1. OSPFv3 SRv6 Model Tree . . . . . . . . . . . . . . . . . 5 | |||
4.2. OSPFv3 SRv6 YANG Module . . . . . . . . . . . . . . . . . 7 | 4.2. OSPFv3 SRv6 YANG Module . . . . . . . . . . . . . . . . . 7 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | |||
6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 22 | 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 | |||
9. Normative References . . . . . . . . . . . . . . . . . . . . 22 | 9. Normative References . . . . . . . . . . . . . . . . . . . . 23 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
1. Introduction | 1. Introduction | |||
YANG [RFC6020][RFC7950] is a data definition language used to define | YANG [RFC7950] is a data definition language used to define the | |||
the contents of a conceptual data store that allows networked devices | contents of a conceptual data store that allows networked devices to | |||
to be managed using NETCONF[RFC6241]. YANG is proving relevant | be managed using NETCONF[RFC6241]. YANG is proving relevant beyond | |||
beyond its initial confines, as bindings to other interfaces (e.g., | its initial confines, as bindings to other interfaces (e.g., ReST) | |||
ReST) and encodings other than XML (e.g., JSON) are being defined. | and encodings other than XML (e.g., JSON) are being defined. | |||
Furthermore, YANG data models can be used as the basis for | Furthermore, YANG data models can be used as the basis for | |||
implementation of other interfaces, such as CLI and programmatic | implementation of other interfaces, such as CLI and programmatic | |||
APIs. | APIs. | |||
This document defines a YANG data model that can be used to configure | This document defines a YANG data model that can be used to configure | |||
and manage OSPFv3 SRv6 and it is an augmentation to the OSPF YANG | and manage OSPFv3 SRv6 and it is an augmentation to the OSPF YANG | |||
data model. | data model. | |||
2. Terminology and Notation | 2. Terminology and Notation | |||
skipping to change at page 7, line 24 ¶ | skipping to change at page 7, line 24 ¶ | |||
+--ro sid* srv6-sid-value | +--ro sid* srv6-sid-value | |||
+--ro neighbor-router-id? yang:dotted-quad | +--ro neighbor-router-id? yang:dotted-quad | |||
+--ro srv6-sid-structure | +--ro srv6-sid-structure | |||
+--ro lb-length? uint8 | +--ro lb-length? uint8 | |||
+--ro ln-length? uint8 | +--ro ln-length? uint8 | |||
+--ro fun-length? uint8 | +--ro fun-length? uint8 | |||
+--ro arg-length? uint8 | +--ro arg-length? uint8 | |||
4.2. OSPFv3 SRv6 YANG Module | 4.2. OSPFv3 SRv6 YANG Module | |||
<CODE BEGINS> file "ietf-ospfv3-srv6@2020-09-29.yang" | <CODE BEGINS> file "ietf-ospfv3-srv6@2022-03-26.yang" | |||
module ietf-ospfv3-srv6 { | module ietf-ospfv3-srv6 { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:" | namespace "urn:ietf:params:xml:ns:" | |||
+ "yang:ietf-ospfv3-srv6"; | + "yang:ietf-ospfv3-srv6"; | |||
prefix ospfv3-srv6; | prefix ospfv3-srv6; | |||
import ietf-yang-types { | import ietf-yang-types { | |||
prefix "yang"; | prefix "yang"; | |||
reference "RFC 6991: Common YANG Data Types"; | ||||
} | } | |||
import ietf-routing { | import ietf-routing { | |||
prefix "rt"; | prefix "rt"; | |||
reference "RFC 8349: A YANG Data Model for Routing | ||||
Management (NMDA Version)"; | ||||
} | } | |||
import ietf-ospfv3-extended-lsa { | import ietf-ospfv3-extended-lsa { | |||
prefix "ospfv3-e-lsa"; | prefix "ospfv3-e-lsa"; | |||
} | } | |||
import ietf-ospf { | import ietf-ospf { | |||
prefix "ospf"; | prefix "ospf"; | |||
} | } | |||
skipping to change at page 8, line 31 ¶ | skipping to change at page 8, line 35 ¶ | |||
<mailto:gengxuesong@huawei.com> | <mailto:gengxuesong@huawei.com> | |||
Author: Kamran Raza | Author: Kamran Raza | |||
<mailto:skraza@cisco.com> | <mailto:skraza@cisco.com> | |||
Author: Yingzhen Qu | Author: Yingzhen Qu | |||
<mailto:yingzhen.qu@futurewei.com> | <mailto:yingzhen.qu@futurewei.com> | |||
Author: Acee Lindem | Author: Acee Lindem | |||
<mailto:acee@cisco.com> | <mailto:acee@cisco.com> | |||
"; | "; | |||
description | description | |||
"The YANG module defines a generic configuration model for | "The YANG module defines the configuration and operatioanl state | |||
Segment IPV6 routing OSPFv3 extensions common across all | for OSPFv3 extensions to support Segment Routing over IPv6 data | |||
of the vendor implementations. | plane. | |||
This YANG model conforms to the Network Management | This YANG model conforms to the Network Management | |||
Datastore Architecture (NDMA) as described in RFC 8342. | Datastore Architecture (NDMA) as described in RFC 8342. | |||
Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2022 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
Relating to IETF Documents | Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
This version of this YANG module is part of RFC XXXX | This version of this YANG module is part of RFC XXXX | |||
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself | (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself | |||
for full legal notices. | for full legal notices. | |||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | |||
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | |||
'MAY', and 'OPTIONAL' in this document are to be interpreted as | 'MAY', and 'OPTIONAL' in this document are to be interpreted as | |||
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | |||
they appear in all capitals, as shown here."; | they appear in all capitals, as shown here."; | |||
revision 2020-09-29 { | revision 2022-03-26 { | |||
description | description | |||
"Initial revision."; | "Initial revision."; | |||
reference "draft-ietf-lsr-ospfv3-srv6-extensions-01"; | reference "draft-ietf-lsr-ospfv3-srv6-extensions"; | |||
} | } | |||
/* Identities */ | /* Identities */ | |||
identity SRV6_END_FUNC_TYPE { | identity SRV6_END_FUNC_TYPE { | |||
description | description | |||
"Base identity type for srv6 endpoint function code points."; | "Base identity type for srv6 endpoint function code points."; | |||
} | } | |||
identity SRV6_END_FUNC_NO_PSP_USP { | identity SRV6_END_FUNC_NO_PSP_USP { | |||
base "SRV6_END_FUNC_TYPE"; | base "SRV6_END_FUNC_TYPE"; | |||
skipping to change at page 23, line 8 ¶ | skipping to change at page 23, line 15 ¶ | |||
name: ietf-ospfv3-srv6 | name: ietf-ospfv3-srv6 | |||
namespace: urn:ietf:params:xml:ns:yang:ietf-ospfv3-srv6 | namespace: urn:ietf:params:xml:ns:yang:ietf-ospfv3-srv6 | |||
prefix: ospfv3-srv6 | prefix: ospfv3-srv6 | |||
reference: RFC XXXX | reference: RFC XXXX | |||
9. Normative References | 9. Normative References | |||
[I-D.ietf-lsr-ospfv3-extended-lsa-yang] | [I-D.ietf-lsr-ospfv3-extended-lsa-yang] | |||
Lindem, A., Palani, S., and Y. Qu, "YANG Model for OSPFv3 | Lindem, A., Palani, S., and Y. Qu, "YANG Model for OSPFv3 | |||
Extended LSAs", Work in Progress, Internet-Draft, draft- | Extended LSAs", Work in Progress, Internet-Draft, draft- | |||
ietf-lsr-ospfv3-extended-lsa-yang-08, 28 March 2021, | ietf-lsr-ospfv3-extended-lsa-yang-10, 6 March 2022, | |||
<https://www.ietf.org/archive/id/draft-ietf-lsr-ospfv3- | <https://www.ietf.org/archive/id/draft-ietf-lsr-ospfv3- | |||
extended-lsa-yang-08.txt>. | extended-lsa-yang-10.txt>. | |||
[I-D.ietf-lsr-ospfv3-srv6-extensions] | [I-D.ietf-lsr-ospfv3-srv6-extensions] | |||
Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak, | Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak, | |||
"OSPFv3 Extensions for SRv6", Work in Progress, Internet- | "OSPFv3 Extensions for SRv6", Work in Progress, Internet- | |||
Draft, draft-ietf-lsr-ospfv3-srv6-extensions-02, 15 | Draft, draft-ietf-lsr-ospfv3-srv6-extensions-03, 19 | |||
February 2021, <https://www.ietf.org/archive/id/draft- | November 2021, <https://www.ietf.org/archive/id/draft- | |||
ietf-lsr-ospfv3-srv6-extensions-02.txt>. | ietf-lsr-ospfv3-srv6-extensions-03.txt>. | |||
[I-D.ietf-ospf-yang] | [I-D.ietf-ospf-yang] | |||
Yeung, D., Qu, Y., Zhang, J., Chen, I., and A. Lindem, | Yeung, D., Qu, Y., Zhang, J., Chen, I., and A. Lindem, | |||
"YANG Data Model for OSPF Protocol", Work in Progress, | "YANG Data Model for OSPF Protocol", Work in Progress, | |||
Internet-Draft, draft-ietf-ospf-yang-29, 17 October 2019, | Internet-Draft, draft-ietf-ospf-yang-29, 17 October 2019, | |||
<https://www.ietf.org/archive/id/draft-ietf-ospf-yang- | <https://www.ietf.org/archive/id/draft-ietf-ospf-yang- | |||
29.txt>. | 29.txt>. | |||
[I-D.ietf-rtgwg-segment-routing-ti-lfa] | [I-D.ietf-rtgwg-segment-routing-ti-lfa] | |||
Litkowski, S., Bashandy, A., Filsfils, C., Francois, P., | Litkowski, S., Bashandy, A., Filsfils, C., Francois, P., | |||
Decraene, B., and D. Voyer, "Topology Independent Fast | Decraene, B., and D. Voyer, "Topology Independent Fast | |||
Reroute using Segment Routing", Work in Progress, | Reroute using Segment Routing", Work in Progress, | |||
Internet-Draft, draft-ietf-rtgwg-segment-routing-ti-lfa- | Internet-Draft, draft-ietf-rtgwg-segment-routing-ti-lfa- | |||
07, 29 June 2021, <https://www.ietf.org/archive/id/draft- | 08, 21 January 2022, <https://www.ietf.org/archive/id/ | |||
ietf-rtgwg-segment-routing-ti-lfa-07.txt>. | draft-ietf-rtgwg-segment-routing-ti-lfa-08.txt>. | |||
[I-D.ietf-spring-srv6-yang] | [I-D.ietf-spring-srv6-yang] | |||
Raza, K., Agarwal, S., Liu, X., Hu, Z., Hussain, I., Shah, | Raza, K., Agarwal, S., Liu, X., Hu, Z., Hussain, I., Shah, | |||
H., Voyer, D., Matsushima, S., Horiba, K., AbdelSalam, A., | H., Voyer, D., Matsushima, S., Horiba, K., Rajamanickam, | |||
and J. Rajamanickam, "YANG Data Model for SRv6 Base and | J., and A. AbdelSalam, "YANG Data Model for SRv6 Base and | |||
Static", Work in Progress, Internet-Draft, draft-ietf- | Static", Work in Progress, Internet-Draft, draft-ietf- | |||
spring-srv6-yang-00, 9 September 2020, | spring-srv6-yang-01, 14 January 2022, | |||
<https://www.ietf.org/archive/id/draft-ietf-spring-srv6- | <https://www.ietf.org/archive/id/draft-ietf-spring-srv6- | |||
yang-00.txt>. | yang-01.txt>. | |||
[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>. | |||
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
<https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
End of changes. 22 change blocks. | ||||
32 lines changed or deleted | 35 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/ |