idnits 2.17.1 draft-wu-netconf-base-notification-nmda-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 8 instances of too long lines in the document, the longest one being 37 characters in excess of 72. ** The abstract seems to contain references ([I-D.ietf-netmod-revised-datastores], [RFC6470]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. -- The abstract seems to indicate that this document updates RFC6470, but the header doesn't have an 'Updates:' line to match this. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 3, 2018) is 2245 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC8174' is mentioned on line 108, but not defined == Missing Reference: 'RFC7950' is mentioned on line 420, but not defined == Unused Reference: 'RFC6020' is defined on line 463, but no explicit reference was found in the text == Unused Reference: 'RFC6021' is defined on line 468, but no explicit reference was found in the text == Outdated reference: A later version (-25) exists of draft-ietf-netconf-yang-push-15 ** Obsolete normative reference: RFC 6021 (Obsoleted by RFC 6991) Summary: 3 errors (**), 0 flaws (~~), 6 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 NETCONF Working Group Q. Wu 3 Internet-Draft X. Ding 4 Intended status: Standards Track Huawei 5 Expires: September 4, 2018 March 3, 2018 7 NETCONF Base Notifications for NMDA 8 draft-wu-netconf-base-notification-nmda-00 10 Abstract 12 NMDA introduces additional datastores for systems that support more 13 advanced processing chains converting configuration to operational 14 state. Support the monitoring of the base system events pertaining 15 to these datatores hasn't been discussed in Network Configuration 16 Protocol (NETCONF) Base Notifications [RFC6470]. This document 17 updates [RFC6470] to support the Network Management Datastore 18 Architecture (NMDA) defined in [I-D.ietf-netmod-revised-datastores]. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at https://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on September 4, 2018. 37 Copyright Notice 39 Copyright (c) 2018 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (https://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 56 2. Summary of Updates to RFC 6470 . . . . . . . . . . . . . . . 3 57 3. NETCONF Base Notifications YANG Model extension for NMDA . . 3 58 3.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . 3 59 3.2. Definitions . . . . . . . . . . . . . . . . . . . . . . . 5 60 4. Security Considerations . . . . . . . . . . . . . . . . . . . 8 61 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 62 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 63 7. Normative References . . . . . . . . . . . . . . . . . . . . 10 64 Appendix A. Appendix . . . . . . . . . . . . . . . . . . . . . . 11 65 A.1. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 11 66 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 68 1. Introduction 70 [RFC6470] provides standard mechanisms to support the monitoring of 71 the base system events within the NETCONF server. Such mechanism 72 allows a NETCONF client to receive notifications for some common 73 system events (e.g., a change in NETCONF server capabilities, that 74 may impact management applications.). 76 This document updates Network Configuration Protocol (NETCONF) Base 77 Notifications [RFC6470] to support the Network Management Datastore 78 Architecture (NMDA) defined in [I-D.ietf-netmod-revised-datastores]. 79 Specifically, with NMDA, there are several additional datastores that 80 are subject to system events. Extensions are needed to indicate the 81 affected datastore and affected phase (because it is no longer simply 82 about ; there are now also (for example) and 83 ). 85 The solution presented in this document is backwards compatible with 86 [RFC6470]. This is achieved by only adding new top-level resources, 87 and thereby leaving the semantics of all existing resources alone. 89 Note that "push-change-update" notification and "push-update" 90 notification defined in [I-D.ietf-netconf-yang-push] are not general 91 purpose notifications. and used to send to the receivers of a 92 subscription entire or a portion of datastore contents. The solution 93 presented in this document can work together with "push-change- 94 update" notification and "push-update" notification defined in [I- 95 D.ietf-netconf-yang-push] to indicate to yang push client fine 96 granularity of data change metadata properties (e.g. who made 97 configuration changes, identify specific location of configuration 98 changes or phase of configuration changes) pertaining to multiple 99 subscriptions of the same receivers. 101 1.1. Terminology 103 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 104 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 105 "OPTIONAL" in this document are to be interpreted as described in BCP 106 14 [RFC2119] [RFC8174] when, and only when, they appear in all 107 capitals, as shown here. 109 The following terms are defined in [I-D.ietf-netmod-revised- 110 datastores] and are not redefined here: 112 o operational state datastore 114 o running configuration datastore 116 o intended configuration datastore 118 2. Summary of Updates to RFC 6470 120 This document is intended to provide an extension of notifications 121 initially defined within [RFC6470], with the development of NMDA 122 architcture and data model. Key relationships between these two 123 documents include: 125 o the existing notifications defined in [RFC6470] are remain 126 unchanged, no additional information is added. 128 o an extra event notification is defined in this document to 129 overcome the shortcoming of [RFC6470] for supporting NMDA. 131 3. NETCONF Base Notifications YANG Model extension for NMDA 133 3.1. Overview 135 The YANG module in NETCONF Base Notifications [RFC6470] specifies the 136 following 5 event notifications for the 'NETCONF' stream to notify a 137 client application that the NETCONF server state has changed: 139 o netconf-config-change 141 o netconf-capability-change 143 o netconf-session-start 144 o netconf-session-end 146 o netconf-confirmed-commit 148 These event notifications used within the 'NETCONF' stream are 149 accessible to clients via the subscription mechanism described in 150 [RFC5277]. 152 This document extends the YANG module defined in [RFC6470] to include 153 NMDA specific extension which allows a NETCONF client to receive 154 notifications for additional common system event as follows: 156 netconf-data-change: 158 Generated when the NETCONF server detects that the conventional 159 configuration datastore or 'config true' objects in the 160 operational state datastore has been changed by a management 161 session. The notification summarizes the edits that have been 162 detected. 164 The following is an example of a netconf-data-change notification 165 message: 167 168 2017-06-16T16:30:59.137045+09:00 169 170 171 admin 172 0 173 10.251.93.83 174 175 operational 176 177 /ietf-interfaces:interfaces/ietf-interfaces:statistics 178 create 179 default 180 inactive 181 182 183 /ietf-interfaces:interfaces/ietf-interfaces:statistics/ietf-interfaces:in-octets 184 merge 185 system 186 in-use 187 188 189 190 3.2. Definitions 192 This section presents the YANG module defined in this document. 194 file "ietf-netconf-notifications-nmda@2018-02-01.yang" 195 module ietf-netconf-notifications-nmda { 196 namespace "urn:ietf:params:xml:ns:yang:ietf-netconf-notifications-nmda"; 197 prefix ncdn; 199 import ietf-netconf { 200 prefix nc; 201 } 202 import ietf-datastores { 203 prefix ds; 204 } 205 import ietf-origin { 206 prefix or; 207 } 208 import ietf-netconf-notifications { 209 prefix ncn; 210 } 212 organization 213 "IETF NETCONF (Network Configuration Protocol) Working Group"; 214 contact 215 "WG Web: 216 WG List: 218 WG Chair: Kent Watsen 219 221 WG Chair: Mahesh Jethanandani 222 224 Editor: Qin Wu 225 227 Editor: Xiaojian Ding 228 "; 229 description 230 "This module defines a YANG data model for use with the 231 NETCONF protocol that allows the NETCONF client to 232 receive additional common NETCONF base event notifications 233 related to NMDA. 235 Copyright (c) 2012 IETF Trust and the persons identified as 236 the document authors. All rights reserved. 238 Redistribution and use in source and binary forms, with or 239 without modification, is permitted pursuant to, and subject 240 to the license terms contained in, the Simplified BSD License 241 set forth in Section 4.c of the IETF Trust's Legal Provisions 242 Relating to IETF Documents 243 (http://trustee.ietf.org/license-info). 245 This version of this YANG module is part of RFC xxxx; see 246 the RFC itself for full legal notices."; 248 revision 2018-02-01 { 249 description 250 "Initial version."; 251 reference "RFC xxx: NETCONF Base Notifications for NMDA"; 252 } 253 identity change-phase { 254 description 255 "Base identity for change phanse."; 256 } 258 identity inactive { 259 base change-phase; 260 description 261 "Identity for inactive data.It is referred to as 262 configuration that is not currently used."; 263 } 265 identity in-use { 266 base change-phase; 267 description 268 "Identity for the in use data. It is referred to as 269 configuration that is actively used."; 270 } 272 identity Remnant { 273 base in-use; 274 description 275 "Identity for the remnant configuration. It indicates that 276 both the previous and current configuration coexist."; 277 } 279 identity miss-resource { 280 base in-use; 281 description 282 "Identity for the missing resource.It indicates that 283 Configuration in can refer to resources that are not 284 available or otherwise not physically present and parts of 285 are not applied."; 287 } 289 identity sys-resource { 290 base in-use; 291 description 292 "Identity for the system congtrolled resource.It indicates that 293 a system controlled resource has matching configuration in 294 ."; 295 } 296 notification netconf-data-change { 297 description 298 "Generated when the NETCONF server detects that the 299 datastore or conventional configuration datastore 300 has been changed by a management session. 301 The notification summarizes the edits that 302 have been detected. 304 The server MAY choose to also generate this 305 notification while loading a datastore during the 306 boot process for the device."; 307 uses ncn:changed-by-parms; 308 leaf datastore { 309 type identityref { 310 base ds:datastore; 311 } 312 default "ds:operational"; 313 description 314 "Indicates which datastore has changed or which datastore is 315 target of edit-data operation."; 316 } 318 list edit { 319 description 320 "An edit record SHOULD be present for each distinct 321 edit operation that the server has detected on 322 the target datastore. This list MAY be omitted 323 if the detailed edit operations are not known. 324 The server MAY report entries in this list for 325 changes not made by a NETCONF session (e.g., CLI)."; 326 leaf target { 327 type instance-identifier; 328 description 329 "Topmost node associated with the configuration change. 330 A server SHOULD set this object to the node within 331 the datastore that is being altered. A server MAY 332 set this object to one of the ancestors of the actual 333 node that was changed, or omit this object, if the 334 exact node is not known."; 336 } 337 leaf origin { 338 type identityref { 339 base or:origin; 340 } 341 description 342 "Indicate origin that most accurately reflects the source of the 343 configuration that is in use by the system."; 344 } 345 leaf current-phase { 346 type identityref { 347 base change-phase; 348 } 349 description 350 "Indicate the current phase of the datastore or 351 conventional configuration datastore change, e.g.,the intended 352 datastore is validating, the intended datastore is validated, 353 the configuration is applying, the configuration is applied."; 354 } 355 leaf operation { 356 type nc:edit-operation-type; 357 description 358 "Type of edit operation performed. 359 A server MUST set this object to the NETCONF edit 360 operation performed on the target datastore."; 361 } 362 } 363 } 364 } 365 367 4. Security Considerations 369 The YANG module defined in this memo is designed to be accessed via 370 the NETCONF protocol [RFC6241]. The lowest NETCONF layer is the 371 secure transport layer and the mandatory-to-implement secure 372 transport is SSH, defined in [RFC6242]. 374 Some of the readable data nodes in this YANG module may be considered 375 sensitive or vulnerable in some network environments. It is thus 376 important to control read access (e.g., via get, get-config, get-data 377 or notification) to these data nodes. These are the subtrees and 378 data nodes and their sensitivity/vulnerability: 380 /netconf-data-change: 382 Event type itself indicates that the system configuration has 383 changed. This event could alert an attacker that specific 384 configuration data nodes have been altered. 386 /netconf-data-change/changed-by: 388 Indicates whether the server or a specific user management session 389 made the configuration change. Identifies the user name, session- 390 id, and source host address associated with the configuration 391 change, if any. 393 /netconf-data-change/datastore: 395 Indicates which datastore has been changed. This data can be used 396 to determine if the running configuration data, the intended 397 configuration data or the operational state datastore data has 398 been changed. 400 /netconf-data-change/edit: 402 Identifies the specific edit operations and specific datastore 403 subtree(s), specific source of configuration that have changed. 404 the current stage of the datastore change(e.g.,inactive, in use or 405 remnant). This data could be used to determine if specific server 406 vulnerabilities may now be present. 408 5. IANA Considerations 410 This document registers one XML namespace URN in the 'IETF XML 411 registry', following the format defined in [RFC3688]: 413 URI: urn:ietf:params:xml:ns:yang:ietf-netconf-notifications-nmda 415 Registrant Contact: The IESG. 417 XML: N/A, the requested URI is an XML namespace. 419 This document registers one module name in the 'YANG Module Names' 420 registry, defined in [RFC7950]: 422 name: ietf-netconf-notifications-nmda 424 prefix: ncdn 426 namespace: urn:ietf:params:xml:ns:yang:ietf-netconf-notifications- 427 nmda 429 RFC: xxxx 431 6. Acknowledgements 433 Thanks to Juergen Schoenwaelder and Alex Clemm to review this draft 434 and provide important input to this document. 436 7. Normative References 438 [I-D.ietf-netconf-yang-push] 439 Clemm, A., Voit, E., Prieto, A., Tripathy, A., Nilsen- 440 Nygaard, E., Bierman, A., and B. Lengyel, "YANG Datastore 441 Subscription", draft-ietf-netconf-yang-push-15 (work in 442 progress), February 2018. 444 [I-D.ietf-netmod-revised-datastores] 445 Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 446 and R. Wilton, "Network Management Datastore 447 Architecture", draft-ietf-netmod-revised-datastores-10 448 (work in progress), January 2018. 450 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 451 Requirement Levels", BCP 14, RFC 2119, 452 DOI 10.17487/RFC2119, March 1997, 453 . 455 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 456 DOI 10.17487/RFC3688, January 2004, 457 . 459 [RFC5277] Chisholm, S. and H. Trevino, "NETCONF Event 460 Notifications", RFC 5277, DOI 10.17487/RFC5277, July 2008, 461 . 463 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 464 the Network Configuration Protocol (NETCONF)", RFC 6020, 465 DOI 10.17487/RFC6020, October 2010, 466 . 468 [RFC6021] Schoenwaelder, J., Ed., "Common YANG Data Types", 469 RFC 6021, DOI 10.17487/RFC6021, October 2010, 470 . 472 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 473 and A. Bierman, Ed., "Network Configuration Protocol 474 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 475 . 477 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 478 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 479 . 481 [RFC6470] Bierman, A., "Network Configuration Protocol (NETCONF) 482 Base Notifications", RFC 6470, DOI 10.17487/RFC6470, 483 February 2012, . 485 Appendix A. Appendix 487 A.1. Tree diagram 489 module: ietf-netconf-notifications 490 notifications: 491 +---n netconf-data-change 492 +--ro changed-by 493 | +--ro (server-or-user) 494 | +--:(server) 495 | | +--ro server? empty 496 | +--:(by-user) 497 | +--ro username string 498 | +--ro session-id nc:session-id-or-zero-type 499 | +--ro source-host? inet:ip-address 500 +--ro datastore? identityref 501 +--ro edit* 502 +--ro target? instance-identifier 503 +--ro origin? 504 +--ro current-phase? 505 +--ro operation? nc:edit-operation-type 507 Authors' Addresses 509 Qin Wu 510 Huawei 511 101 Software Avenue, Yuhua District 512 Nanjing, Jiangsu 210012 513 China 515 Email: bill.wu@huawei.com 517 Xiaojian Ding 518 Huawei 519 101 Software Avenue, Yuhua District 520 Nanjing, Jiangsu 210012 521 China 523 Email: dingxiaojian1@huawei.com