draft-ietf-lsr-yang-isis-reverse-metric-03.txt | draft-ietf-lsr-yang-isis-reverse-metric-04.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 5 January 2021 | Intended status: Standards Track 24 October 2021 | |||
Expires: 9 July 2021 | Expires: 27 April 2022 | |||
YANG Module for IS-IS Reverse Metric | YANG Module for IS-IS Reverse Metric | |||
draft-ietf-lsr-yang-isis-reverse-metric-03 | draft-ietf-lsr-yang-isis-reverse-metric-04 | |||
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 the intermediate system to intermediate system | extension to the Intermediate System to Intermediate System intra- | |||
routeing protocol. | 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 | |||
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 9 July 2021. | This Internet-Draft will expire on 27 April 2022. | |||
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 (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 | |||
skipping to change at page 2, line 11 ¶ | skipping to change at page 2, line 11 ¶ | |||
extracted from this document must include Simplified BSD License text | extracted from this document must include Simplified BSD License text | |||
as described in Section 4.e of the Trust Legal Provisions and are | as described in Section 4.e of the Trust Legal Provisions and are | |||
provided without warranty as described in the Simplified BSD License. | provided without warranty as described in the Simplified 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 . . . . . . . . . . . . . . . . . . . . . 7 | 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | |||
3.1. Updates to the IETF XML Registry . . . . . . . . . . . . 7 | 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 . . . . . . . . . . . . . . . . . . . 8 | |||
5. Normative References . . . . . . . . . . . . . . . . . . . . 10 | 5. Normative References . . . . . . . . . . . . . . . . . . . . 10 | |||
6. Informative References . . . . . . . . . . . . . . . . . . . 11 | 6. Informative References . . . . . . . . . . . . . . . . . . . 11 | |||
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 11 | Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 11 | |||
A.1. Example Enable XML . . . . . . . . . . . . . . . . . . . 11 | A.1. Example Enable XML . . . . . . . . . . . . . . . . . . . 11 | |||
A.2. Example Use XML . . . . . . . . . . . . . . . . . . . . . 12 | A.2. Example Use XML . . . . . . . . . . . . . . . . . . . . . 12 | |||
A.3. Example JSON . . . . . . . . . . . . . . . . . . . . . . 13 | A.3. Example JSON . . . . . . . . . . . . . . . . . . . . . . 13 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 14 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
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 the intermediate system to intermediate system routeing | extension to IS-IS [RFC8500], [ISO10589]. Please refer to [RFC8500] | |||
protocol (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]. | |||
2. YANG Management | 2. YANG Management | |||
2.1. YANG Tree | 2.1. YANG Tree | |||
skipping to change at page 4, line 5 ¶ | skipping to change at page 4, line 5 ¶ | |||
| +--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-01-05.yang" | <CODE BEGINS> file "ietf-isis-reverse-metric@2021-10-24.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: A YANG Data Model for Routing Management (NMDA Version)"; | "RFC8349: | |||
A YANG Data Model for Routing Management (NMDA Version)"; | ||||
} | } | |||
import ietf-isis { | import ietf-isis { | |||
prefix isis; | prefix isis; | |||
reference | reference | |||
"draft-ietf-isis-yang-isis-cfg-42: | "draft-ietf-isis-yang-isis-cfg-42: | |||
YANG Data Model for IS-IS Protocol"; | YANG Data Model for IS-IS Protocol"; | |||
} | } | |||
organization | organization | |||
"IETF LSR Working Group (LSR)"; | "IETF LSR Working Group (LSR)"; | |||
skipping to change at page 5, line 5 ¶ | skipping to change at page 5, line 6 ¶ | |||
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://tools.ietf.org/html/rfcXXXX); see the RFC itself for | (https://tools.ietf.org/html/rfcXXXX); see the RFC itself for | |||
full legal notices."; | full legal notices."; | |||
revision 2021-01-05 { | revision 2021-10-24 { | |||
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"; | |||
} | } | |||
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 this | "The 'whole LAN' or W-bit. If true then a DIS processing | |||
reverse metric will add the metric value to all the nodes it | this reverse metric will add the metric value to all the | |||
advertises in the pseudo-node LSP for this interface. | nodes it advertises in the pseudo-node LSP for this | |||
Otherwise it will only increment the metric for the | interface. Otherwise it will only increment the metric | |||
advertising node in the pseudo-node LSP for this interface."; | for the advertising node in the pseudo-node LSP for this | |||
interface."; | ||||
reference "RFC8500, Section 2"; | reference "RFC8500, 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 'allow-unreachable' or U-bit. If true it allows the | |||
neighbor to increment the overall metric up to 2^24-1 rather | neighbor to increment the overall metric up to 2^24-1 | |||
than the lesser maximum of 2^24-2, and if done will cause | rather than the lesser maximum of 2^24-2. If the metric | |||
traffic to stop using rather than avoid using the interface."; | is then set by the neighbor to 2^24-1, it will cause | |||
traffic to stop using, rather than avoid using, the | ||||
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 { | container reverse-metric { | |||
description "IS-IS reverse metric data."; | description "IS-IS reverse metric data."; | |||
uses reverse-metric-data; | uses reverse-metric-data; | |||
skipping to change at page 6, line 17 ¶ | skipping to change at page 6, line 22 ¶ | |||
} | } | |||
} | } | |||
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 { | container 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 "The TE metric value from the sub-TLV if present."; | description | |||
"The TE metric value from the sub-TLV if present."; | ||||
reference "RFC8500, Section 3.5"; | reference "RFC8500, Section 3.5"; | |||
} | } | |||
} | } | |||
} | } | |||
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 | |||
skipping to change at page 6, line 43 ¶ | skipping to change at page 6, line 49 ¶ | |||
"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 | "Enable handling of reverse metric announcements from | |||
neighbors. By default reverse metric handling is disabled | neighbors. By default reverse metric handling is disabled | |||
and must be explicitly enabled through this configuration."; | and must be explicitly enabled through this | |||
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 routing protocol instance | |||
type is 'isis'."; | type is 'isis'."; | |||
skipping to change at page 7, line 16 ¶ | skipping to change at page 7, line 24 ¶ | |||
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 "Announce a reverse metric to neighbors."; | |||
uses reverse-metric-if-config-data; | uses reverse-metric-if-config-data; | |||
container level-1 { | container level-1 { | |||
description "Announce a reverse metric to level-1 neighbors."; | description | |||
"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 { | |||
description "Announce a reverse metric to level-2 neighbors."; | description | |||
"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, '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 state advertised by an adjacency."; | "The reverse metric state advertised by an adjacency."; | |||
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- | URI urn:ietf:params:xml:ns:yang:ietf-isis-reverse-metric | |||
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 | |||
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 XXXX (RFC Ed.: replace XXX with actual RFC number and | reference RFC XXXX (RFC Ed.: replace XXX with actual RFC number and | |||
remove this note.) | 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 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 the [RFC8500] | implications regarding these types of changes consult [RFC8500] which | |||
which defines the functionality. | defines the functionality. | |||
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. | effect on network operations. | |||
These are the subtrees and data nodes and their sensitivity/ | These are the subtrees and data nodes and their sensitivity/ | |||
vulnerability: | vulnerability: | |||
skipping to change at page 9, line 47 ¶ | skipping to change at page 10, line 12 ¶ | |||
- /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 are the subtrees and data | notification) to these data nodes. These are the subtrees and data | |||
nodes and their sensitivity/vulnerability: | nodes and their sensitivity/vulnerability: | |||
All nodes are under the following subtree, so that prefix will be | All nodes are under the following subtree, so that prefix will be | |||
assume for each node description. | assumed for each node description. | |||
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 | |||
[I-D.ietf-isis-yang-isis-cfg] | ||||
Litkowski, S., Yeung, D., Lindem, A., Zhang, Z., and L. | ||||
Lhotka, "YANG Data Model for IS-IS Protocol", draft-ietf- | ||||
isis-yang-isis-cfg-42 (work in progress), 15 October 2019, | ||||
<https://www.ietf.org/archive/id/draft-ietf-isis-yang- | ||||
isis-cfg-42>. | ||||
[ISO10589] International Organization for Standardization, | [ISO10589] International Organization for Standardization, | |||
"Intermediate system to intermediate system intra-domain- | "Intermediate System to Intermediate System intra-domain | |||
routing routine information exchange protocol for use in | 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)", | connectionless-mode network service (ISO 8473)", ISO | |||
ISO Standard 10589, 1992. | Standard 10589:2002, 2002. | |||
[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>. | |||
skipping to change at page 11, line 28 ¶ | skipping to change at page 11, line 32 ¶ | |||
<https://www.rfc-editor.org/info/rfc8349>. | <https://www.rfc-editor.org/info/rfc8349>. | |||
[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>. | |||
[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] | ||||
Litkowski, S., Yeung, D., Lindem, A., Zhang, J., and L. | ||||
Lhotka, "YANG Data Model for IS-IS Protocol", Work in | ||||
Progress, Internet-Draft, draft-ietf-isis-yang-isis-cfg- | ||||
42, 15 October 2019, <https://tools.ietf.org/html/draft- | ||||
ietf-isis-yang-isis-cfg-42>. | ||||
6. Informative References | 6. 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>. | |||
Appendix A. Examples | Appendix A. Examples | |||
A.1. Example Enable XML | A.1. Example Enable XML | |||
Below is an example of XML instance data to enable reverse metric | Below is an example of XML instance data to enable reverse metric | |||
processing. | 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. Example Use XML | A.2. Example Use XML | |||
Below is an example of XML instance data for the ietf-isis-reverse- | Below is an example of XML instance data for the ietf-isis-reverse- | |||
metric module. | 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 | |||
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: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: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-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. Example JSON | |||
Below is an example of JSON instance data for the ietf-isis-reverse- | Below is an example of JSON instance data for the ietf-isis-reverse- | |||
metric module. | metric module. | |||
{ | { | |||
"ietf-interfaces:interfaces": { | "ietf-interfaces:interfaces": { | |||
"interface": [ | "interface": [ | |||
{ | { | |||
"name": "eth0", | "name": "eth0", | |||
"type": "iana-if-type:ethernetCsmacd" | "type": "iana-if-type:ethernetCsmacd" | |||
} | } | |||
] | ] | |||
}, | }, | |||
"ietf-routing:routing": { | "ietf-routing:routing": { | |||
"control-plane-protocols": { | "control-plane-protocols": { | |||
"control-plane-protocol": [ | "control-plane-protocol": [ | |||
{ | { | |||
"type": "ietf-isis:isis", | "type": "ietf-isis:isis", | |||
"name": "default", | "name": "default", | |||
"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": { | "reverse-metric": { | |||
"metric": 65535, | "metric": 65535, | |||
"exclude-te-metric": true | "exclude-te-metric": true | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
] | ] | |||
} | } | |||
} | } | |||
} | } | |||
] | ] | |||
} | } | |||
} | } | |||
} | } | |||
Figure 3: Example JSON data for level-1 only reverse metric. | Figure 3: Example JSON data for 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. 31 change blocks. | ||||
139 lines changed or deleted | 147 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/ |