rfc9194.original   rfc9194.txt 
Network Working Group C. Hopps Internet Engineering Task Force (IETF) C. Hopps
Internet-Draft LabN Consulting, L.L.C. Request for Comments: 9194 LabN Consulting, L.L.C.
Intended status: Standards Track 1 January 2022 Category: Standards Track February 2022
Expires: 5 July 2022 ISSN: 2070-1721
YANG Module for IS-IS Reverse Metric A YANG Module for IS-IS Reverse Metric
draft-ietf-lsr-yang-isis-reverse-metric-06
Abstract Abstract
This document defines a YANG module for managing the reverse metric This document defines a YANG module for managing the reverse metric
extension to the Intermediate System to Intermediate System intra- extension to the Intermediate System to Intermediate System (IS-IS)
domain routeing information exchange protocol (IS-IS). intra-domain routing information exchange protocol.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 5 July 2022. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9194.
Copyright Notice Copyright Notice
Copyright (c) 2022 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
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction
2. YANG Management . . . . . . . . . . . . . . . . . . . . . . . 2 2. YANG Management
2.1. YANG Tree . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1. YANG Tree
2.2. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 3 2.2. YANG Module
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 3. IANA Considerations
3.1. Updates to the IETF XML Registry . . . . . . . . . . . . 8 3.1. Updates to the IETF XML Registry
3.2. Updates to the YANG Module Names Registry . . . . . . . . 8 3.2. Updates to the YANG Module Names Registry
4. Security Considerations . . . . . . . . . . . . . . . . . . . 9 4. Security Considerations
5. Normative References . . . . . . . . . . . . . . . . . . . . 10 5. Normative References
6. Informative References . . . . . . . . . . . . . . . . . . . 11 6. Informative References
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 12 Appendix A. Examples
A.1. Enablement Example using XML YANG Instance Data . . . . . 12 A.1. Enablement Example Using XML YANG Instance Data
A.2. Usage Example using XML YANG Instance Data . . . . . . . 13 A.2. Usage Example Using XML YANG Instance Data
A.3. Usage Example using JSON YANG Instance Data . . . . . . . 14 A.3. Usage Example Using JSON YANG Instance Data
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 15 Author's Address
1. Introduction 1. Introduction
This document defines a YANG module for managing the reverse metric This document defines a YANG module for managing the reverse metric
extension to IS-IS [RFC8500], [ISO10589]. Please refer to [RFC8500] extension to IS-IS [RFC8500] [ISO-10589]. Please refer to [RFC8500]
for the description and definition of the functionality managed by for the description and definition of the functionality managed by
this module. this module.
The YANG data model described in this document conforms to the The YANG data model described in this document conforms to the
Network Management Datastore Architecture defined in [RFC8342]. Network Management Datastore Architecture defined in [RFC8342].
2. YANG Management 2. YANG Management
2.1. YANG Tree 2.1. YANG Tree
The following is the YANG tree diagram ([RFC8340]) for the IS-IS The following is the YANG tree diagram [RFC8340] for the IS-IS
reverse metric extension additions. reverse metric extension additions.
module: ietf-isis-reverse-metric module: ietf-isis-reverse-metric
augment /rt:routing/rt:control-plane-protocols augment /rt:routing/rt:control-plane-protocols
/rt:control-plane-protocol/isis:isis: /rt:control-plane-protocol/isis:isis:
+--rw reverse-metric +--rw reverse-metric
+--rw enable-receive? boolean +--rw enable-receive? boolean
augment /rt:routing/rt:control-plane-protocols augment /rt:routing/rt:control-plane-protocols
/rt:control-plane-protocol/isis:isis/isis:interfaces /rt:control-plane-protocol/isis:isis/isis:interfaces
/isis:interface: /isis:interface:
skipping to change at page 3, line 45 skipping to change at line 119
+--ro metric? isis:wide-metric +--ro metric? isis:wide-metric
+--ro flags +--ro flags
| +--ro whole-lan? boolean | +--ro whole-lan? boolean
| +--ro allow-unreachable? boolean | +--ro allow-unreachable? boolean
+--ro te-metric? uint32 +--ro te-metric? uint32
2.2. YANG Module 2.2. YANG Module
The following is the YANG module for managing the IS-IS reverse The following is the YANG module for managing the IS-IS reverse
metric functionality defined in [RFC8500]. It imports modules from metric functionality defined in [RFC8500]. It imports modules from
the following RFCs: [RFC8349], [I-D.ietf-isis-yang-isis-cfg]. [RFC8349] and [RFC9130].
This YANG module uses the same "Per-Level" hierarchical configuration This YANG module uses the same per-level hierarchical configuration
structure as is defined in the augmented base module. structure as that defined in the augmented base module.
<CODE BEGINS> file "ietf-isis-reverse-metric@2022-01-01.yang" <CODE BEGINS>
file "ietf-isis-reverse-metric@2022-02-03.yang"
module ietf-isis-reverse-metric { module ietf-isis-reverse-metric {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-isis-reverse-metric"; namespace "urn:ietf:params:xml:ns:yang:ietf-isis-reverse-metric";
prefix isis-rmetric; prefix isis-rmetric;
import ietf-routing { import ietf-routing {
prefix rt; prefix rt;
reference reference
"RFC8349: "RFC 8349: A YANG Data Model for Routing Management
A YANG Data Model for Routing Management (NMDA Version)"; (NMDA Version)";
} }
import ietf-isis { import ietf-isis {
prefix isis; prefix isis;
reference reference
"draft-ietf-isis-yang-isis-cfg-42: "RFC 9130: YANG Data Model for the IS-IS Protocol";
YANG Data Model for IS-IS Protocol";
} }
organization organization
"IETF LSR Working Group (LSR)"; "IETF LSR Working Group (LSR)";
contact contact
"WG Web: <https://datatracker.ietf.org/wg/lsr/> "WG Web: <https://datatracker.ietf.org/wg/lsr/>
WG List: <mailto:lsr@ietf.org> WG List: <mailto:lsr@ietf.org>
Author: Christian Hopps Author: Christian Hopps
<mailto:chopps@chopps.org>"; <mailto:chopps@chopps.org>";
// RFC Ed.: replace XXXX with actual RFC number and
// remove this note.
description description
"This module defines the configuration and operational state for "This module defines the configuration and operational state
managing the IS-IS reverse metric functionality [RFC8500]. for managing the IS-IS reverse metric functionality
(RFC 8500).
Copyright (c) 2022 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 Simplified 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 9194; see the
(https://www.rfc-editor.org/info/rfcXXXX>); see the RFC itself RFC itself for full legal notices.";
for full legal notices."; reference
"RFC 8500: IS-IS Routing with Reverse Metric";
revision 2022-01-01 { revision 2022-02-03 {
description "Initial Revision"; description
reference "RFC XXXX: YANG IS-IS Reverse Metric"; "Initial revision.";
reference
"RFC 9194: A YANG Module for IS-IS Reverse Metric";
} }
grouping reverse-metric-data { grouping reverse-metric-data {
description "IS-IS reverse metric data."; description
"IS-IS reverse metric data.";
leaf metric { leaf metric {
type isis:wide-metric; type isis:wide-metric;
description "The reverse metric value."; description
reference "RFC8500, Section 2"; "The reverse metric value.";
reference
"RFC 8500: IS-IS Routing with Reverse Metric, Section 2";
} }
container flags { container flags {
description "The reverse metric flag values."; description
"The reverse metric flag values.";
leaf whole-lan { leaf whole-lan {
type boolean; type boolean;
description description
"The 'whole LAN' or W-bit. If true then a DIS processing "The 'Whole LAN' bit (W bit) (RFC 8500). If true, then
this reverse metric will add the metric value to all the a Designated Intermediate System (DIS) processing this
nodes it advertises in the pseudo-node LSP for this reverse metric will add the metric value to all the
interface. Otherwise, it will only increment the metric nodes it advertises in the pseudonode Link State
for the advertising node in the pseudo-node LSP for this Protocol Data Unit (LSP) for this interface.
interface."; Otherwise, it will only increment the metric for the
reference "RFC8500, Section 2"; advertising node in the pseudonode LSP for this
interface.";
reference
"RFC 8500: IS-IS Routing with Reverse Metric,
Section 2";
} }
leaf allow-unreachable { leaf allow-unreachable {
type boolean; type boolean;
description description
"The 'allow-unreachable' or U-bit. If true it allows the "The 'Unreachable' bit (U bit) (RFC 8500). If true, it
neighbor to increment the overall metric up to 2^24-1 allows the neighbor to increment the overall metric up
rather than the lesser maximum of 2^24-2. If the metric to 2^24-1 rather than the lesser maximum of 2^24-2.
is then set by the neighbor to 2^24-1, it will cause If the metric is then set by the neighbor to 2^24-1,
traffic to stop using, rather than avoid using, the it will cause traffic to stop using, rather than avoid
interface."; using, the interface.";
reference "RFC8500, Section 2"; reference
"RFC 8500: IS-IS Routing with Reverse Metric,
Section 2";
} }
} }
} }
grouping reverse-metric-if-config-data { grouping reverse-metric-if-config-data {
description "IS-IS reverse metric config data."; description
"IS-IS reverse metric config data.";
uses reverse-metric-data; uses reverse-metric-data;
leaf exclude-te-metric { leaf exclude-te-metric {
type boolean; type boolean;
default false; default "false";
description description
"If true and there is a TE metric defined for this "If true and there is a TE metric defined for this
interface then do not send the TE metric sub-TLV in the interface, then do not send the Traffic Engineering
reverse metric TLV."; Metric sub-TLV in the Reverse Metric TLV.";
reference "RFC8500, Section 2"; reference
"RFC 8500: IS-IS Routing with Reverse Metric, Section 2";
} }
} }
grouping tlv16-reverse-metric { grouping tlv16-reverse-metric {
description "IS-IS reverse metric TLV data."; description
"IS-IS Reverse Metric TLV data.";
uses reverse-metric-data; uses reverse-metric-data;
leaf te-metric { leaf te-metric {
type uint32; type uint32;
description description
"The TE metric value from the sub-TLV if present."; "The TE metric value from the sub-TLV, if present.";
reference "RFC8500, Section 2"; reference
"RFC 8500: IS-IS Routing with Reverse Metric, Section 2";
} }
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+"rt:control-plane-protocol/" + "rt:control-plane-protocol/"
+"isis:isis" { + "isis:isis" {
when "derived-from-or-self(../rt:type, 'isis:isis')" { when "derived-from-or-self(../rt:type, 'isis:isis')" {
description description
"This augment is only valid when routing protocol instance "This augment is only valid when the routing protocol
type is 'isis'."; instance type is 'isis'.";
} }
description description
"The reverse metric configuration for an IS-IS instance."; "The reverse metric configuration for an IS-IS instance.";
container reverse-metric { container reverse-metric {
description "Global reverse metric configuration."; description
"Global reverse metric configuration.";
leaf enable-receive { leaf enable-receive {
type boolean; type boolean;
default false; default "false";
description description
"Enable handling of reverse metric announcements from "Enables handling of reverse metric announcements from
neighbors. By default, reverse metric handling is disabled neighbors. By default, reverse metric handling is
and must be explicitly enabled through this disabled and must be explicitly enabled through this
configuration."; configuration.";
} }
} }
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+"rt:control-plane-protocol/" + "rt:control-plane-protocol/"
+"isis:isis/isis:interfaces/isis:interface" { + "isis:isis/isis:interfaces/isis:interface" {
when "derived-from-or-self(../../../rt:type, 'isis:isis')" { when "derived-from-or-self(../../../rt:type, 'isis:isis')" {
description description
"This augment is only valid when routing protocol instance "This augment is only valid when the routing protocol
type is 'isis'."; instance type is 'isis'.";
} }
description description
"The reverse metric configuration for an interface."; "The reverse metric configuration for an interface.";
container reverse-metric { container reverse-metric {
description description
"Announce a reverse metric to neighbors. The configuration "Announces a reverse metric to neighbors. The
is hierarchical and follows the same behavior as defined configuration is hierarchical and follows the same
for 'Per-Level' values in the augmented base module. behavior as that defined for per-level values in the
augmented base module.
Reverse metric operation is enabled by the configuration of Reverse metric operation is enabled by the configuration
a reverse-metric metric value at either the top level or of a 'reverse-metric' metric value either at the top
under a level-specific container node. If a reverse-metric level or under a level-specific container node. If a
metric value is only specified under a level-specific 'reverse-metric' metric value is only specified under a
container node then operation is only enabled at the level-specific container node, then operation is only
specified level. enabled at the specified level.
As the reverse metric is advertised in IIH PDUs, level As the reverse metric is advertised in IS-IS Hello
specific configuration is only available for broadcast Protocol Data Units (IIH PDUs), level-specific
interface types"; configuration is only available for broadcast interface
types.";
uses reverse-metric-if-config-data { uses reverse-metric-if-config-data {
refine "flags/whole-lan" { refine "flags/whole-lan" {
default false; default "false";
} }
refine "flags/allow-unreachable" { refine "flags/allow-unreachable" {
default false; default "false";
} }
} }
container level-1 { container level-1 {
when '../../isis:interface-type = "broadcast"'; when '../../isis:interface-type = "broadcast"';
description description
"Announce a reverse metric to level-1 neighbors."; "Announces a reverse metric to level-1 neighbors.";
uses reverse-metric-if-config-data; uses reverse-metric-if-config-data;
} }
container level-2 { container level-2 {
when '../../isis:interface-type = "broadcast"'; when '../../isis:interface-type = "broadcast"';
description description
"Announce a reverse metric to level-2 neighbors."; "Announces a reverse metric to level-2 neighbors.";
uses reverse-metric-if-config-data; uses reverse-metric-if-config-data;
} }
} }
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+"rt:control-plane-protocol/" + "rt:control-plane-protocol/"
+"isis:isis/isis:interfaces/isis:interface/" + "isis:isis/isis:interfaces/isis:interface/"
+"isis:adjacencies/isis:adjacency" { + "isis:adjacencies/isis:adjacency" {
when "derived-from-or-self(../../../../../rt:type, when "derived-from-or-self(../../../../../rt:type,
'isis:isis')" { 'isis:isis')" {
description description
"This augment is only valid when routing protocol instance "This augment is only valid when the routing protocol
type is 'isis'"; instance type is 'isis'.";
} }
description description
"The reverse metric state advertised by an adjacency."; "The reverse metric state advertised by an adjacency.";
container reverse-metric { container reverse-metric {
description "IS-IS reverse metric TLV data."; description
"IS-IS Reverse Metric TLV data.";
uses tlv16-reverse-metric; uses tlv16-reverse-metric;
} }
} }
} }
<CODE ENDS> <CODE ENDS>
3. IANA Considerations 3. IANA Considerations
3.1. Updates to the IETF XML Registry 3.1. Updates to the IETF XML Registry
This document registers a URI in the "IETF XML Registry" [RFC3688]. This document registers a URI in the "IETF XML Registry" [RFC3688].
Following the format in [RFC3688], the following registration has Following the format in [RFC3688], the following registration has
been made: been made:
URI urn:ietf:params:xml:ns:yang:ietf-isis-reverse-metric URI: urn:ietf:params:xml:ns:yang:ietf-isis-reverse-metric
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.
3.2. Updates to the YANG Module Names Registry 3.2. Updates to the YANG Module Names Registry
This document registers one YANG module in the "YANG Module Names" This document registers one YANG module in the "YANG Module Names"
registry [RFC6020]. Following the format in [RFC6020], the following registry [RFC6020]. Following the format in [RFC6020], the following
registration has been made: registration has been made:
name ietf-isis-reverse-metric Name: ietf-isis-reverse-metric
Maintained by IANA? N
namespace urn:ietf:params:xml:ns:yang:ietf-isis-reverse-metric Namespace: urn:ietf:params:xml:ns:yang:ietf-isis-reverse-metric
Prefix: isis-rmetric
prefix isis-rmetric Reference: RFC 9194
reference RFC XXXX (RFC Ed.: replace XXX with actual RFC number and
remove this note.)
4. Security Considerations 4. Security Considerations
The YANG module specified in this document defines a schema for data The YANG module specified in this document defines 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
[RFC8446]. [RFC8446].
The NETCONF access control model [RFC8341] provides the means to The Network Configuration Access Control Model (NACM) [RFC8341]
restrict access for particular NETCONF or RESTCONF users to a provides the means to restrict access for particular NETCONF or
preconfigured subset of all available NETCONF or RESTCONF protocol RESTCONF users to a preconfigured subset of all available NETCONF or
operations and content. RESTCONF protocol operations and content.
The YANG module defined in this document can enable, disable and The YANG module defined in this document can enable, disable, and
modify the behavior of metrics used by routing. For the security modify the behavior of metrics used by routing. For the security
implications regarding these types of changes consult [RFC8500] which implications regarding these types of changes, consult [RFC8500] --
defines the functionality as well as [I-D.ietf-isis-yang-isis-cfg]. which defines the functionality -- as well as [RFC9130].
There are a number of data nodes defined in this YANG module that are There are a number of data nodes defined in this YANG module that are
writable/creatable/deletable (i.e., "config true", which is the writable/creatable/deletable (i.e., config true, which is the
default). These data nodes may be considered sensitive or vulnerable default). These data nodes may be considered sensitive or vulnerable
in some network environments. Write operations (e.g., edit-config) in some network environments. Write operations (e.g., edit-config)
to these data nodes without proper protection can have a negative to these data nodes without proper protection can have a negative
effect on network operations. These YANG nodes correspond directly effect on network operations. These YANG nodes correspond directly
to the RFC 8500 functionality and the security considerations of the to the functionality provided in RFC 8500, and the security
functionality are described in RFC 8500. considerations of the functionality are described in RFC 8500. These
are the subtrees and data nodes:
These are the subtrees and data nodes:
Under "/rt:routing/rt:control-plane-protocols/" + Under "/rt:routing/rt:control-plane-protocols/" +
"rt:control-plane-protocol/isis:isis" "rt:control-plane-protocol/isis:isis"
- /isis-rmetric:reverse-metric/isis-rmetric:enable-receive - /isis-rmetric:reverse-metric/isis-rmetric:enable-receive
Under "/rt:routing/rt:control-plane-protocols/" + Under "/rt:routing/rt:control-plane-protocols/" +
"rt:control-plane-protocol/isis:isis/" + "rt:control-plane-protocol/isis:isis/" +
"isis:interfaces/isis:interface/" + "isis:interfaces/isis:interface/" +
"isis-rmetric:reverse-metric" "isis-rmetric:reverse-metric"
skipping to change at page 10, line 31 skipping to change at line 450
- /isis-rmetric:metric - /isis-rmetric:metric
- /isis-rmetric:flags/isis-rmetric:whole-lan - /isis-rmetric:flags/isis-rmetric:whole-lan
- /isis-rmetric:flags/isis-rmetric:allow-unreachable - /isis-rmetric:flags/isis-rmetric:allow-unreachable
- /isis-rmetric:exclude-te-metric - /isis-rmetric:exclude-te-metric
Some of the readable data nodes in this YANG module may be considered Some of the readable data nodes in this YANG module may be considered
sensitive or vulnerable in some network environments. It is thus sensitive or vulnerable in some network environments. It is thus
important to control read access (e.g., via get, get-config, or important to control read access (e.g., via get, get-config, or
notification) to these data nodes. These YANG nodes correspond notification) to these data nodes. These YANG nodes correspond
directly to the RFC 8500 functionality and the security directly to the functionality provided in RFC 8500, and the security
considerations of the functionality are described in RFC 8500. These considerations of the functionality are described in RFC 8500. These
are the subtrees and data nodes: are the subtrees and data nodes:
Under "/rt:routing/rt:control-plane-protocols/" + Under "/rt:routing/rt:control-plane-protocols/" +
"rt:control-plane-protocol/isis:isis/" + "rt:control-plane-protocol/isis:isis/" +
"isis:interfaces/isis:interface/" + "isis:interfaces/isis:interface/" +
"isis:adjacencies/isis:adjacency/" + "isis:adjacencies/isis:adjacency/" +
"isis-rmetric:reverse-metric" "isis-rmetric:reverse-metric"
- /isis-rmetric:metric - /isis-rmetric:metric
- /isis-rmetric:flags/isis-rmetric:whole-lan - /isis-rmetric:flags/isis-rmetric:whole-lan
- /isis-rmetric:flags/isis-rmetric:allow-unreachable - /isis-rmetric:flags/isis-rmetric:allow-unreachable
- /isis-rmetric:te-metric - /isis-rmetric:te-metric
5. Normative References 5. Normative References
[ISO10589] International Organization for Standardization, [ISO-10589]
"Intermediate System to Intermediate System intra-domain ISO, "Intermediate System to Intermediate System intra-
routeing information exchange protocol for use in domain routeing information exchange protocol for use in
conjunction with the protocol for providing the conjunction with the protocol for providing the
connectionless-mode network service (ISO 8473)", ISO connectionless-mode network service (ISO 8473)",
Standard 10589:2002, 2002. International Standard 10589: 2002, Second Edition, 2002,
<https://www.iso.org/standard/30932.html>.
[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>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020, the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010, DOI 10.17487/RFC6020, October 2010,
<https://www.rfc-editor.org/info/rfc6020>. <https://www.rfc-editor.org/info/rfc6020>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>.
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
<https://www.rfc-editor.org/info/rfc6242>.
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
<https://www.rfc-editor.org/info/rfc8040>.
[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
<https://www.rfc-editor.org/info/rfc8340>.
[RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration
Access Control Model", STD 91, RFC 8341, Access Control Model", STD 91, RFC 8341,
DOI 10.17487/RFC8341, March 2018, DOI 10.17487/RFC8341, March 2018,
<https://www.rfc-editor.org/info/rfc8341>. <https://www.rfc-editor.org/info/rfc8341>.
[RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
and R. Wilton, "Network Management Datastore Architecture and R. Wilton, "Network Management Datastore Architecture
(NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018,
<https://www.rfc-editor.org/info/rfc8342>. <https://www.rfc-editor.org/info/rfc8342>.
[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>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/info/rfc8446>.
[RFC8500] Shen, N., Amante, S., and M. Abrahamsson, "IS-IS Routing [RFC8500] Shen, N., Amante, S., and M. Abrahamsson, "IS-IS Routing
with Reverse Metric", RFC 8500, DOI 10.17487/RFC8500, with Reverse Metric", RFC 8500, DOI 10.17487/RFC8500,
February 2019, <https://www.rfc-editor.org/info/rfc8500>. February 2019, <https://www.rfc-editor.org/info/rfc8500>.
[I-D.ietf-isis-yang-isis-cfg] [RFC9130] Litkowski, S., Ed., Yeung, D., Lindem, A., Zhang, J., and
Litkowski, S., Yeung, D., Lindem, A., Zhang, J., and L. L. Lhotka, "YANG Data Model for the IS-IS Protocol",
Lhotka, "YANG Data Model for IS-IS Protocol", Work in RFC 9130, DOI 10.17487/RFC9130, January 2022,
Progress, Internet-Draft, draft-ietf-isis-yang-isis-cfg- <https://www.rfc-editor.org/info/rfc9130>.
42, 15 October 2019,
<https://datatracker.ietf.org/doc/html/draft-ietf-isis-
yang-isis-cfg-42>.
6. Informative References
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., [W3C.REC-xml-20081126]
and A. Bierman, Ed., "Network Configuration Protocol Bray, T., Paoli, J., Sperberg-McQueen, M., Maler, E., and
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth
<https://www.rfc-editor.org/info/rfc6241>. Edition)", World Wide Web Consortium Recommendation REC-
xml-20081126, November 2008,
<https://www.w3.org/TR/2008/REC-xml-20081126>.
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 6. Informative References
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
<https://www.rfc-editor.org/info/rfc6242>.
[RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG", [RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG",
RFC 7951, DOI 10.17487/RFC7951, August 2016, RFC 7951, DOI 10.17487/RFC7951, August 2016,
<https://www.rfc-editor.org/info/rfc7951>. <https://www.rfc-editor.org/info/rfc7951>.
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
<https://www.rfc-editor.org/info/rfc8040>.
[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
<https://www.rfc-editor.org/info/rfc8340>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/info/rfc8446>.
Appendix A. Examples Appendix A. Examples
A.1. Enablement Example using XML YANG Instance Data A.1. Enablement Example Using XML YANG Instance Data
Below is an example of XML YANG instance data [RFC8342] to enable Below is an example of XML [W3C.REC-xml-20081126] YANG instance data
reverse metric processing. [RFC8342] to enable reverse metric processing.
<rt:routing <rt:routing
xmlns:rt="urn:ietf:params:xml:ns:yang:ietf-routing" xmlns:rt="urn:ietf:params:xml:ns:yang:ietf-routing"
xmlns:isis="urn:ietf:params:xml:ns:yang:ietf-isis" xmlns:isis="urn:ietf:params:xml:ns:yang:ietf-isis"
xmlns:isis-rmetric= xmlns:isis-rmetric=
"urn:ietf:params:xml:ns:yang:ietf-isis-reverse-metric"> "urn:ietf:params:xml:ns:yang:ietf-isis-reverse-metric">
<rt:control-plane-protocols> <rt:control-plane-protocols>
<rt:control-plane-protocol> <rt:control-plane-protocol>
<rt:type>isis:isis</rt:type> <rt:type>isis:isis</rt:type>
<rt:name>default</rt:name> <rt:name>default</rt:name>
<isis:isis> <isis:isis>
<isis:area-address>00</isis:area-address> <isis:area-address>00</isis:area-address>
<isis-rmetric:reverse-metric> <isis-rmetric:reverse-metric>
<isis-rmetric:enable-receive>true</isis-rmetric:enable-receive> <isis-rmetric:enable-receive>true</isis-rmetric:enable-receive>
</isis-rmetric:reverse-metric> </isis-rmetric:reverse-metric>
</isis:isis> </isis:isis>
</rt:control-plane-protocol> </rt:control-plane-protocol>
</rt:control-plane-protocols> </rt:control-plane-protocols>
</rt:routing> </rt:routing>
Figure 1: Example XML data to enable reverse metric processing. Figure 1: Example XML Data to Enable Reverse Metric Processing
A.2. Usage Example using XML YANG Instance Data A.2. Usage Example Using XML YANG Instance Data
Below is an example of XML YANG instance data [RFC8342] for the ietf- Below is an example of XML YANG instance data [RFC8342] for the
isis-reverse-metric module. "ietf-isis-reverse-metric" module.
<if:interfaces <if:interfaces
xmlns:if="urn:ietf:params:xml:ns:yang:ietf-interfaces" xmlns:if="urn:ietf:params:xml:ns:yang:ietf-interfaces"
xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type"> xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">
<if:interface> <if:interface>
<if:name>eth0</if:name> <if:name>eth0</if:name>
<if:type>ianaift:ethernetCsmacd</if:type> <if:type>ianaift:ethernetCsmacd</if:type>
</if:interface> </if:interface>
</if:interfaces> </if:interfaces>
<rt:routing <rt:routing
skipping to change at page 14, line 39 skipping to change at line 609
65535 65535
</isis-rmetric:metric> </isis-rmetric:metric>
</isis-rmetric:reverse-metric> </isis-rmetric:reverse-metric>
</isis:interface> </isis:interface>
</isis:interfaces> </isis:interfaces>
</isis:isis> </isis:isis>
</rt:control-plane-protocol> </rt:control-plane-protocol>
</rt:control-plane-protocols> </rt:control-plane-protocols>
</rt:routing> </rt:routing>
Figure 2: Example XML data for ietf-isis-reverse-metric module. Figure 2: Example XML Data for the "ietf-isis-reverse-metric" Module
A.3. Usage Example using JSON YANG Instance Data A.3. Usage Example Using JSON YANG Instance Data
Below is an example of JSON YANG instance data [RFC7951] for the Below is an example of JSON YANG instance data [RFC7951] for the
ietf-isis-reverse-metric module. "ietf-isis-reverse-metric" module.
{ {
"ietf-interfaces:interfaces": { "ietf-interfaces:interfaces": {
"interface": [ "interface": [
{ {
"name": "eth0", "name": "eth0",
"type": "iana-if-type:ethernetCsmacd" "type": "iana-if-type:ethernetCsmacd"
} }
] ]
}, },
skipping to change at page 15, line 44 skipping to change at line 655
} }
] ]
} }
} }
} }
] ]
} }
} }
} }
Figure 3: Example JSON data for level-1 only reverse metric. Figure 3: Example JSON Data for the Level-1-Only Reverse Metric
Author's Address Author's Address
Christian Hopps Christian Hopps
LabN Consulting, L.L.C. LabN Consulting, L.L.C.
Email: chopps@chopps.org Email: chopps@chopps.org
 End of changes. 76 change blocks. 
203 lines changed or deleted 218 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/