draft-ietf-lsr-isis-yang-augmentation-v1-02.txt   draft-ietf-lsr-isis-yang-augmentation-v1-03.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: 25 June 2022 Y. Qu Expires: 7 September 2022 Y. Qu
Futurewei Futurewei
22 December 2021 6 March 2022
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-02 draft-ietf-lsr-isis-yang-augmentation-v1-03
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 25 June 2022. This Internet-Draft will expire on 7 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 Revised BSD License text as extracted from this document must include Revised BSD License text 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 Revised BSD License. provided without warranty as described in the Revised BSD License.
Table of Contents Table of Contents
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 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 . 5 3. YANG Module for IS-IS Application-Specific Link Attributes . 5
4. YANG Module for IS-IS Flexible Algorithm . . . . . . . . . . 14 4. YANG Module for IS-IS Flexible Algorithm . . . . . . . . . . 14
5. Security Considerations . . . . . . . . . . . . . . . . . . . 25 5. Security Considerations . . . . . . . . . . . . . . . . . . . 26
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 27 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 28
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 27 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.1. Normative References . . . . . . . . . . . . . . . . . . 27 8.1. Normative References . . . . . . . . . . . . . . . . . . 28
8.2. Informative References . . . . . . . . . . . . . . . . . 29 8.2. Informative References . . . . . . . . . . . . . . . . . 30
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 29 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30
1. Overview 1. Overview
YANG [RFC7950] is a data definition language used to define the YANG [RFC7950] is a data definition language used to define the
contents of a conceptual data store that allows networked devices to contents of a conceptual data store that allows networked devices to
be managed using NETCONF [RFC6241]. YANG is proving relevant beyond be managed using NETCONF [RFC6241]. YANG is proving relevant beyond
its initial confines, as bindings to other interfaces (e.g., ReST) its initial confines, as bindings to other interfaces (e.g., 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
skipping to change at page 6, line 41 skipping to change at page 6, line 41
| | +--ro ipv4-int-addr? inet:ipv4-address | | +--ro ipv4-int-addr? inet:ipv4-address
| +--ro ipv4-neighbor-addr | +--ro ipv4-neighbor-addr
| | +--ro ipv4-neighbor-addr? inet:ipv4-address | | +--ro ipv4-neighbor-addr? inet:ipv4-address
| +--ro ipv6-interface-addr | +--ro ipv6-interface-addr
| | +--ro ipv6-int-addr? inet:ipv6-address | | +--ro ipv6-int-addr? inet:ipv6-address
| +--ro ipv6-neighbor-addr | +--ro ipv6-neighbor-addr
| +--ro ipv6-neighbor-addr? inet:ipv6-address | +--ro ipv6-neighbor-addr? inet:ipv6-address
+--ro srlgs +--ro srlgs
+--ro srlg* uint32 +--ro srlg* uint32
<CODE BEGINS> file "ietf-isis-link-attr@2021-12-22.yang" <CODE BEGINS> file "ietf-isis-link-attr@2022-03-06.yang"
module ietf-isis-link-attr { module ietf-isis-link-attr {
yang-version 1.1; yang-version 1.1;
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;
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference "RFC 6991 - Common YANG Data Types"; reference "RFC 6991 - Common YANG Data Types";
} }
skipping to change at page 7, line 34 skipping to change at page 7, line 34
<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 8342. Datastore Architecture (NMDA) as described in RFC 8342.
Copyright (c) 2021 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 to without modification, is permitted pursuant to, and subject to
the license terms contained in, the Revised BSD License set the license terms contained in, the Revised BSD License set
forth in Section 4.c of the IETF Trust's Legal Provisions 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;
see the RFC itself for full legal notices. see the RFC itself 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.";
reference "RFC XXXX"; reference "RFC XXXX";
revision 2021-12-22 { revision 2022-03-06 {
description description
"Initial version"; "Initial version";
reference reference
"RFC XXXX: A YANG Data Model for IS-IS Application-Specific Link "RFC XXXX: A YANG Data Model for IS-IS Application-Specific Link
Attributes."; Attributes.";
} }
identity sabm-bit { identity sabm-bit {
description description
"Base identity for sabm bits."; "Base identity for sabm bits.";
skipping to change at page 13, line 40 skipping to change at page 13, line 40
"rt:control-plane-protocols/rt:control-plane-protocol"+ "rt:control-plane-protocols/rt:control-plane-protocol"+
"/isis:isis/isis:database/isis:levels/isis:lsp"+ "/isis:isis/isis:database/isis:levels/isis:lsp"+
"/isis:mt-is-neighbor/isis:neighbor"+ "/isis:mt-is-neighbor/isis:neighbor"+
"/isis:instances/isis:instance" { "/isis:instances/isis:instance" {
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 TLV22."; "This augments ISIS protocol LSDB TLV223.";
uses application-specific-link-attributes-sub-tlv; uses application-specific-link-attributes-sub-tlv;
} }
/* application-specific SRLG TLV 238 */ /* application-specific SRLG TLV 238 */
augment "/rt:routing/" + augment "/rt:routing/" +
"rt:control-plane-protocols/rt:control-plane-protocol"+ "rt:control-plane-protocols/rt:control-plane-protocol"+
"/isis:isis/isis:database/isis:levels/isis:lsp" { "/isis:isis/isis:database/isis:levels/isis:lsp" {
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.";
uses application-specific-srlg-tlv; uses application-specific-srlg-tlv;
} }
} }
<CODE ENDS> <CODE ENDS>
4. YANG Module for IS-IS Flexible Algorithm 4. YANG Module for IS-IS Flexible Algorithm
This document defines a YANG module for IS-IS Flexible Algorithm This document defines a YANG module for IS-IS Flexible Algorithm
skipping to change at page 16, line 7 skipping to change at page 16, line 7
+--ro metric? uint32 +--ro metric? uint32
augment /rt:routing/rt:control-plane-protocols augment /rt:routing/rt:control-plane-protocols
/rt:control-plane-protocol/isis:isis/isis:database /rt:control-plane-protocol/isis:isis/isis:database
/isis:levels/isis:lsp/isis:mt-ipv6-reachability /isis:levels/isis:lsp/isis:mt-ipv6-reachability
/isis:prefixes: /isis:prefixes:
+--ro fapm-sub-tlvs +--ro fapm-sub-tlvs
+--ro fapm-sub-tlv* [] +--ro fapm-sub-tlv* []
+--ro flex-algo? uint8 +--ro flex-algo? uint8
+--ro metric? uint32 +--ro metric? uint32
<CODE BEGINS> file "ietf-isis-flex-algo@2021-12-22.yang" notifications:
+---n flex-algo-not-supported
+--ro routing-protocol-name? -> /rt:routing
/control-plane-protocols
/control-plane-protocol/name
+--ro isis-level? level
+--ro flex-algo-number? uint8
<CODE BEGINS> file "ietf-isis-flex-algo@2022-03-06.yang"
module ietf-isis-flex-algo { module ietf-isis-flex-algo {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-isis-flex-algo"; namespace "urn:ietf:params:xml:ns:yang:ietf-isis-flex-algo";
prefix isis-flex-algo; prefix isis-flex-algo;
import ietf-routing { import ietf-routing {
prefix rt; prefix rt;
reference "RFC 8349: A YANG Data Model for Routing reference "RFC 8349: A YANG Data Model for Routing
Management (NMDA Version)"; Management (NMDA Version)";
} }
skipping to change at page 16, line 33 skipping to change at page 16, line 41
} }
import ietf-isis { import ietf-isis {
prefix "isis"; prefix "isis";
} }
import ietf-te { import ietf-te {
prefix "te"; prefix "te";
} }
import ietf-isis-link-attr {
prefix "isis-link-attr";
}
organization organization
"IETF LSR - Link State Routing Working Group"; "IETF LSR - Link State Routing Working Group";
contact contact
"WG Web: <https://tools.ietf.org/wg/spring/> "WG Web: <https://tools.ietf.org/wg/spring/>
WG List: <mailto:spring@ietf.org> WG List: <mailto:spring@ietf.org>
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>
Author: Stephane Litkowski Author: Stephane Litkowski
<mailto:slitkows.ietf@gmail.com> <mailto:slitkows.ietf@gmail.com>
"; ";
description description
"The YANG module defines the configuration and operational "The YANG module defines the configuration and operational
skipping to change at page 17, line 8 skipping to change at page 17, line 19
<mailto:slitkows.ietf@gmail.com> <mailto:slitkows.ietf@gmail.com>
"; ";
description description
"The YANG module defines the configuration and operational "The YANG module defines the configuration and operational
state for ISIS Flexible Algorithm as defined in RFC xxxx. state for ISIS Flexible Algorithm as defined in RFC xxxx.
This YANG model conforms to the Network Management This YANG model conforms to the Network Management
Datastore Architecture (NMDA) as described in RFC 8342. Datastore Architecture (NMDA) as described in RFC 8342.
Copyright (c) 2021 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 to without modification, is permitted pursuant to, and subject to
the license terms contained in, the Revised BSD License set the license terms contained in, the Revised BSD License set
forth in Section 4.c of the IETF Trust's Legal Provisions forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(https://trustee.ietf.org/license-info). (https://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;
see the RFC itself for full legal notices. see the RFC itself 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.";
reference "RFC XXXX: YANG Data Model for ISIS Flexible Algorithm."; reference "RFC XXXX: YANG Data Model for ISIS Flexible Algorithm.";
revision 2021-12-22 { revision 2022-03-06 {
description description
"Initial Version"; "Initial Version";
reference "RFC XXXX: YANG Data Model for ISIS Flexible Algorithm."; reference "RFC XXXX: YANG Data Model for ISIS Flexible Algorithm.";
} }
/* Identities */ /* Identities */
identity metric-type { identity metric-type {
description description
"Base identity for route metric types."; "Base identity for route metric types.";
skipping to change at page 18, line 25 skipping to change at page 18, line 37
} }
identity fad-flags { identity fad-flags {
description description
"Base identity for ISIS FAD flags."; "Base identity for ISIS FAD flags.";
} }
identity m-bit { identity m-bit {
base fad-flags; base fad-flags;
description description
"M bit, when set, the fex-algo specific prefix and ASBR "M bit, when set, the flex-algo specific prefix and ASBR
metric MUST be used for inter-area and external prefix metric MUST be used for inter-area and external prefix
calculation."; calculation.";
} }
/* Identity augmentation */
identity flex-algo-bit {
base isis-link-attr:sabm-bit;
description
"X bit, flexible algorithm.";
}
/* Groupings */ /* Groupings */
grouping fa-ex-ag-sub-tlv { grouping fa-ex-ag-sub-tlv {
container fa-ex-ag-sub-tlv { container fa-ex-ag-sub-tlv {
leaf-list extended-admin-groups { leaf-list extended-admin-groups {
type uint64; type uint64;
description description
"Extended administrative group as defined in RFC 7308."; "Extended administrative group as defined in RFC 7308.";
} }
description description
"The flex-algo exclude admin group sub-tlv."; "The flex-algo exclude admin group sub-tlv.";
skipping to change at page 25, line 31 skipping to change at page 26, line 4
"/isis:mt-ipv6-reachability/isis:prefixes" { "/isis:mt-ipv6-reachability/isis:prefixes" {
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 prefix."; "This augments ISIS protocol LSDB prefix.";
uses fapm-sub-tlvs; uses fapm-sub-tlvs;
} }
/* notification */
notification flex-algo-not-supported {
uses isis:notification-instance-hdr;
leaf flex-algo-number {
type uint8 {
range "128..255";
}
description
"Flex-algo identifier which is not supported by the IS-IS
instance.";
}
description
"This notification is sent when an IS-IS instance does not
support this flex-algo.";
}
} }
<CODE ENDS> <CODE ENDS>
5. Security Considerations 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
 End of changes. 20 change blocks. 
24 lines changed or deleted 58 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/