< 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/