draft-ietf-lsr-yang-isis-reverse-metric-00.txt | draft-ietf-lsr-yang-isis-reverse-metric-01.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 22 January 2020 | Intended status: Standards Track 28 July 2020 | |||
Expires: 25 July 2020 | Expires: 29 January 2021 | |||
YANG Module for IS-IS Reverse Metric | YANG Module for IS-IS Reverse Metric | |||
draft-ietf-lsr-yang-isis-reverse-metric-00 | draft-ietf-lsr-yang-isis-reverse-metric-01 | |||
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 25 July 2020. | This Internet-Draft will expire on 29 January 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 2, line 13 ¶ | skipping to change at page 2, line 13 ¶ | |||
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 . . . . . . . . . . . . . . . . . . . . . 7 | |||
3.1. Updates to the IETF XML Registry . . . . . . . . . . . . 7 | 3.1. Updates to the IETF XML Registry . . . . . . . . . . . . 7 | |||
3.2. Updates to the YANG Module Names Registry . . . . . . . . 7 | 3.2. Updates to the YANG Module Names Registry . . . . . . . . 8 | |||
4. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | |||
5. Normative References . . . . . . . . . . . . . . . . . . . . 8 | 5. Normative References . . . . . . . . . . . . . . . . . . . . 10 | |||
6. Informative References . . . . . . . . . . . . . . . . . . . 9 | 6. Informative References . . . . . . . . . . . . . . . . . . . 11 | |||
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 9 | Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 11 | |||
A.1. Example Enable XML . . . . . . . . . . . . . . . . . . . 9 | A.1. Example Enable XML . . . . . . . . . . . . . . . . . . . 11 | |||
A.2. Example Use XML . . . . . . . . . . . . . . . . . . . . . 10 | A.2. Example Use XML . . . . . . . . . . . . . . . . . . . . . 12 | |||
A.3. Example JSON . . . . . . . . . . . . . . . . . . . . . . 11 | A.3. Example JSON . . . . . . . . . . . . . . . . . . . . . . 13 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 12 | 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 the intermediate system to intermediate system routeing | |||
protocol (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 | |||
skipping to change at page 3, line 47 ¶ | skipping to change at page 3, line 47 ¶ | |||
+--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]. | metric functionality defined in [RFC8500]. It imports modules from | |||
the following RFCs: [RFC8349], [I-D.ietf-isis-yang-isis-cfg]. | ||||
<CODE BEGINS> file "ietf-isis-reverse-metric@2020-01-22.yang" | <CODE BEGINS> file "ietf-isis-reverse-metric@2020-07-28.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 { prefix "rt"; } | import ietf-routing { | |||
import ietf-isis { prefix "isis"; } | prefix rt; | |||
reference | ||||
"RFC8349: A YANG Data Model for Routing Management (NMDA Version)"; | ||||
} | ||||
import ietf-isis { | ||||
prefix isis; | ||||
reference | ||||
"draft-ietf-isis-yang-isis-cfg-42: | ||||
YANG Data Model for IS-IS Protocol"; | ||||
} | ||||
organization | organization | |||
"IETF LSR Working Group (LSR)"; | "IETF LSR Working Group (LSR)"; | |||
contact | contact | |||
"WG Web: <https://tools.ietf.org/wg/lsr/> | "WG Web: <https://tools.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>"; | |||
skipping to change at page 4, line 45 ¶ | 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-01-22 { | revision 2020-07-28 { | |||
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"; | ||||
} | } | |||
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 this | |||
reverse metric will add the metric value to all the nodes it | reverse metric will add the metric value to all the nodes it | |||
advertises in the pseudo-node LSP for this interface. | advertises in the pseudo-node LSP for this interface. | |||
Otherwise it will only increment the metric for the | Otherwise it will only increment the metric for the | |||
advertising node in the pseudo-node LSP for this interface."; | advertising node in the pseudo-node LSP for this interface."; | |||
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 rather | |||
than the lesser maximum of 2^24-2, and if done will cause | than the lesser maximum of 2^24-2, and if done will cause | |||
traffic to stop using rather than avoid using the interface."; | traffic to stop using rather than avoid using the interface."; | |||
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; | |||
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 TE metric sub-TLV in the | |||
reverse metric TLV."; | reverse metric TLV."; | |||
reference "RFC8500, Section 3.5"; | ||||
} | } | |||
} | } | |||
} | } | |||
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"; | ||||
} | } | |||
} | } | |||
} | } | |||
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 "../rt:type = 'isis:isis'" { | |||
description | description | |||
"This augment is only valid when routing protocol instance | "This augment is only valid when routing protocol instance | |||
skipping to change at page 7, line 37 ¶ | skipping to change at page 7, line 50 ¶ | |||
<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 Network Configuration Access Control Model (NACM) [RFC8341] | The NETCONF access control model [RFC8341] provides the means to | |||
provides the means to restrict access for particular NETCONF or | restrict access for particular NETCONF or RESTCONF users to a | |||
RESTCONF users to a preconfigured subset of all available NETCONF or | preconfigured subset of all available NETCONF or RESTCONF protocol | |||
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 the [RFC8500] | |||
which defines the functionality. | which defines the functionality. | |||
There are a number of data nodes defined in this YANG module that are | ||||
writable/creatable/deletable (i.e., "config true", which is the | ||||
default). These data nodes may be considered sensitive or vulnerable | ||||
in some network environments. Write operations (e.g., edit-config) | ||||
to these data nodes without proper protection can have a negative | ||||
effect on network operations. | ||||
These are the subtrees and data nodes and their sensitivity/ | ||||
vulnerability: | ||||
Under "/rt:routing/rt:control-plane-protocols/" + | ||||
"rt:control-plane-protocol/isis:isis" | ||||
- /isis-rmetric:reverse-metric/isis-rmetric:enable-receive | ||||
Under "/rt:routing/rt:control-plane-protocols/" + | ||||
"rt:control-plane-protocol/isis:isis/" + | ||||
"isis:interfaces/isis:interface/" + | ||||
"isis-rmetric:reverse-metric" | ||||
- /isis-rmetric:metric | ||||
- /isis-rmetric:flags/isis-rmetric:whole-lan | ||||
- /isis-rmetric:flags/isis-rmetric:allow-unreachable | ||||
- /isis-rmetric:exclude-te-metric | ||||
Under "/rt:routing/rt:control-plane-protocols/" + | ||||
"rt:control-plane-protocol/isis:isis/" + | ||||
"isis:interfaces/isis:interface/" + | ||||
"isis:level-1/isis-rmetric:reverse-metric" | ||||
- /isis-rmetric:metric | ||||
- /isis-rmetric:flags/isis-rmetric:whole-lan | ||||
- /isis-rmetric:flags/isis-rmetric:allow-unreachable | ||||
- /isis-rmetric:exclude-te-metric | ||||
Under "/rt:routing/rt:control-plane-protocols/" + | ||||
"rt:control-plane-protocol/isis:isis/" + | ||||
"isis:interfaces/isis:interface/" + | ||||
"isis:level-2/isis-rmetric:reverse-metric" | ||||
- /isis-rmetric:metric | ||||
- /isis-rmetric:flags/isis-rmetric:whole-lan | ||||
- /isis-rmetric:flags/isis-rmetric:allow-unreachable | ||||
- /isis-rmetric:exclude-te-metric | ||||
Some of the readable data nodes in this YANG module may be considered | ||||
sensitive or vulnerable in some network environments. It is thus | ||||
important to control read access (e.g., via get, get-config, or | ||||
notification) to these data nodes. These are the subtrees and data | ||||
nodes and their sensitivity/vulnerability: | ||||
All nodes are under the following subtree, so that prefix will be | ||||
assume for each node description. | ||||
Under "/rt:routing/rt:control-plane-protocols/" + | ||||
"rt:control-plane-protocol/isis:isis/" + | ||||
"isis:interfaces/isis:interface/" + | ||||
"isis:adjacencies/isis:adjacency/" + | ||||
"isis-rmetric:reverse-metric" | ||||
- /isis-rmetric:metric | ||||
- /isis-rmetric:flags/isis-rmetric:whole-lan | ||||
- /isis-rmetric:flags/isis-rmetric:allow-unreachable | ||||
- /isis-rmetric:te-metric | ||||
5. Normative References | 5. Normative References | |||
[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, | |||
skipping to change at page 9, line 25 ¶ | skipping to change at page 11, line 10 ¶ | |||
[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 | ||||
Routing Management (NMDA Version)", RFC 8349, | ||||
DOI 10.17487/RFC8349, March 2018, | ||||
<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 YANG XML 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 YANG XML data for the ietf-isis-reverse-metric | |||
module. | 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 YANG XML data for the ietf-isis-reverse-metric | |||
module. | 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. 26 change blocks. | ||||
119 lines changed or deleted | 210 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |