idnits 2.17.1 draft-acee-rtgwg-yang-rib-extend-08.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (August 16, 2018) is 2080 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) ** Obsolete normative reference: RFC 5246 (Obsoleted by RFC 8446) Summary: 1 error (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group A. Lindem 3 Internet-Draft Cisco Systems 4 Intended status: Standards Track Y. Qu 5 Expires: February 17, 2019 Huawei 6 August 16, 2018 8 RIB YANG Data Model 9 draft-acee-rtgwg-yang-rib-extend-08.txt 11 Abstract 13 The Routing Information Base (RIB) is a list of routes and their 14 corresponding administrative data and operational state. 16 RFC 8349 defines the basic building blocks for RIB, and this model 17 augments it to support multiple next-hops (aka, paths) for each route 18 as well as additional attributes. 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 http://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 February 17, 2019. 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 (http://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 2. Terminology and Notation . . . . . . . . . . . . . . . . . . 2 56 2.1. Glossary of New Terms . . . . . . . . . . . . . . . . . . 4 57 2.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4 58 2.3. Prefixes in Data Node Names . . . . . . . . . . . . . . . 4 59 3. Design of the Model . . . . . . . . . . . . . . . . . . . . . 4 60 3.1. RIB Tags and Preference . . . . . . . . . . . . . . . . . 5 61 3.2. Multiple next-hops . . . . . . . . . . . . . . . . . . . 5 62 3.3. Repair path . . . . . . . . . . . . . . . . . . . . . . . 5 63 4. RIB Model Tree . . . . . . . . . . . . . . . . . . . . . . . 5 64 5. RIB YANG Model . . . . . . . . . . . . . . . . . . . . . . . 7 65 6. Security Considerations . . . . . . . . . . . . . . . . . . . 14 66 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 67 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 68 8.1. Normative References . . . . . . . . . . . . . . . . . . 15 69 8.2. Informative References . . . . . . . . . . . . . . . . . 17 70 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 17 71 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 73 1. Introduction 75 This document defines a YANG, [RFC6020], data model which extends the 76 generic data model for RIB by augmenting the ietf-routing model as 77 defined in [RFC8349]. 79 RIB is a collection of best routes from all routing protocols. 80 Within a protocol routes are selected based on the metrics in use by 81 that protocol, and the protocol install its best routes to RIB. RIB 82 selects the best route by comparing the route preference (aka, 83 administrative distance) of the associated protocol. 85 The augmentations described herein extend the RIB to support multiple 86 paths per route, route metrics, and administrative tags. 88 The YANG modules in this document conform to the Network Management 89 Datastore Architecture (NMDA) [RFC8342]. 91 2. Terminology and Notation 93 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 94 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 95 "OPTIONAL" in this document are to be interpreted as described in BCP 96 14 [RFC2119] [RFC8174] when, and only when, they appear in all 97 capitals, as shown here. 99 The following terms are defined in [RFC8342]: 101 o client 103 o server 105 o configuration 107 o system state 109 o operational state 111 o intended configuration 113 The following terms are defined in [RFC7950]: 115 o action 117 o augment 119 o container 121 o container with presence 123 o data model 125 o data node 127 o feature 129 o leaf 131 o list 133 o mandatory node 135 o module 137 o schema tree 139 o RPC (Remote Procedure Call) operation 141 2.1. Glossary of New Terms 143 Routing Information Base (RIB): An object containing a list of 144 routes, together with other information. See [RFC8349] 145 Section 5.2 for details. 147 2.2. Tree Diagrams 149 Tree diagrams used in this document follow the notation defined in 150 [RFC8340]. 152 2.3. Prefixes in Data Node Names 154 In this document, names of data nodes, actions, and other data model 155 objects are often used without a prefix, as long as it is clear from 156 the context in which YANG module each name is defined. Otherwise, 157 names are prefixed using the standard prefix associated with the 158 corresponding YANG module, as shown in Table 1. 160 +--------+---------------------------+-----------+ 161 | Prefix | YANG module | Reference | 162 +--------+---------------------------+-----------+ 163 | if | ietf-interfaces | [RFC8343] | 164 | | | | 165 | rt | ietf-routing | [RFC8349] | 166 | | | | 167 | v4ur | ietf-ipv4-unicast-routing | [RFC8349] | 168 | | | | 169 | v6ur | ietf-ipv6-unicast-routing | [RFC8349] | 170 | | | | 171 | inet | ietf-inet-types | [RFC6991] | 172 +--------+---------------------------+-----------+ 174 Table 1: Prefixes and Corresponding YANG Modules 176 3. Design of the Model 178 The YANG definitions in this document augment the ietf-routing model 179 defined in [RFC8349], which provides a basis for routing system data 180 model development. Together with modules defined in [RFC8349], a 181 generic RIB Yang model is defined to implement and monitor RIB. 183 The models in [RFC8349] also define the basic configuration and 184 operational state for both IPv4 and IPv6 static routes and this 185 document also provides augmentations for static routes to support 186 multiple next-hop and more next-hop attributes. 188 3.1. RIB Tags and Preference 190 Individual routes tags will be supported at both the route and next- 191 hop level. A preference per next-hop is also supported for selection 192 of the most prefered reachable static route. 194 3.2. Multiple next-hops 196 Both Ipv4 and IPv6 static route configuration defined in [RFC8349] 197 have been augmented with a multi-next-hop option. 199 A static route/prefix can be configured to have multiple next-hops, 200 each with their own tag and route preference. 202 In RIB, a route may have multiple next-hops. They can be either 203 equal cost multiple paths (ECMP), or they may have different metrics. 205 3.3. Repair path 207 The loop-free alternate (LFA) Fast Reroute (FRR) pre-computes repair 208 paths by routing protocols, and RIB stores the best repair path. 210 A repair path is augmented in RIB operation state for each path. 212 4. RIB Model Tree 214 A simplified graphical representation of the augmentations described 215 herein is included below. 217 The meaning of the symbols in this diagrams is as follows: 219 o Brackets "[" and "]" enclose list keys. 221 o Curly braces "{" and "}" contain names of optional features that 222 make the corresponding node conditional. 224 o Abbreviations before data node names: "rw" means configuration 225 (read-write), "ro" state data (read-only), "-x" RPC operations, 226 and "-n" notifications. 228 o Symbols after data node names: "?" means an optional node, "!" a 229 container with presence, and "*" denotes a "list" or "leaf-list". 231 o Parentheses enclose choice and case nodes, and case nodes are also 232 marked with a colon (":"). 234 o Ellipsis ("...") stands for contents of subtrees that are not 235 shown. 237 augment /rt:routing/rt:control-plane-protocols 238 /rt:control-plane-protocol/rt:static-routes/v4ur:ipv4 239 /v4ur:route/v4ur:next-hop/v4ur:next-hop-options 240 /v4ur:simple-next-hop: 241 +--rw preference? uint32 242 +--rw tag? uint32 243 +--rw application-tag? uint32 244 augment /rt:routing/rt:control-plane-protocols 245 /rt:control-plane-protocol/rt:static-routes/v4ur:ipv4 246 /v4ur:route/v4ur:next-hop/v4ur:next-hop-options 247 /v4ur:next-hop-list/v4ur:next-hop-list/v4ur:next-hop: 248 +--rw preference? uint32 249 +--rw tag? uint32 250 +--rw application-tag? uint32 251 augment /rt:routing/rt:control-plane-protocols 252 /rt:control-plane-protocol/rt:static-routes/v6ur:ipv6 253 /v6ur:route/v6ur:next-hop/v6ur:next-hop-options 254 /v6ur:simple-next-hop: 255 +--rw preference? uint32 256 +--rw tag? uint32 257 +--rw application-tag? uint32 258 augment /rt:routing/rt:control-plane-protocols 259 /rt:control-plane-protocol/rt:static-routes/v6ur:ipv6 260 /v6ur:route/v6ur:next-hop/v6ur:next-hop-options 261 /v6ur:next-hop-list/v6ur:next-hop-list/v6ur:next-hop: 262 +--rw preference? uint32 263 +--rw tag? uint32 264 +--rw application-tag? uint32 265 augment /rt:routing/rt:ribs/rt:rib: 266 +--ro rib-summary-statistics 267 +--ro total-routes? uint32 268 +--ro total-active-routes? uint32 269 +--ro total-route-memory? uint64 270 +--ro protocol-rib-statistics* [] 271 +--ro rib-protocol? identityref 272 +--ro protocol-total-routes? uint32 273 +--ro protocol-active-routes? uint32 274 +--ro protocol-route-memory? uint64 275 augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route: 276 +--ro metric? uint32 277 +--ro tag? uint32 278 +--ro application-tag? uint32 279 augment /rt:routing/rt:ribs/rt:rib/rt:routes: 280 +--ro repair-route* [id] 281 +--ro id string 282 +--ro next-hop 283 | +--ro outgoing-interface? if:interface-state-ref 284 | +--ro next-hop-address? inet:ip-address 285 +--ro metric? uint32 286 augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route 287 /rt:next-hop/rt:next-hop-options/rt:simple-next-hop: 288 +--ro repair-path? 289 -> /rt:routing/ribs/rib/routes/repair-route/id 290 augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route 291 /rt:next-hop/rt:next-hop-options/rt:special-next-hop: 292 +--ro repair-path? 293 -> /rt:routing/ribs/rib/routes/repair-route/id 294 augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route 295 /rt:next-hop/rt:next-hop-options/rt:next-hop-list 296 /rt:next-hop-list/rt:next-hop: 297 +--ro repair-path? 298 -> /rt:routing/ribs/rib/routes/repair-route/id 300 5. RIB YANG Model 302 file "ietf-rib-extension@2018-08-16.yang" 303 module ietf-rib-extension { 304 yang-version "1.1"; 305 namespace "urn:ietf:params:xml:ns:yang:ietf-rib-extension"; 307 prefix rib-ext; 309 import ietf-inet-types { 310 prefix "inet"; 311 } 313 import ietf-interfaces { 314 prefix "if"; 315 } 317 import ietf-routing { 318 prefix "rt"; 319 } 321 import ietf-ipv4-unicast-routing { 322 prefix "v4ur"; 323 } 325 import ietf-ipv6-unicast-routing { 326 prefix "v6ur"; 327 } 329 organization 330 "IETF RTGWG - Routing Working Group"; 332 contact 333 "WG Web: 334 WG List: 336 Author: Acee Lindem 337 338 Author: Yingzhen Qu 339 "; 341 description 342 "This YANG module extends the generic data model for 343 RIB by augmenting the ietf-netmod-routing-cfg 344 model. It is intended that the module will be extended 345 by vendors to define vendor-specific RIB parameters. 347 This YANG model conforms to the Network Management 348 Datastore Architecture (NDMA) as described in RFC 8242. 350 Copyright (c) 2018 IETF Trust and the persons identified as 351 authors of the code. All rights reserved. 353 Redistribution and use in source and binary forms, with or 354 without modification, is permitted pursuant to, and subject 355 to the license terms contained in, the Simplified BSD License 356 set forth in Section 4.c of the IETF Trust's Legal Provisions 357 Relating to IETF Documents 358 (http://trustee.ietf.org/license-info). 360 This version of this YANG module is part of RFC XXXX; 361 see the RFC itself for full legal notices."; 363 revision 2018-08-01 { 364 description 365 "Initial RFC Version"; 366 reference 367 "RFC XXXX: A YANG Data Model for RIB Extensions."; 368 } 370 /* Groupings */ 371 grouping rib-statistics { 372 description "Statistics grouping used for RIB augmentation"; 373 container rib-summary-statistics { 374 config false; 375 description "Container for RIB statistics"; 376 leaf total-routes { 377 type uint32; 378 description 379 "Total routes in the RIB from all protocols"; 380 } 381 leaf total-active-routes { 382 type uint32; 383 description 384 "Total active routes in the RIB"; 385 } 386 leaf total-route-memory { 387 type uint64; 388 description 389 "Total memory for all routes in the RIB from all 390 protocol clients"; 391 } 392 list protocol-rib-statistics { 393 description "List protocol statistics"; 394 leaf rib-protocol { 395 type identityref { 396 base rt:routing-protocol; 397 } 398 description "Routing protocol for statistics"; 399 } 400 leaf protocol-total-routes { 401 type uint32; 402 description 403 "Total number routes for protocol in the RIB"; 404 } 405 leaf protocol-active-routes { 406 type uint32; 407 description 408 "Number active routes for protocol in the RIB"; 409 } 410 leaf protocol-route-memory { 411 type uint64; 412 description 413 "Total memory for all routes in the RIB for protocol"; 414 } 415 } 416 } 417 } 419 grouping next-hop { 420 description 421 "Next-hop grouping"; 422 leaf interface { 423 type if:interface-ref; 424 description 425 "Outgoing interface"; 426 } 427 leaf address { 428 type inet:ip-address; 429 description 430 "IPv4 or IPv6 Address of the next-hop"; 431 } 432 } 434 grouping attributes { 435 description 436 "Common attributes applicable to all paths"; 437 leaf metric { 438 type uint32; 439 description "Route metric"; 440 } 441 leaf tag { 442 type uint32; 443 description "Route tag"; 444 } 445 leaf application-tag { 446 type uint32; 447 description "Additional Application-Specific Route tag"; 448 } 449 } 450 grouping path-attribute { 451 description 452 "Path attribute grouping"; 453 leaf repair-path { 454 type leafref { 455 path "/rt:routing/rt:ribs/rt:rib/" 456 + "rt:routes/repair-route/id"; 457 } 458 description 459 "IP Fast ReRoute (IPFRR) repair path, use a path 460 from repair-route list"; 461 } 462 } 464 augment "/rt:routing/rt:control-plane-protocols/" 465 + "rt:control-plane-protocol/rt:static-routes/v4ur:ipv4/" 466 + "v4ur:route/v4ur:next-hop/v4ur:next-hop-options/" 467 + "v4ur:simple-next-hop" 468 { 469 description 470 "Augment 'simple-next-hop' case in IPv4 unicast route."; 471 leaf preference { 472 type uint32; 473 default "1"; 474 description "Route preference - Used to select among multiple 475 static routes with a lower preference next-hop 476 preferred and equal preference paths yielding 477 Equal Cost Multi-Path (ECMP)."; 478 } 479 leaf tag { 480 type uint32; 481 default "0"; 482 description "Route tag"; 483 } 484 leaf application-tag { 485 type uint32; 486 description "Additional Application-Specific Route tag"; 487 } 488 } 490 augment "/rt:routing/rt:control-plane-protocols/" 491 + "rt:control-plane-protocol/rt:static-routes/v4ur:ipv4/" 492 + "v4ur:route/v4ur:next-hop/v4ur:next-hop-options/" 493 + "v4ur:next-hop-list/v4ur:next-hop-list/v4ur:next-hop" 494 { 495 description 496 "Augment static route configuration 'next-hop-list'."; 498 leaf preference { 499 type uint32; 500 default "1"; 501 description "Route preference - Used to select among multiple 502 static routes with a lower preference next-hop 503 preferred and equal preference paths yielding 504 Equal Cost Multi-Path (ECMP)."; 505 } 506 leaf tag { 507 type uint32; 508 default "0"; 509 description "Route tag"; 510 } 511 leaf application-tag { 512 type uint32; 513 description "Additional Application-Specific Route tag"; 514 } 515 } 517 augment "/rt:routing/rt:control-plane-protocols/" 518 + "rt:control-plane-protocol/rt:static-routes/v6ur:ipv6/" 519 + "v6ur:route/v6ur:next-hop/v6ur:next-hop-options/" 520 + "v6ur:simple-next-hop" 521 { 522 description 523 "Augment 'simple-next-hop' case in IPv6 unicast route."; 524 leaf preference { 525 type uint32; 526 default "1"; 527 description "Route preference - Used to select among multiple 528 static routes with a lower preference next-hop 529 preferred and equal preference paths yielding 530 Equal Cost Multi-Path (ECMP)."; 531 } 532 leaf tag { 533 type uint32; 534 default "0"; 535 description "Route tag"; 536 } 537 leaf application-tag { 538 type uint32; 539 description "Additional Application-Specific Route tag"; 540 } 541 } 543 augment "/rt:routing/rt:control-plane-protocols/" 544 + "rt:control-plane-protocol/rt:static-routes/v6ur:ipv6/" 545 + "v6ur:route/v6ur:next-hop/v6ur:next-hop-options/" 546 + "v6ur:next-hop-list/v6ur:next-hop-list/v6ur:next-hop" 547 { 548 description 549 "Augment static route configuration 'next-hop-list'."; 551 leaf preference { 552 type uint32; 553 default "1"; 554 description "Route preference - Used to select among multiple 555 static routes with a lower preference next-hop 556 preferred and equal preference paths yielding 557 Equal Cost Multi-Path (ECMP)."; 558 } 559 leaf tag { 560 type uint32; 561 default "0"; 562 description "Route tag"; 563 } 564 leaf application-tag { 565 type uint32; 566 description "Additional Application-Specific Route tag"; 567 } 568 } 570 augment "/rt:routing/rt:ribs/rt:rib" 571 { 572 description "Augment a RIB with statistics"; 573 uses rib-statistics; 574 } 576 augment "/rt:routing/rt:ribs/rt:rib/" 577 + "rt:routes/rt:route" 578 { 579 description 580 "Augment a route in RIB with tag."; 581 uses attributes; 582 } 584 augment "/rt:routing/rt:ribs/rt:rib/" 585 + "rt:routes" 586 { 587 description 588 "Augment a route with a list of repair-paths."; 589 list repair-route { 590 key "id"; 591 description 592 "A repair-path entry, which can be referenced 593 by a repair-path."; 594 leaf id { 595 type string; 596 description 597 "A unique identifier."; 598 } 600 container next-hop { 601 description 602 "Route's next-hop attribute."; 603 leaf outgoing-interface { 604 type if:interface-state-ref; 605 description 606 "Name of the outgoing interface."; 607 } 608 leaf next-hop-address { 609 type inet:ip-address; 610 description 611 "IP address of the next hop."; 612 } 613 } 614 leaf metric { 615 type uint32; 616 description "Route metric"; 617 } 618 } 619 } 620 augment "/rt:routing/rt:ribs/rt:rib/" 621 + "rt:routes/rt:route/rt:next-hop/rt:next-hop-options/" 622 + "rt:simple-next-hop" 623 { 624 description 625 "Add more parameters to a path."; 626 uses path-attribute; 627 } 629 augment "/rt:routing/rt:ribs/rt:rib/" 630 + "rt:routes/rt:route/rt:next-hop/rt:next-hop-options/" 631 + "rt:special-next-hop" 632 { 633 description 634 "Add more parameters to a path."; 635 uses path-attribute; 636 } 638 augment "/rt:routing/rt:ribs/rt:rib/" 639 + "rt:routes/rt:route/rt:next-hop/rt:next-hop-options/" 640 + "rt:next-hop-list/rt:next-hop-list/rt:next-hop" 641 { 642 description 643 "This case augments the 'next-hop-options' in the routing 644 model."; 645 uses path-attribute; 646 } 647 } 648 650 6. Security Considerations 652 The YANG modules specified in this document define a schema for data 653 that is designed to be accessed via network management protocols such 654 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 655 is the secure transport layer, and the mandatory-to-implement secure 656 transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer 657 is HTTPS, and the mandatory-to-implement secure transport is TLS 658 [RFC5246]. 660 The NETCONF access control model [RFC8341] provides the means to 661 restrict access for particular NETCONF or RESTCONF users to a pre- 662 configured subset of all available NETCONF or RESTCONF protocol 663 operations and content. 665 There are a number of data nodes defined in ietf-rib-extensions.yang 666 module that are writable/creatable/deletable (i.e., config true, 667 which is the default). These data nodes may be considered sensitive 668 or vulnerable in some network environments. Write operations (e.g., 669 edit-config) to these data nodes without proper protection can have a 670 negative effect on network operations. For these augmentations to 671 ietf-routing.yang, the abiliy to delete, add, and modify IPv4 and 672 IPv6 static routes would allow traffic to be misrouted. 674 Some of the readable data nodes in the ietf-rib-extensions.yang 675 module may be considered sensitive or vulnerable in some network 676 environments. It is thus important to control read access (e.g., via 677 get, get-config, or notification) to these data nodes. The exposure 678 of the Routing Information Base (RIB) will expose the routing 679 topology of the network. This may be undesirable since both due to 680 the fact that exposure may facilitate other attacks. Additionally, 681 network operators may consider their topologies to be sensitive 682 confidential data. 684 All the security considerations for [RFC8349] writable and readable 685 data nodes apply to the augmentations described herein. 687 7. IANA Considerations 689 This document registers a URI in the IETF XML registry 690 [XML-REGISTRY]. Following the format in [RFC3688], the following 691 registration is requested to be made: 693 URI: urn:ietf:params:xml:ns:yang:ietf-rib-extension 695 Registrant Contact: The IESG. 697 XML: N/A, the requested URI is an XML namespace. 699 This document registers a YANG module in the YANG Module Names 700 registry [RFC6020]. 702 name: ietf-acl namespace: urn:ietf:params:xml:ns:yang:ietf-rib- 703 extension prefix: ietf-rib-ext reference: RFC XXXX 705 8. References 707 8.1. Normative References 709 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 710 Requirement Levels", BCP 14, RFC 2119, 711 DOI 10.17487/RFC2119, March 1997, . 714 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 715 DOI 10.17487/RFC3688, January 2004, . 718 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 719 (TLS) Protocol Version 1.2", RFC 5246, 720 DOI 10.17487/RFC5246, August 2008, . 723 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 724 the Network Configuration Protocol (NETCONF)", RFC 6020, 725 DOI 10.17487/RFC6020, October 2010, . 728 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 729 and A. Bierman, Ed., "Network Configuration Protocol 730 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 731 . 733 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 734 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 735 . 737 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 738 RFC 6991, DOI 10.17487/RFC6991, July 2013, 739 . 741 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 742 RFC 7950, DOI 10.17487/RFC7950, August 2016, 743 . 745 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 746 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 747 . 749 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 750 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 751 May 2017, . 753 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 754 Access Control Model", STD 91, RFC 8341, 755 DOI 10.17487/RFC8341, March 2018, . 758 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 759 and R. Wilton, "Network Management Datastore Architecture 760 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 761 . 763 [RFC8343] Bjorklund, M., "A YANG Data Model for Interface 764 Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, 765 . 767 [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for 768 Routing Management (NMDA Version)", RFC 8349, 769 DOI 10.17487/RFC8349, March 2018, . 772 8.2. Informative References 774 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 775 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 776 . 778 [XML-REGISTRY] 779 Mealling, M., "The IETF XML Registry", BCP 81, January 780 2004. 782 Appendix A. Acknowledgments 784 The RFC text was produced using Marshall Rose's xml2rfc tool. 786 The authors wish to thank Les Ginsberg, Krishna Deevi and Suyoung 787 Yoon for their helpful comments and suggestions. 789 The authors wish to thank Tom Petch for review and commands. 791 Authors' Addresses 793 Acee Lindem 794 Cisco Systems 795 301 Midenhall Way 796 Cary, NC 27513 797 USA 799 EMail: acee@cisco.com 801 Yingzhen Qu 802 Huawei 803 2330 Central Expressway 804 Santa Clara, CA 95050 805 USA 807 EMail: yingzhen.qu@huawei.com