| < draft-ietf-netmod-nmda-diff-09.txt | draft-ietf-netmod-nmda-diff-10.txt > | |||
|---|---|---|---|---|
| Network Working Group A. Clemm | Network Working Group A. Clemm | |||
| Internet-Draft Y. Qu | Internet-Draft Y. Qu | |||
| Intended status: Standards Track Futurewei | Intended status: Standards Track Futurewei | |||
| Expires: December 19, 2021 J. Tantsura | Expires: January 13, 2022 J. Tantsura | |||
| Apstra | Apstra | |||
| A. Bierman | A. Bierman | |||
| YumaWorks | YumaWorks | |||
| June 17, 2021 | July 12, 2021 | |||
| Comparison of NMDA datastores | Comparison of NMDA datastores | |||
| draft-ietf-netmod-nmda-diff-09 | draft-ietf-netmod-nmda-diff-10 | |||
| Abstract | Abstract | |||
| This document defines an RPC operation to compare management | This document defines an RPC operation to compare management | |||
| datastores that comply with the NMDA architecture. | datastores that comply with the NMDA architecture. | |||
| 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. | |||
| skipping to change at page 1, line 35 ¶ | skipping to change at page 1, line 35 ¶ | |||
| 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 December 19, 2021. | This Internet-Draft will expire on January 13, 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 | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 23 ¶ | skipping to change at page 2, line 23 ¶ | |||
| 5. YANG Data Model . . . . . . . . . . . . . . . . . . . . . . . 6 | 5. YANG Data Model . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 6. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 6. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 7. Performance Considerations . . . . . . . . . . . . . . . . . 14 | 7. Performance Considerations . . . . . . . . . . . . . . . . . 14 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 8.1. Updates to the IETF XML Registry . . . . . . . . . . . . 15 | 8.1. Updates to the IETF XML Registry . . . . . . . . . . . . 15 | |||
| 8.2. Updates to the YANG Module Names Registry . . . . . . . . 15 | 8.2. Updates to the YANG Module Names Registry . . . . . . . . 15 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | |||
| 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 | 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 11.1. Normative References . . . . . . . . . . . . . . . . . . 16 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 16 | |||
| 11.2. Informative References . . . . . . . . . . . . . . . . . 17 | 11.2. Informative References . . . . . . . . . . . . . . . . . 18 | |||
| Appendix A. Possible Future Extensions . . . . . . . . . . . . . 18 | Appendix A. Possible Future Extensions . . . . . . . . . . . . . 18 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 1. Introduction | 1. Introduction | |||
| The revised Network Management Datastore Architecture (NMDA) | The revised Network Management Datastore Architecture (NMDA) | |||
| [RFC8342] introduces a set of new datastores that each hold YANG- | [RFC8342] introduces a set of new datastores that each hold YANG- | |||
| defined data [RFC7950] and represent a different "viewpoint" on the | defined data [RFC7950] and represent a different "viewpoint" on the | |||
| data that is maintained by a server. New YANG datastores that are | data that is maintained by a server. New YANG datastores that are | |||
| introduced include <intended>, which contains validated configuration | introduced include <intended>, which contains validated configuration | |||
| skipping to change at page 6, line 40 ¶ | skipping to change at page 6, line 40 ¶ | |||
| +--ro target target-resource-offset | +--ro target target-resource-offset | |||
| +--ro point? target-resource-offset | +--ro point? target-resource-offset | |||
| +--ro where? enumeration | +--ro where? enumeration | |||
| +--ro value? | +--ro value? | |||
| +--ro source-value? | +--ro source-value? | |||
| Structure of ietf-nmda-compare | Structure of ietf-nmda-compare | |||
| 5. YANG Data Model | 5. YANG Data Model | |||
| <CODE BEGINS> file "ietf-nmda-compare@2021-06-17.yang" | <CODE BEGINS> file "ietf-nmda-compare@2021-07-12.yang" | |||
| module ietf-nmda-compare { | module ietf-nmda-compare { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-nmda-compare"; | namespace "urn:ietf:params:xml:ns:yang:ietf-nmda-compare"; | |||
| prefix cmp; | prefix cmp; | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix yang; | prefix yang; | |||
| reference "RFC 6991: Common YANG Data Types"; | reference "RFC 6991: Common YANG Data Types"; | |||
| skipping to change at page 7, line 49 ¶ | skipping to change at page 7, line 49 ¶ | |||
| 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 | This version of this YANG module is part of | |||
| draft-ietf-netmod-nmda-diff-09; see the RFC itself for full | draft-ietf-netmod-nmda-diff-10; see the RFC itself for full | |||
| legal notices. | legal notices. | |||
| NOTE TO RFC EDITOR: Please replace above reference to | NOTE TO RFC EDITOR: Please replace above reference to | |||
| draft-ietf-netmod-nmda-diff-09 with RFC number when published | draft-ietf-netmod-nmda-diff-10 with RFC number when published | |||
| (i.e. RFC xxxx)."; | (i.e. RFC xxxx)."; | |||
| revision 2021-06-17 { | revision 2021-07-12 { | |||
| description | description | |||
| "Initial revision. | "Initial revision. | |||
| NOTE TO RFC EDITOR: | NOTE TO RFC EDITOR: | |||
| (1)Please replace the above revision date to | (1)Please replace the above revision date to | |||
| the date of RFC publication when published. | the date of RFC publication when published. | |||
| (2) Please replace the date in the file name | (2) Please replace the date in the file name | |||
| (ietf-nmda-compare@2021-06-17.yang) to the date of RFC | (ietf-nmda-compare@2021-07-12.yang) to the date of RFC | |||
| publication. | publication. | |||
| (3) Please replace the following reference to | (3) Please replace the following reference to | |||
| draft-ietf-netmod-nmda-diff-09 with RFC number when published | draft-ietf-netmod-nmda-diff-10 with RFC number when published | |||
| (i.e. RFC xxxx)."; | (i.e. RFC xxxx)."; | |||
| reference | reference | |||
| "draft-ietf-netmod-nmda-diff-09: Comparison of NMDA | "draft-ietf-netmod-nmda-diff-10: Comparison of NMDA | |||
| datastores"; | datastores"; | |||
| } | } | |||
| /* RPC */ | /* RPC */ | |||
| rpc compare { | rpc compare { | |||
| description | description | |||
| "NMDA datastore compare operation."; | "NMDA datastore compare operation."; | |||
| input { | input { | |||
| leaf source { | leaf source { | |||
| type identityref { | type identityref { | |||
| skipping to change at page 13, line 44 ¶ | skipping to change at page 13, line 44 ¶ | |||
| </edit> | </edit> | |||
| </yang-patch> | </yang-patch> | |||
| </differences> | </differences> | |||
| </rpc-reply> | </rpc-reply> | |||
| The same request in RESTCONF (using JSON format): | The same request in RESTCONF (using JSON format): | |||
| POST /restconf/operations/ietf-nmda-compare:compare HTTP/1.1 | POST /restconf/operations/ietf-nmda-compare:compare HTTP/1.1 | |||
| Host: example.com | Host: example.com | |||
| Content-Type: application/yang-data+json | Content-Type: application/yang-data+json | |||
| Accept: application/yang-d | Accept: application/yang-data+json | |||
| { "ietf-nmda-compare:input" { | { "ietf-nmda-compare:input" { | |||
| "source" : "ietf-datastores:operational", | "source" : "ietf-datastores:operational", | |||
| "target" : "ietf-datastores:intended", | "target" : "ietf-datastores:intended", | |||
| "report-origin" : null, | "report-origin" : null, | |||
| "xpath-filter" : "/ietf-interfaces:interfaces" | "xpath-filter" : "/ietf-interfaces:interfaces" | |||
| } | } | |||
| } | } | |||
| The same response in RESTCONF (using JSON format): | The same response in RESTCONF (using JSON format): | |||
| HTTP/1.1 200 OK | HTTP/1.1 200 OK | |||
| Date: Thu, 26 Jan 2019 20:56:30 GMT | Date: Thu, 26 Jan 2019 20:56:30 GMT | |||
| Server: example-server | Server: example-server | |||
| Content-Type: application/yang-d | Content-Type: application/yang-data+json | |||
| { "ietf-nmda-compare:output" : { | { "ietf-nmda-compare:output" : { | |||
| "differences" : { | "differences" : { | |||
| "ietf-yang-patch:yang-patch" : { | "ietf-yang-patch:yang-patch" : { | |||
| "patch-id" : "interface status", | "patch-id" : "interface status", | |||
| "comment" : "diff between intended (source) and operational", | "comment" : "diff between intended (source) and operational", | |||
| "edit" : [ | "edit" : [ | |||
| { | { | |||
| "edit-id" : "1", | "edit-id" : "1", | |||
| "operation" : "replace", | "operation" : "replace", | |||
| "target" : "/ietf-interfaces:interface=eth0/enabled", | "target" : "/ietf-interfaces:interface=eth0/enabled", | |||
| skipping to change at page 15, line 9 ¶ | skipping to change at page 15, line 9 ¶ | |||
| responsible client applications are expected to use the operation | responsible client applications are expected to use the operation | |||
| responsibly and sparingly only when warranted, implementations need | responsibly and sparingly only when warranted, implementations need | |||
| to be aware of the fact that excessive invocation of this operation | to be aware of the fact that excessive invocation of this operation | |||
| will burden system resources and need to ensure that system | will burden system resources and need to ensure that system | |||
| performance will not be adversely impacted. One possibility for an | performance will not be adversely impacted. One possibility for an | |||
| implementation to mitigate against such a possibility is to limit the | implementation to mitigate against such a possibility is to limit the | |||
| number of requests that is served to a client, or to any number of | number of requests that is served to a client, or to any number of | |||
| clients, in any one time interval, rejecting requests made at a | clients, in any one time interval, rejecting requests made at a | |||
| higher frequency than the implementation can reasonably sustain. | higher frequency than the implementation can reasonably sustain. | |||
| While useful, tools such as YANG Data Models that allow for the | ||||
| monitoring of server resources, system performance, and statistics | ||||
| about RPCs and RPC rates are outside the scope of this document. | ||||
| When defined, any such model should be general in nature and not | ||||
| limited to the RPC operation defined in this document. | ||||
| 8. IANA Considerations | 8. IANA Considerations | |||
| 8.1. Updates to the IETF XML Registry | 8.1. Updates to the IETF XML Registry | |||
| This document registers one URI in the IETF XML registry [RFC3688]. | This document registers one URI in the IETF XML registry [RFC3688]. | |||
| Following the format in [RFC3688], the following registration is | Following the format in [RFC3688], the following registration is | |||
| requested: | requested: | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-nmda-compare | URI: urn:ietf:params:xml:ns:yang:ietf-nmda-compare | |||
| skipping to change at page 15, line 35 ¶ | skipping to change at page 15, line 41 ¶ | |||
| This document registers a YANG module in the YANG Module Names | This document registers a 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 is requested: | registration is requested: | |||
| name: ietf-nmda-compare | name: ietf-nmda-compare | |||
| namespace: urn:ietf:params:xml:ns:yang:ietf-nmda-compare | namespace: urn:ietf:params:xml:ns:yang:ietf-nmda-compare | |||
| prefix: cmp | prefix: cmp | |||
| reference: draft-ietf-netmod-nmda-diff-09 (RFC form) | reference: draft-ietf-netmod-nmda-diff-10 (RFC form) | |||
| 9. Security Considerations | 9. 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]. | |||
| End of changes. 16 change blocks. | ||||
| 15 lines changed or deleted | 21 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/ | ||||