draft-ietf-lsr-yang-isis-reverse-metric-05.txt | draft-ietf-lsr-yang-isis-reverse-metric-06.txt | |||
---|---|---|---|---|
Network Working Group C. Hopps | Network Working Group C. Hopps | |||
Internet-Draft LabN Consulting, L.L.C. | Internet-Draft LabN Consulting, L.L.C. | |||
Intended status: Standards Track 11 December 2021 | Intended status: Standards Track 1 January 2022 | |||
Expires: 14 June 2022 | Expires: 5 July 2022 | |||
YANG Module for IS-IS Reverse Metric | YANG Module for IS-IS Reverse Metric | |||
draft-ietf-lsr-yang-isis-reverse-metric-05 | 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 intra- | |||
domain routeing information exchange protocol (IS-IS). | domain routeing information exchange protocol (IS-IS). | |||
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 | |||
skipping to change at page 1, line 32 ¶ | skipping to change at page 1, line 32 ¶ | |||
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 14 June 2022. | This Internet-Draft will expire on 5 July 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. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. YANG Management . . . . . . . . . . . . . . . . . . . . . . . 2 | 2. YANG Management . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2.1. YANG Tree . . . . . . . . . . . . . . . . . . . . . . . . 2 | 2.1. YANG Tree . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2.2. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 3 | 2.2. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | |||
3.1. Updates to the IETF XML Registry . . . . . . . . . . . . 8 | 3.1. Updates to the IETF XML Registry . . . . . . . . . . . . 8 | |||
3.2. Updates to the YANG Module Names Registry . . . . . . . . 8 | 3.2. Updates to the YANG Module Names Registry . . . . . . . . 8 | |||
4. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | |||
5. Normative References . . . . . . . . . . . . . . . . . . . . 10 | 5. Normative References . . . . . . . . . . . . . . . . . . . . 10 | |||
6. Informative References . . . . . . . . . . . . . . . . . . . 11 | 6. Informative References . . . . . . . . . . . . . . . . . . . 11 | |||
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 11 | Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 12 | |||
A.1. Example Enable XML . . . . . . . . . . . . . . . . . . . 11 | A.1. Enablement Example using XML YANG Instance Data . . . . . 12 | |||
A.2. Example Use XML . . . . . . . . . . . . . . . . . . . . . 12 | A.2. Usage Example using XML YANG Instance Data . . . . . . . 13 | |||
A.3. Example JSON . . . . . . . . . . . . . . . . . . . . . . 13 | A.3. Usage Example using JSON YANG Instance Data . . . . . . . 14 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 14 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
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], [ISO10589]. 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]. | |||
skipping to change at page 3, line 14 ¶ | skipping to change at page 3, line 14 ¶ | |||
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: | |||
+--rw reverse-metric | +--rw reverse-metric | |||
+--rw reverse-metric | +--rw metric? isis:wide-metric | |||
+--rw flags | ||||
| +--rw whole-lan? boolean | ||||
| +--rw allow-unreachable? boolean | ||||
+--rw exclude-te-metric? boolean | ||||
+--rw level-1 | ||||
| +--rw metric? isis:wide-metric | | +--rw metric? isis:wide-metric | |||
| +--rw flags | | +--rw flags | |||
| | +--rw whole-lan? boolean | | | +--rw whole-lan? boolean | |||
| | +--rw allow-unreachable? boolean | | | +--rw allow-unreachable? boolean | |||
| +--rw exclude-te-metric? boolean | | +--rw exclude-te-metric? boolean | |||
+--rw level-1 | ||||
| +--rw reverse-metric | ||||
| +--rw metric? isis:wide-metric | ||||
| +--rw flags | ||||
| | +--rw whole-lan? boolean | ||||
| | +--rw allow-unreachable? boolean | ||||
| +--rw exclude-te-metric? boolean | ||||
+--rw level-2 | +--rw level-2 | |||
+--rw reverse-metric | +--rw metric? isis:wide-metric | |||
+--rw metric? isis:wide-metric | +--rw flags | |||
+--rw flags | | +--rw whole-lan? boolean | |||
| +--rw whole-lan? boolean | | +--rw allow-unreachable? boolean | |||
| +--rw allow-unreachable? boolean | +--rw exclude-te-metric? boolean | |||
+--rw exclude-te-metric? 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:adjacencies/isis:adjacency: | /isis:interface/isis:adjacencies/isis:adjacency: | |||
+--ro reverse-metric | +--ro reverse-metric | |||
+--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]. | the following RFCs: [RFC8349], [I-D.ietf-isis-yang-isis-cfg]. | |||
<CODE BEGINS> file "ietf-isis-reverse-metric@2021-12-11.yang" | This YANG module uses the same "Per-Level" hierarchical configuration | |||
structure as is defined in the augmented base module. | ||||
<CODE BEGINS> file "ietf-isis-reverse-metric@2022-01-01.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: | "RFC8349: | |||
A YANG Data Model for Routing Management (NMDA Version)"; | A YANG Data Model for Routing Management (NMDA Version)"; | |||
skipping to change at page 4, line 41 ¶ | skipping to change at page 4, line 41 ¶ | |||
Author: Christian Hopps | Author: Christian Hopps | |||
<mailto:chopps@chopps.org>"; | <mailto:chopps@chopps.org>"; | |||
// RFC Ed.: replace XXXX with actual RFC number and | // RFC Ed.: replace XXXX with actual RFC number and | |||
// remove this note. | // remove this note. | |||
description | description | |||
"This module defines the configuration and operational state for | "This module defines the configuration and operational state for | |||
managing the IS-IS reverse metric functionality [RFC8500]. | managing the IS-IS reverse metric functionality [RFC8500]. | |||
Copyright (c) 2019 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 Simplified 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 | |||
(https://www.rfc-editor.org/info/rfcXXXX>); see the RFC itself | (https://www.rfc-editor.org/info/rfcXXXX>); see the RFC itself | |||
for full legal notices."; | for full legal notices."; | |||
revision 2021-12-11 { | revision 2022-01-01 { | |||
description "Initial Revision"; | description "Initial Revision"; | |||
reference "RFC XXXX: YANG IS-IS Reverse Metric"; | reference "RFC XXXX: YANG 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 "The reverse metric value."; | |||
reference "RFC8500, Section 2"; | reference "RFC8500, Section 2"; | |||
skipping to change at page 5, line 47 ¶ | skipping to change at page 5, line 47 ¶ | |||
is then set by the neighbor to 2^24-1, it will cause | is then set by the neighbor to 2^24-1, it will cause | |||
traffic to stop using, rather than avoid using, the | traffic to stop using, rather than avoid using, the | |||
interface."; | interface."; | |||
reference "RFC8500, Section 2"; | reference "RFC8500, 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."; | |||
container reverse-metric { | uses reverse-metric-data; | |||
description "IS-IS reverse metric data."; | leaf exclude-te-metric { | |||
uses reverse-metric-data; | type boolean; | |||
leaf exclude-te-metric { | default false; | |||
type boolean; | description | |||
default false; | "If true and there is a TE metric defined for this | |||
description | interface then do not send the TE metric sub-TLV in the | |||
"If true and there is a TE metric defined for this | reverse metric TLV."; | |||
interface then do not send the TE metric sub-TLV in the | ||||
reverse metric TLV."; | ||||
reference "RFC8500, Section 2"; | reference "RFC8500, Section 2"; | |||
} | ||||
} | } | |||
} | } | |||
grouping tlv16-reverse-metric { | grouping tlv16-reverse-metric { | |||
description "IS-IS reverse metric TLV data."; | description "IS-IS reverse metric TLV data."; | |||
container reverse-metric { | uses reverse-metric-data; | |||
description "IS-IS reverse metric TLV data."; | leaf te-metric { | |||
uses reverse-metric-data; | type uint32; | |||
leaf te-metric { | description | |||
type uint32; | "The TE metric value from the sub-TLV if present."; | |||
description | reference "RFC8500, Section 2"; | |||
"The TE metric value from the sub-TLV if present."; | ||||
reference "RFC8500, 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 routing protocol instance | |||
type is 'isis'."; | type is 'isis'."; | |||
skipping to change at page 7, line 21 ¶ | skipping to change at page 7, line 14 ¶ | |||
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 routing protocol instance | |||
type is 'isis'."; | 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 "Announce a reverse metric to neighbors."; | description | |||
uses reverse-metric-if-config-data; | "Announce a reverse metric to neighbors. The configuration | |||
is hierarchical and follows the same behavior as defined | ||||
for 'Per-Level' values in the augmented base module. | ||||
Reverse metric operation is enabled by the configuration of | ||||
a reverse-metric metric value at either the top level or | ||||
under a level-specific container node. If a reverse-metric | ||||
metric value is only specified under a level-specific | ||||
container node then operation is only enabled at the | ||||
specified level. | ||||
As the reverse metric is advertised in IIH PDUs, level | ||||
specific configuration is only available for broadcast | ||||
interface types"; | ||||
uses reverse-metric-if-config-data { | ||||
refine "flags/whole-lan" { | ||||
default false; | ||||
} | ||||
refine "flags/allow-unreachable" { | ||||
default false; | ||||
} | ||||
} | ||||
container level-1 { | container level-1 { | |||
when '../../isis:interface-type = "broadcast"'; | ||||
description | description | |||
"Announce a reverse metric to level-1 neighbors."; | "Announce 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"'; | ||||
description | description | |||
"Announce a reverse metric to level-2 neighbors."; | "Announce 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 routing protocol instance | |||
type is 'isis'"; | type is 'isis'"; | |||
} | } | |||
description | description | |||
"The reverse metric state advertised by an adjacency."; | "The reverse metric state advertised by an adjacency."; | |||
uses tlv16-reverse-metric; | container reverse-metric { | |||
description "IS-IS reverse metric TLV data."; | ||||
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 | |||
skipping to change at page 8, line 52 ¶ | skipping to change at page 9, line 23 ¶ | |||
[RFC8446]. | [RFC8446]. | |||
The NETCONF access control model [RFC8341] provides the means to | The NETCONF access control model [RFC8341] provides the means to | |||
restrict access for particular NETCONF or RESTCONF users to a | restrict access for particular NETCONF or RESTCONF users to a | |||
preconfigured subset of all available NETCONF or RESTCONF protocol | preconfigured subset of all available NETCONF or RESTCONF protocol | |||
operations and content. | 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] which | |||
defines the functionality. | defines the functionality as well as [I-D.ietf-isis-yang-isis-cfg]. | |||
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 RFC 8500 functionality and the security considerations of the | |||
functionality are described in RFC 8500. | functionality are described in RFC 8500. | |||
skipping to change at page 9, line 34 ¶ | skipping to change at page 10, line 8 ¶ | |||
"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:exclude-te-metric | - /isis-rmetric:exclude-te-metric | |||
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:level-1/isis-rmetric:reverse-metric" | "isis-rmetric:reverse-metric/" + | |||
"isis-rmetric:level-1/" | ||||
- /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 | |||
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:level-2/isis-rmetric:reverse-metric" | "isis-rmetric:reverse-metric/" + | |||
"isis-rmetric:level-2/" | ||||
- /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 | |||
skipping to change at page 11, line 33 ¶ | skipping to change at page 12, line 14 ¶ | |||
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | |||
and A. Bierman, Ed., "Network Configuration Protocol | and A. Bierman, Ed., "Network Configuration Protocol | |||
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | |||
<https://www.rfc-editor.org/info/rfc6241>. | <https://www.rfc-editor.org/info/rfc6241>. | |||
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | |||
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | |||
<https://www.rfc-editor.org/info/rfc6242>. | <https://www.rfc-editor.org/info/rfc6242>. | |||
[RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG", | ||||
RFC 7951, DOI 10.17487/RFC7951, August 2016, | ||||
<https://www.rfc-editor.org/info/rfc7951>. | ||||
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | |||
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | |||
<https://www.rfc-editor.org/info/rfc8040>. | <https://www.rfc-editor.org/info/rfc8040>. | |||
[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>. | |||
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
<https://www.rfc-editor.org/info/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
Appendix A. Examples | Appendix A. Examples | |||
A.1. Example Enable XML | A.1. Enablement Example using XML YANG Instance Data | |||
Below is an example of XML instance data to enable reverse metric | Below is an example of XML YANG instance data [RFC8342] to enable | |||
processing. | 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> | |||
skipping to change at page 12, line 26 ¶ | skipping to change at page 13, line 26 ¶ | |||
<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. Example Use XML | A.2. Usage Example using XML YANG Instance Data | |||
Below is an example of XML instance data for the ietf-isis-reverse- | Below is an example of XML YANG instance data [RFC8342] for the ietf- | |||
metric module. | 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 13, line 28 ¶ | skipping to change at page 14, line 28 ¶ | |||
<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:interfaces> | <isis:interfaces> | |||
<isis:interface> | <isis:interface> | |||
<isis:name>eth0</isis:name> | <isis:name>eth0</isis:name> | |||
<isis-rmetric:reverse-metric> | <isis-rmetric:reverse-metric> | |||
<isis-rmetric:reverse-metric> | <isis-rmetric:metric> | |||
<isis-rmetric:metric> | 65535 | |||
65535 | </isis-rmetric:metric> | |||
</isis-rmetric:metric> | ||||
</isis-rmetric:reverse-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 ietf-isis-reverse-metric module. | |||
A.3. Example JSON | A.3. Usage Example using JSON YANG Instance Data | |||
Below is an example of JSON instance data for the ietf-isis-reverse- | Below is an example of JSON YANG instance data [RFC7951] for the | |||
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 14, line 30 ¶ | skipping to change at page 15, line 30 ¶ | |||
"ietf-isis:isis": { | "ietf-isis:isis": { | |||
"area-address": [ | "area-address": [ | |||
"00" | "00" | |||
], | ], | |||
"interfaces": { | "interfaces": { | |||
"interface": [ | "interface": [ | |||
{ | { | |||
"name": "eth0", | "name": "eth0", | |||
"ietf-isis-reverse-metric:reverse-metric": { | "ietf-isis-reverse-metric:reverse-metric": { | |||
"level-1": { | "level-1": { | |||
"reverse-metric": { | "metric": 65535, | |||
"metric": 65535, | "exclude-te-metric": true | |||
"exclude-te-metric": true | ||||
} | ||||
} | } | |||
} | } | |||
} | } | |||
] | ] | |||
} | } | |||
} | } | |||
} | } | |||
] | ] | |||
} | } | |||
} | } | |||
End of changes. 31 change blocks. | ||||
73 lines changed or deleted | 95 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/ |