| < draft-ietf-lsr-isis-yang-augmentation-v1-00.txt | draft-ietf-lsr-isis-yang-augmentation-v1-01.txt > | |||
|---|---|---|---|---|
| Internet A. Lindem | Internet A. Lindem | |||
| Internet-Draft S. Litkowski | Internet-Draft S. Litkowski | |||
| Intended status: Standards Track Cisco Systems | Intended status: Standards Track Cisco Systems | |||
| Expires: August 21, 2021 Y. Qu | Expires: December 23, 2021 Y. Qu | |||
| Futurewei | Futurewei | |||
| February 17, 2021 | June 21, 2021 | |||
| IS-IS YANG Model Augmentations for Additional Features - Version 1 | IS-IS YANG Model Augmentations for Additional Features - Version 1 | |||
| draft-ietf-lsr-isis-yang-augmentation-v1-00 | draft-ietf-lsr-isis-yang-augmentation-v1-01 | |||
| Abstract | Abstract | |||
| This document defines YANG data modules augmenting the IETF IS-IS | This document defines YANG data modules augmenting the IETF IS-IS | |||
| YANG model to provide support for IS-IS Minimum Remaining Lifetime as | YANG model to provide support for IS-IS Minimum Remaining Lifetime as | |||
| defined in RFC 7987, and IS-IS Application-Specific Link Attributes | defined in RFC 7987, ,IS-IS Application-Specific Link Attributes as | |||
| as defined in RFC 8919. | defined in RFC 8919, and IS-IS Flexible Algorithm. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 21, 2021. | This Internet-Draft will expire on December 23, 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| 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. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | |||
| 1.2. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 3 | 1.2. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. YANG Module for IS-IS Minimum Remaining Lifetime . . . . . . 3 | 2. YANG Module for IS-IS Minimum Remaining Lifetime . . . . . . 3 | |||
| 3. YANG Module for IS-IS Application-Specific Link Attributes . 4 | 3. YANG Module for IS-IS Application-Specific Link Attributes . 5 | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | 4. YANG Module for IS-IS Flexible Algorithm . . . . . . . . . . 14 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 25 | |||
| 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 15 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 17 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 27 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 | 8.2. Informative References . . . . . . . . . . . . . . . . . 29 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 | ||||
| 1. Overview | 1. Overview | |||
| YANG [RFC6020] [RFC7950] is a data definition language used to define | YANG [RFC6020] [RFC7950] is a data definition language used to define | |||
| the contents of a conceptual data store that allows networked devices | the contents of a conceptual data store that allows networked devices | |||
| to be managed using NETCONF [RFC6241]. YANG is proving relevant | to be managed using NETCONF [RFC6241]. YANG is proving relevant | |||
| beyond its initial confines, as bindings to other interfaces (e.g., | beyond its initial confines, as bindings to other interfaces (e.g., | |||
| ReST) and encodings other than XML (e.g., JSON) are being defined. | ReST) 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 | |||
| skipping to change at page 2, line 42 ¶ | skipping to change at page 2, line 43 ¶ | |||
| This document defines YANG data modules augmenting the IETF IS-IS | This document defines YANG data modules augmenting the IETF IS-IS | |||
| YANG model [I-D.ietf-isis-yang-isis-cfg], which itself augments | YANG model [I-D.ietf-isis-yang-isis-cfg], which itself augments | |||
| [RFC8349], to provide support for configuration and operational state | [RFC8349], to provide support for configuration and operational state | |||
| for the following IS-IS features: | for the following IS-IS features: | |||
| RFC7987: IS-IS Minimum Remaining Lifetime[RFC7987]. | RFC7987: IS-IS Minimum Remaining Lifetime[RFC7987]. | |||
| RFC8919: IS-IS Application-Specific Link Attributes[RFC8919]. | RFC8919: IS-IS Application-Specific Link Attributes[RFC8919]. | |||
| RFCxxxx: IGP Flexible Algorithm [I-D.ietf-lsr-flex-algo]. | ||||
| The augmentations defined in this document requires support for the | The augmentations defined in this document requires support for the | |||
| IS-IS base model[I-D.ietf-isis-yang-isis-cfg] which defines basic IS- | IS-IS base model[I-D.ietf-isis-yang-isis-cfg] which defines basic IS- | |||
| IS configuration and state. The IS-IS YANG model augments the ietf- | IS configuration and state. The IS-IS YANG model augments the ietf- | |||
| routing YANG model defined in [RFC8349]. | routing YANG model defined in [RFC8349]. | |||
| 1.1. Requirements Language | 1.1. Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| skipping to change at page 7, line 27 ¶ | skipping to change at page 7, line 32 ¶ | |||
| <mailto:acee@cisco.com> | <mailto:acee@cisco.com> | |||
| Author: Stephane Litkowski | Author: Stephane Litkowski | |||
| <mailto:slitkows.ietf@gmail.com>"; | <mailto:slitkows.ietf@gmail.com>"; | |||
| description | description | |||
| "This YANG module defines the configuration and operational | "This YANG module defines the configuration and operational | |||
| state for IS-IS application specific link attributes feature as | state for IS-IS application specific link attributes feature as | |||
| defined in RFC 8919. | defined in RFC 8919. | |||
| This YANG model conforms to the Network Management | This YANG model conforms to the Network Management | |||
| Datastore Architecture (NMDA) as described in RFC 8242. | Datastore Architecture (NMDA) as described in RFC 8342. | |||
| Copyright (c) 2021 IETF Trust and the persons identified as | Copyright (c) 2021 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). | |||
| skipping to change at page 14, line 4 ¶ | skipping to change at page 14, line 9 ¶ | |||
| when "/rt:routing/rt:control-plane-protocols/"+ | when "/rt:routing/rt:control-plane-protocols/"+ | |||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | "rt:control-plane-protocol/rt:type = 'isis:isis'" { | |||
| description | description | |||
| "This augment ISIS routing protocol when used"; | "This augment ISIS routing protocol when used"; | |||
| } | } | |||
| description | description | |||
| "This augments ISIS protocol LSDB router capability."; | "This augments ISIS protocol LSDB router capability."; | |||
| uses application-specific-srlg-tlv; | uses application-specific-srlg-tlv; | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 4. Security Considerations | 4. YANG Module for IS-IS Flexible Algorithm | |||
| This document defines a YANG module for IS-IS Flexible Algorithm | ||||
| [I-D.ietf-lsr-flex-algo]. It is an augmentation of the IS-IS base | ||||
| model. | ||||
| module: ietf-isis-flex-algo | ||||
| augment /rt:routing/rt:control-plane-protocols | ||||
| /rt:control-plane-protocol/isis:isis: | ||||
| +--rw isis-flex-algo | ||||
| +--rw flex-algo* [algo-number] | ||||
| +--rw algo-number uint8 | ||||
| +--rw advertise-definition? boolean | ||||
| +--rw admin-groups {te-types:extended-admin-groups, | ||||
| te-types:named-extended-admin-groups}? | ||||
| | +--rw exclude-admin-groups* -> /te:te/globals | ||||
| /named-admin-groups | ||||
| /named-admin-group/name | ||||
| | +--rw include-any-admin-groups* -> /te:te/globals | ||||
| /named-admin-groups | ||||
| /named-admin-group/name | ||||
| | +--rw include-all-admin-groups* -> /te:te/globals | ||||
| /named-admin-groups | ||||
| /named-admin-group/name | ||||
| +--rw exclude-srlgs* -> /te:te/globals | ||||
| /named-srlgs/named-srlg/name | ||||
| {te-types:named-srlg-groups}? | ||||
| +--rw fast-reroute? boolean | ||||
| +--rw metric-type? identityref | ||||
| +--rw microloop-avoidance? boolean | ||||
| +--rw prefix-metric! | ||||
| +--rw priority? uint8 | ||||
| augment /rt:routing/rt:control-plane-protocols | ||||
| /rt:control-plane-protocol/isis:isis/isis:database | ||||
| /isis:levels/isis:lsp/isis:router-capabilities: | ||||
| +--ro fad-tlvs | ||||
| +--ro fad-tlv* [] | ||||
| +--ro flex-algo? uint8 | ||||
| +--ro metric-type? identityref | ||||
| +--ro calc-type? uint8 | ||||
| +--ro priority? uint8 | ||||
| +--ro fa-ex-ag-sub-tlv | ||||
| | +--ro extended-admin-groups* uint64 | ||||
| +--ro fa-in-any-ag-sub-tlv | ||||
| | +--ro extended-admin-groups* uint64 | ||||
| +--ro fa-in-all-ag-sub-tlv | ||||
| | +--ro extended-admin-groups* uint64 | ||||
| +--ro fad-flags-sub-tlv | ||||
| | +--ro fad-flags* identityref | ||||
| +--ro fa-ex-srlg-sub-tlv | ||||
| | +--ro srlgs* uint32 | ||||
| +--ro unknown-tlvs | ||||
| +--ro unknown-tlv* [] | ||||
| +--ro type? uint16 | ||||
| +--ro length? uint16 | ||||
| +--ro value? yang:hex-string | ||||
| augment /rt:routing/rt:control-plane-protocols | ||||
| /rt:control-plane-protocol/isis:isis/isis:database | ||||
| /isis:levels/isis:lsp/isis:extended-ipv4-reachability | ||||
| /isis:prefixes: | ||||
| +--ro fapm-sub-tlvs | ||||
| +--ro fapm-sub-tlv* [] | ||||
| +--ro flex-algo? uint8 | ||||
| +--ro metric? uint32 | ||||
| augment /rt:routing/rt:control-plane-protocols | ||||
| /rt:control-plane-protocol/isis:isis/isis:database | ||||
| /isis:levels/isis:lsp/isis:mt-extended-ipv4-reachability | ||||
| /isis:prefixes: | ||||
| +--ro fapm-sub-tlvs | ||||
| +--ro fapm-sub-tlv* [] | ||||
| +--ro flex-algo? uint8 | ||||
| +--ro metric? uint32 | ||||
| augment /rt:routing/rt:control-plane-protocols | ||||
| /rt:control-plane-protocol/isis:isis/isis:database | ||||
| /isis:levels/isis:lsp/isis:ipv6-reachability/isis:prefixes: | ||||
| +--ro fapm-sub-tlvs | ||||
| +--ro fapm-sub-tlv* [] | ||||
| +--ro flex-algo? uint8 | ||||
| +--ro metric? uint32 | ||||
| augment /rt:routing/rt:control-plane-protocols | ||||
| /rt:control-plane-protocol/isis:isis/isis:database | ||||
| /isis:levels/isis:lsp/isis:mt-ipv6-reachability | ||||
| /isis:prefixes: | ||||
| +--ro fapm-sub-tlvs | ||||
| +--ro fapm-sub-tlv* [] | ||||
| +--ro flex-algo? uint8 | ||||
| +--ro metric? uint32 | ||||
| <CODE BEGINS> file "ietf-isis-flex-algo@2021-06-18.yang" | ||||
| module ietf-isis-flex-algo { | ||||
| yang-version 1.1; | ||||
| namespace "urn:ietf:params:xml:ns:yang:ietf-isis-flex-algo"; | ||||
| prefix isis-flex-algo; | ||||
| import ietf-routing { | ||||
| prefix rt; | ||||
| reference "RFC 8349: A YANG Data Model for Routing | ||||
| Management (NMDA Version)"; | ||||
| } | ||||
| import ietf-te-types { | ||||
| prefix te-types; | ||||
| reference | ||||
| "RFC8776: Common YANG Data Types for Traffic Engineering."; | ||||
| } | ||||
| import ietf-isis { | ||||
| prefix "isis"; | ||||
| } | ||||
| import ietf-te { | ||||
| prefix "te"; | ||||
| } | ||||
| organization | ||||
| "IETF LSR - Link State Routing Working Group"; | ||||
| contact | ||||
| "WG Web: <https://tools.ietf.org/wg/spring/> | ||||
| WG List: <mailto:spring@ietf.org> | ||||
| Author: Yingzhen Qu | ||||
| <mailto:yingzhen.qu@futurewei.com> | ||||
| Author: Acee Lindem | ||||
| <mailto:acee@cisco.com> | ||||
| Author: Stephane Litkowski | ||||
| <mailto:slitkows.ietf@gmail.com> | ||||
| "; | ||||
| description | ||||
| "The YANG module defines the configuration and operational | ||||
| state for ISIS Flexible Algorithm as defined in RFC xxxx. | ||||
| This YANG model conforms to the Network Management | ||||
| Datastore Architecture (NMDA) as described in RFC 8342. | ||||
| Copyright (c) 2021 IETF Trust and the persons identified as | ||||
| authors of the code. All rights reserved. | ||||
| Redistribution and use in source and binary forms, with or | ||||
| without modification, is permitted pursuant to, and subject | ||||
| to the license terms contained in, the Simplified BSD License | ||||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
| Relating to IETF Documents | ||||
| (https://trustee.ietf.org/license-info). | ||||
| This version of this YANG module is part of RFC XXXX; | ||||
| see the RFC itself for full legal notices. | ||||
| The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | ||||
| NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | ||||
| 'MAY', and 'OPTIONAL' in this document are to be interpreted as | ||||
| described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | ||||
| they appear in all capitals, as shown here."; | ||||
| reference "RFC XXXX: YANG Data Model for ISIS Flexible Algorithm."; | ||||
| revision 2021-06-18 { | ||||
| description | ||||
| "Initial Version"; | ||||
| reference "RFC XXXX: YANG Data Model for ISIS Flexible Algorithm."; | ||||
| } | ||||
| /* Identities */ | ||||
| identity metric-type { | ||||
| description | ||||
| "Base identity for route metric types."; | ||||
| } | ||||
| identity igp-metric { | ||||
| base metric-type; | ||||
| description | ||||
| "Identity for the IGP metric type."; | ||||
| } | ||||
| identity min-uni-delay { | ||||
| base metric-type; | ||||
| description | ||||
| "Min unidirectional link delay metric type."; | ||||
| reference | ||||
| "RFC 8570 - IS-IS Traffic Engineering (TE) Metric Extensions"; | ||||
| } | ||||
| identity te-metric { | ||||
| base metric-type; | ||||
| description | ||||
| "Traffic engineering metric type."; | ||||
| reference | ||||
| "RFC 5305 - IS-IS Extensions for Traffic Engineering (TE)"; | ||||
| } | ||||
| identity fad-flags { | ||||
| description | ||||
| "Base identity for ISIS FAD flags."; | ||||
| } | ||||
| identity m-bit { | ||||
| base fad-flags; | ||||
| description | ||||
| "M bit, when set, the fex-algo specific prefix and ASBR | ||||
| metric MUST be used for inter-area and external prefix | ||||
| calculation."; | ||||
| } | ||||
| /* Groupings */ | ||||
| grouping fa-ex-ag-sub-tlv { | ||||
| container fa-ex-ag-sub-tlv { | ||||
| leaf-list extended-admin-groups { | ||||
| type uint64; | ||||
| description | ||||
| "Extended administrative group as defined in RFC 7308."; | ||||
| } | ||||
| description | ||||
| "The flex-algo exclude admin group sub-tlv."; | ||||
| } | ||||
| description | ||||
| "The flex-algo exclude admin group sub-tlv."; | ||||
| } | ||||
| grouping fa-in-any-ag-sub-tlv { | ||||
| container fa-in-any-ag-sub-tlv { | ||||
| leaf-list extended-admin-groups { | ||||
| type uint64; | ||||
| description | ||||
| "Extended administrative group as defined in RFC 7308."; | ||||
| } | ||||
| description | ||||
| "The flex-algo include-any admin group sub-tlv."; | ||||
| } | ||||
| description | ||||
| "The flex-algo include-any admin group sub-tlv."; | ||||
| } | ||||
| grouping fa-in-all-ag-sub-tlv { | ||||
| container fa-in-all-ag-sub-tlv { | ||||
| leaf-list extended-admin-groups { | ||||
| type uint64; | ||||
| description | ||||
| "Extended administrative group as defined in RFC 7308."; | ||||
| } | ||||
| description | ||||
| "The flex-algo include-all admin group sub-tlv."; | ||||
| } | ||||
| description | ||||
| "The flex-algo include-all admin group sub-tlv."; | ||||
| } | ||||
| grouping fad-flags-sub-tlv { | ||||
| container fad-flags-sub-tlv { | ||||
| leaf-list fad-flags { | ||||
| type identityref { | ||||
| base fad-flags; | ||||
| } | ||||
| description | ||||
| "Flex-algo definition flags list."; | ||||
| } | ||||
| description | ||||
| "ISIS flex-algo definition flags."; | ||||
| } | ||||
| description | ||||
| "The flex-algo definition flags sub-tlv."; | ||||
| } | ||||
| grouping fa-ex-srlg-sub-tlv { | ||||
| container fa-ex-srlg-sub-tlv { | ||||
| leaf-list srlgs { | ||||
| type uint32; | ||||
| description | ||||
| "SRLG value as defined in RFC 4203."; | ||||
| } | ||||
| description | ||||
| "The flex-algo exclude SRLG sub-tlv."; | ||||
| } | ||||
| description | ||||
| "The flex-algo exclude SRLG sub-tlv."; | ||||
| } | ||||
| grouping fad-tlvs { | ||||
| container fad-tlvs { | ||||
| list fad-tlv { | ||||
| leaf flex-algo { | ||||
| type uint8; | ||||
| description | ||||
| "Flex-algo number, value between 128 and 255 inclusive."; | ||||
| } | ||||
| leaf metric-type { | ||||
| type identityref { | ||||
| base metric-type; | ||||
| } | ||||
| description | ||||
| "Type of metric to be used during the calculation."; | ||||
| } | ||||
| leaf calc-type { | ||||
| type uint8 { | ||||
| range "0..127"; | ||||
| } | ||||
| description | ||||
| "IGP algorithm types, value from 0 to 127 as | ||||
| defined under 'Interior Gateway Protocol (IGP) | ||||
| Parameter' by IANA."; | ||||
| } | ||||
| leaf priority { | ||||
| type uint8; | ||||
| description | ||||
| "Priority of the advertisement."; | ||||
| } | ||||
| uses fa-ex-ag-sub-tlv; | ||||
| uses fa-in-any-ag-sub-tlv; | ||||
| uses fa-in-all-ag-sub-tlv; | ||||
| uses fad-flags-sub-tlv; | ||||
| uses fa-ex-srlg-sub-tlv; | ||||
| uses isis:unknown-tlvs; | ||||
| description | ||||
| "List of flex-algo definition TLVs."; | ||||
| } | ||||
| description | ||||
| "ISIS Flexible Algorithm Definition TLV."; | ||||
| } | ||||
| description | ||||
| "ISIS Flexible Algorithm Definition (FAD) TLV."; | ||||
| } | ||||
| grouping fapm-sub-tlvs { | ||||
| container fapm-sub-tlvs { | ||||
| list fapm-sub-tlv { | ||||
| leaf flex-algo { | ||||
| type uint8; | ||||
| description | ||||
| "Flex-algo number, value between 128 and 255 | ||||
| inclusive."; | ||||
| } | ||||
| leaf metric { | ||||
| type uint32; | ||||
| description | ||||
| "Prefix metric."; | ||||
| } | ||||
| description | ||||
| "List of flex-algo prefix sub-tlvs."; | ||||
| } | ||||
| description | ||||
| "Flex-algo prefix metric sub-tlvs."; | ||||
| } | ||||
| description | ||||
| "Flexible Algorithm Prefix Metric (FAPM) sub TLVs."; | ||||
| } | ||||
| /* Configurations */ | ||||
| augment "/rt:routing/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis" { | ||||
| when "/rt:routing/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol configuration | ||||
| with flexible algorithm."; | ||||
| container isis-flex-algo { | ||||
| list flex-algo { | ||||
| key "algo-number"; | ||||
| leaf algo-number { | ||||
| type uint8 { | ||||
| range "128..255"; | ||||
| } | ||||
| description | ||||
| "An identifier in the range 128-255 that's associated | ||||
| with the Flexible Algorithm Definition."; | ||||
| } | ||||
| leaf advertise-definition { | ||||
| type boolean; | ||||
| default true; | ||||
| description | ||||
| "Enable to advertise the flex-algo definition."; | ||||
| } | ||||
| container admin-groups { | ||||
| if-feature "te-types:extended-admin-groups"; | ||||
| if-feature "te-types:named-extended-admin-groups"; | ||||
| leaf-list exclude-admin-groups { | ||||
| type leafref { | ||||
| path "/te:te/te:globals/te:named-admin-groups/" | ||||
| + "te:named-admin-group/te:name"; | ||||
| } | ||||
| description | ||||
| "Exclude rule used during the flex-algo | ||||
| path computation."; | ||||
| } | ||||
| leaf-list include-any-admin-groups { | ||||
| type leafref { | ||||
| path "/te:te/te:globals/te:named-admin-groups/" | ||||
| + "te:named-admin-group/te:name"; | ||||
| } | ||||
| description | ||||
| "Include-any rule used during the flex-algo | ||||
| path computation."; | ||||
| } | ||||
| leaf-list include-all-admin-groups { | ||||
| type leafref { | ||||
| path "/te:te/te:globals/te:named-admin-groups/" | ||||
| + "te:named-admin-group/te:name"; | ||||
| } | ||||
| description | ||||
| "Include-all rule used during the flex-algo | ||||
| path computation."; | ||||
| } | ||||
| description | ||||
| "Specify links for the flex-algo path computation."; | ||||
| } | ||||
| leaf-list exclude-srlgs { | ||||
| if-feature "te-types:named-srlg-groups"; | ||||
| type leafref { | ||||
| path "/te:te/te:globals/te:named-srlgs/te:named-srlg/" | ||||
| + "te:name"; | ||||
| } | ||||
| description | ||||
| "Shared Risk Link Groups (SRLGs) to be excluded during | ||||
| the flex-algo path computation."; | ||||
| } | ||||
| leaf fast-reroute { | ||||
| type boolean; | ||||
| default true; | ||||
| description | ||||
| "Enable fast reroute."; | ||||
| } | ||||
| leaf metric-type { | ||||
| type identityref { | ||||
| base metric-type; | ||||
| } | ||||
| description | ||||
| "Type of metric to be used during the calculation."; | ||||
| } | ||||
| leaf microloop-avoidance { | ||||
| type boolean; | ||||
| default true; | ||||
| description | ||||
| "Enable microloop avoidance."; | ||||
| } | ||||
| container prefix-metric { | ||||
| presence | ||||
| "Use flex-algo specific prefix metric."; | ||||
| description | ||||
| "Use flex-algo prefix metric."; | ||||
| } | ||||
| leaf priority { | ||||
| type uint8; | ||||
| description | ||||
| "Priority of the advertisement."; | ||||
| } | ||||
| description | ||||
| "List of flex-algo configurations."; | ||||
| } | ||||
| description | ||||
| "Flexible Algorithm configuration."; | ||||
| } | ||||
| } | ||||
| /* Database */ | ||||
| augment "/rt:routing/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:database/isis:levels/isis:lsp"+ | ||||
| "/isis:router-capabilities" { | ||||
| when "/rt:routing/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol LSDB router capability."; | ||||
| uses fad-tlvs; | ||||
| } | ||||
| augment "/rt:routing/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:database/isis:levels/isis:lsp"+ | ||||
| "/isis:extended-ipv4-reachability/isis:prefixes" { | ||||
| when "/rt:routing/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol LSDB prefix."; | ||||
| uses fapm-sub-tlvs; | ||||
| } | ||||
| augment "/rt:routing/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:database/isis:levels/isis:lsp"+ | ||||
| "/isis:mt-extended-ipv4-reachability/isis:prefixes" { | ||||
| when "/rt:routing/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol LSDB prefix."; | ||||
| uses fapm-sub-tlvs; | ||||
| } | ||||
| augment "/rt:routing/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:database/isis:levels/isis:lsp"+ | ||||
| "/isis:ipv6-reachability/isis:prefixes" { | ||||
| when "/rt:routing/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol LSDB prefix."; | ||||
| uses fapm-sub-tlvs; | ||||
| } | ||||
| augment "/rt:routing/" + | ||||
| "rt:control-plane-protocols/rt:control-plane-protocol"+ | ||||
| "/isis:isis/isis:database/isis:levels/isis:lsp"+ | ||||
| "/isis:mt-ipv6-reachability/isis:prefixes" { | ||||
| when "/rt:routing/rt:control-plane-protocols/"+ | ||||
| "rt:control-plane-protocol/rt:type = 'isis:isis'" { | ||||
| description | ||||
| "This augment ISIS routing protocol when used"; | ||||
| } | ||||
| description | ||||
| "This augments ISIS protocol LSDB prefix."; | ||||
| uses fapm-sub-tlvs; | ||||
| } | ||||
| } | ||||
| <CODE ENDS> | ||||
| 5. Security Considerations | ||||
| The YANG modules specified in this document define a schema for data | The YANG modules specified in this document define a schema for data | |||
| that is designed to be accessed via network management protocols such | that is designed to be accessed via network management protocols such | |||
| as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | |||
| is the secure transport layer, and the mandatory-to-implement secure | is the secure transport layer, and the mandatory-to-implement secure | |||
| transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | |||
| is HTTPS, and the mandatory-to-implement secure transport is TLS | is HTTPS, and the mandatory-to-implement secure transport is TLS | |||
| [RFC5246]. | [RFC5246]. | |||
| The NETCONF access control model [RFC6536] provides the means to | The NETCONF access control model [RFC6536] provides the means to | |||
| skipping to change at page 15, line 5 ¶ | skipping to change at page 26, line 28 ¶ | |||
| consider their topologies to be sensitive confidential data.These | consider their topologies to be sensitive confidential data.These | |||
| correspond to the following schema nodes: | correspond to the following schema nodes: | |||
| /isis:isis/isis:database/isis:levels/isis:lsp/isis:mt-is- | /isis:isis/isis:database/isis:levels/isis:lsp/isis:mt-is- | |||
| neighbor/isis:neighbor/isis:instances/isis:instance/application- | neighbor/isis:neighbor/isis:instances/isis:instance/application- | |||
| specific-link-attributes-sub-tlvs | specific-link-attributes-sub-tlvs | |||
| /isis:isis/isis:database/isis:levels/isis:lsp/application- | /isis:isis/isis:database/isis:levels/isis:lsp/application- | |||
| specific-srlg-tlv | specific-srlg-tlv | |||
| 5. IANA Considerations | 6. IANA Considerations | |||
| This document registers URIs in the IETF XML registry [RFC3688]. | This document registers URIs in the IETF XML registry [RFC3688]. | |||
| Following the format in [RFC3688], the following registrations is | Following the format in [RFC3688], the following registrations is | |||
| requested to be made: | requested to be made: | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-isis-remaining-lifetime | URI: urn:ietf:params:xml:ns:yang:ietf-isis-remaining-lifetime | |||
| Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
| XML: N/A, the requested URI is an XML namespace. | XML: N/A, the requested URI is an XML namespace. | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-isis-link-attr | URI: urn:ietf:params:xml:ns:yang:ietf-isis-link-attr | |||
| Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
| XML: N/A, the requested URI is an XML namespace. | XML: N/A, the requested URI is an XML namespace. | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-isis-flex-algo | ||||
| Registrant Contact: The IESG. | ||||
| XML: N/A, the requested URI is an XML namespace. | ||||
| This document registers the YANG modules in the YANG Module Names | This document registers the YANG modules in the YANG Module Names | |||
| registry [RFC6020]. | registry [RFC6020]. | |||
| name: ietf-isis-remaining-lifetime | name: ietf-isis-remaining-lifetime | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-isis-remaining-lifetime | namespace: urn:ietf:params:xml:ns:yang:ietf-isis-remaining-lifetime | |||
| prefix: isis-remaining-lifetime | prefix: isis-remaining-lifetime | |||
| reference: RFC XXXX | reference: RFC XXXX | |||
| name: ietf-isis-link-attr | name: ietf-isis-link-attr | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-isis-link-attr | namespace: urn:ietf:params:xml:ns:yang:ietf-isis-link-attr | |||
| prefix: isis-link-attr | prefix: isis-link-attr | |||
| reference: RFC XXXX | reference: RFC XXXX | |||
| 6. Acknowledgements | name: ietf-isis-flex-algo | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-isis-flex-algo | ||||
| prefix: isis-flex-algo | ||||
| reference: RFC XXXX | ||||
| 7. Acknowledgements | ||||
| This document was produced using Marshall Rose's xml2rfc tool. | This document was produced using Marshall Rose's xml2rfc tool. | |||
| The YANG model was developed using the suite of YANG tools written | The YANG model was developed using the suite of YANG tools written | |||
| and maintained by numerous authors. | and maintained by numerous authors. | |||
| 7. References | 8. References | |||
| 7.1. Normative References | 8.1. Normative References | |||
| [I-D.ietf-isis-yang-isis-cfg] | [I-D.ietf-isis-yang-isis-cfg] | |||
| Litkowski, S., Yeung, D., Lindem, A., Zhang, Z., and L. | Litkowski, S., Yeung, D., Lindem, A., Zhang, J., and L. | |||
| Lhotka, "YANG Data Model for IS-IS Protocol", draft-ietf- | Lhotka, "YANG Data Model for IS-IS Protocol", draft-ietf- | |||
| isis-yang-isis-cfg-42 (work in progress), October 2019. | isis-yang-isis-cfg-42 (work in progress), October 2019. | |||
| [I-D.ietf-lsr-flex-algo] | ||||
| Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and | ||||
| A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- | ||||
| algo-15 (work in progress), April 2021. | ||||
| [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>. | |||
| [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | |||
| skipping to change at page 17, line 19 ¶ | skipping to change at page 29, line 15 ¶ | |||
| [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for | [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for | |||
| Routing Management (NMDA Version)", RFC 8349, | Routing Management (NMDA Version)", RFC 8349, | |||
| DOI 10.17487/RFC8349, March 2018, | DOI 10.17487/RFC8349, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8349>. | <https://www.rfc-editor.org/info/rfc8349>. | |||
| [RFC8919] Ginsberg, L., Psenak, P., Previdi, S., Henderickx, W., and | [RFC8919] Ginsberg, L., Psenak, P., Previdi, S., Henderickx, W., and | |||
| J. Drake, "IS-IS Application-Specific Link Attributes", | J. Drake, "IS-IS Application-Specific Link Attributes", | |||
| RFC 8919, DOI 10.17487/RFC8919, October 2020, | RFC 8919, DOI 10.17487/RFC8919, October 2020, | |||
| <https://www.rfc-editor.org/info/rfc8919>. | <https://www.rfc-editor.org/info/rfc8919>. | |||
| 7.2. Informative References | 8.2. Informative References | |||
| [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", | [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", | |||
| BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, | BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8340>. | <https://www.rfc-editor.org/info/rfc8340>. | |||
| Authors' Addresses | Authors' Addresses | |||
| Acee Lindem | Acee Lindem | |||
| Cisco Systems | Cisco Systems | |||
| 301 Midenhall Way | 301 Midenhall Way | |||
| End of changes. 19 change blocks. | ||||
| 24 lines changed or deleted | 586 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/ | ||||