draft-ietf-lsr-yang-isis-reverse-metric-01.txt   draft-ietf-lsr-yang-isis-reverse-metric-02.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 28 July 2020 Intended status: Standards Track 18 December 2020
Expires: 29 January 2021 Expires: 21 June 2021
YANG Module for IS-IS Reverse Metric YANG Module for IS-IS Reverse Metric
draft-ietf-lsr-yang-isis-reverse-metric-01 draft-ietf-lsr-yang-isis-reverse-metric-02
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 the intermediate system to intermediate system
routeing protocol. routeing protocol.
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 29 January 2021. This Internet-Draft will expire on 21 June 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 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 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@2020-07-28.yang" <CODE BEGINS> file "ietf-isis-reverse-metric@2020-12-18.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)";
} }
skipping to change at page 5, line 5 skipping to change at page 5, line 5
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 2020-07-28 { revision 2020-12-18 {
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 6, line 26 skipping to change at page 6, line 26
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 "../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 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.";
skipping to change at page 6, line 51 skipping to change at page 6, line 51
"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 "../../../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 "Announce a reverse metric to neighbors.";
skipping to change at page 7, line 29 skipping to change at page 7, line 29
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 "../../../../../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-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
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].
skipping to change at page 10, line 18 skipping to change at page 10, line 18
"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 routing routine 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 Standard 10589, 1992. ISO Standard 10589, 1992.
[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>.
skipping to change at page 11, line 23 skipping to change at page 11, line 28
<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, Z., 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 YANG XML 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:rm="urn:ietf:params:xml:ns:yang:ietf-isis-reverse-metric"> xmlns:rm="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>
<rm:reverse-metric> <rm:reverse-metric>
<rm:enable-receive>true</rm:enable-receive> <rm:enable-receive>true</rm:enable-receive>
</rm:reverse-metric> </rm: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 YANG XML data for the ietf-isis-reverse-metric Below is an example of XML instance data for the ietf-isis-reverse-
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:rm="urn:ietf:params:xml:ns:yang:ietf-isis-reverse-metric"> xmlns:rm="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>
<rm:reverse-metric> <rm:reverse-metric>
<rm:reverse-metric> <rm:reverse-metric>
<rm:metric> <rm:metric>
65535 65535
</rm:metric> </rm:metric>
</rm:reverse-metric> </rm:reverse-metric>
</rm:reverse-metric> </rm: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 YANG XML data for the ietf-isis-reverse-metric Below is an example of JSON instance data for the ietf-isis-reverse-
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. 21 change blocks. 
117 lines changed or deleted 119 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/