idnits 2.17.1 draft-ietf-mpls-base-yang-10.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 (February 24, 2019) is 1881 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) No issues found here. Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 MPLS Working Group T. Saad 3 Internet-Draft K. Raza 4 Intended status: Standards Track R. Gandhi 5 Expires: August 28, 2019 Cisco Systems Inc 6 X. Liu 7 Volta Networks 8 V. Beeram 9 Juniper Networks 10 February 24, 2019 12 A YANG Data Model for MPLS Base 13 draft-ietf-mpls-base-yang-10 15 Abstract 17 This document contains a specification of the the MPLS base YANG 18 model. The MPLS base YANG model serves as a base framework for 19 configuring and managing an MPLS switching subsystem on an MPLS- 20 enabled router. It is expected that other MPLS YANG models (e.g. 21 MPLS LSP Static, LDP or RSVP-TE YANG models) will augment the MPLS 22 base YANG model. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at https://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on August 28, 2019. 41 Copyright Notice 43 Copyright (c) 2019 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (https://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 59 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 60 1.2. Acronyms and Abbreviations . . . . . . . . . . . . . . . 3 61 2. MPLS Base Model . . . . . . . . . . . . . . . . . . . . . . . 3 62 2.1. Model Overview . . . . . . . . . . . . . . . . . . . . . 3 63 2.2. Model Organization . . . . . . . . . . . . . . . . . . . 4 64 2.3. Model Tree Diagram . . . . . . . . . . . . . . . . . . . 5 65 2.4. Model YANG Module . . . . . . . . . . . . . . . . . . . . 7 66 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 67 4. Security Considerations . . . . . . . . . . . . . . . . . . . 15 68 5. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 16 69 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 16 70 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 71 7.1. Normative References . . . . . . . . . . . . . . . . . . 16 72 7.2. Informative References . . . . . . . . . . . . . . . . . 18 73 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 75 1. Introduction 77 A core routing data model is defined in [RFC8349], and it provides a 78 basis for the development of data models for routing protocols. The 79 MPLS base model augments core routing data model with additional data 80 specific to MPLS technology as described in the MPLS architecture 81 document [RFC3031]. 83 The MPLS base model serves as a basis for future development of MPLS 84 data models covering more-sophisticated MPLS feauture(s) and sub- 85 system(s). The main purpose is to provide essential building blocks 86 for the more-complicated data models involving different control- 87 plane protocols, and advanced MPLS functions. 89 To this end, it is expected that the MPLS base data model will be 90 augmented by a number of other modules developed at IETF (e.g. by 91 TEAS and MPLS working groups). 93 The YANG module in this document conforms to the Network Management 94 Datastore Architecture (NMDA) [RFC8342]. 96 1.1. Terminology 98 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 99 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 100 "OPTIONAL" in this document are to be interpreted as described in BCP 101 14 [RFC2119] [RFC8174] when, and only when, they appear in all 102 capitals, as shown here. 104 The terminology for describing YANG data models is found in 105 [RFC7950]. 107 1.2. Acronyms and Abbreviations 109 MPLS: Multiprotocol Label Switching 111 RIB: Routing Information Base 113 LSP: Label Switched Path 115 LSR: Label Switching Router 117 LER: Label Edge Router 119 FEC: Forwarding Equivalence Class 121 NHLFE: Next Hop Label Forwarding Entry 123 ILM: Incoming Label Map 125 2. MPLS Base Model 127 This document describes the ietf-mpls YANG module that provides base 128 components of the MPLS data model. It is expected that other MPLS 129 YANG modules will augment the ietf-mpls base module for other MPLS 130 extension to provision LSP(s) (e.g. MPLS Static, MPLS LDP or MPLS 131 RSVP-TE LSP(s)). 133 2.1. Model Overview 135 This document defines a mechanism to model MPLS labeled routes as an 136 augmentation of the the routing RIB data model defined in [RFC8349] 137 for IP prefix routes that are MPLS labelled. 139 The other MPLS route(s) that are non-IP prefix routes are modelled by 140 introducing a new "mpls" address-family RIB as per recommendation . 142 2.2. Model Organization 144 Routing module +---------------+ v: import 145 | ietf-routing | o: augment 146 +---------------+ 147 o 148 | 149 v 150 MPLS base +-----------+ v: import 151 module | ietf-mpls | o: augment 152 +-----------+ 153 o o------+ 154 | \ 155 v v 156 +-------------------+ +---------------------+ 157 MPLS Static | ietf-mpls-static@ | | ietf-mpls-ldp.yang@ | . . 158 LSP module +-------------------+ +---------------------+ 160 @: not in this document, shown for illustration only 162 Figure 1: Relationship between MPLS modules 164 ietf-mpls module contains the following high-level types and 165 groupings: 167 label-block-alloc-mode: 169 A base YANG identity for supported label block allocation mode(s). 171 mpls-operations-type: 173 An enumeration type that represents support possible MPLS 174 operation types (impose-and-forward, pop-and-forward, pop-impose- 175 and-forward, and pop-and-lookup) 177 nhlfe-role: 179 An enumeration type that represents the role of the NHLFE entry. 181 nhlfe-single-contents: 183 A YANG grouping that describes single NHLFE and its associated 184 parameters as described in the MPLS architecture document 185 [RFC3031]. 187 nhlfe-multiple-contents: 189 A YANG grouping that describes a set of NHLFE(s) and their 190 associated parameters as described in the MPLS architecture 191 document [RFC3031]. 193 interface-mpls-properties: 195 A YANG grouping that describes the properties of an MPLS interface 196 on a device. 198 interfaces-mpls: 200 A YANG grouping that describes the list of MPLS enabled interfaces 201 on a device. 203 label-block-properties: 205 A YANG grouping that describes the properties of an MPLS label 206 block. 208 label-blocks: 210 A YANG grouping that describes the list of MPLS enabled interfaces 211 on a device. 213 2.3. Model Tree Diagram 215 The MPLS base tree diagram that follows the notation defined in 216 [RFC8340] is shown in Figure 2. 218 module: ietf-mpls 219 augment /rt:routing: 220 +--rw mpls 221 +--rw ttl-propagate? boolean 222 +--rw label-blocks 223 | +--rw label-block* [index] 224 | +--rw index string 225 | +--rw start-label? rt-types:mpls-label 226 | +--rw end-label? rt-types:mpls-label 227 | +--rw block-allocation-mode? identityref 228 | +--ro state 229 | +--ro free-labels-count? uint32 230 | +--ro inuse-labels-count? uint32 231 +--rw interface* [name] 232 +--rw name if:interface-ref 233 +--rw enabled? boolean 234 +--rw mtu? uint32 235 augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route: 236 +--ro mpls-enabled? boolean 237 +--ro local-label? rt-types:mpls-label 238 augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop 239 /rt:next-hop-options/rt:simple-next-hop: 240 +--ro mpls-label-stack 241 +--ro entry* [id] 242 +--ro id uint8 243 +--ro label? rt-types:mpls-label 244 +--ro ttl? uint8 245 +--ro traffic-class? uint8 246 augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop 247 /rt:next-hop-options/rt:next-hop-list/rt:next-hop-list 248 /rt:next-hop: 249 +--ro index? string 250 +--ro backup-index? string 251 +--ro loadshare? uint16 252 +--ro role? nhlfe-role 253 +--ro mpls-label-stack 254 +--ro entry* [id] 255 +--ro id uint8 256 +--ro label? rt-types:mpls-label 257 +--ro ttl? uint8 258 +--ro traffic-class? uint8 259 augment /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:input: 260 +---w local-label? rt-types:mpls-label 261 augment /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route 262 /rt:next-hop/rt:next-hop-options/rt:simple-next-hop: 263 +-- mpls-label-stack 264 +-- entry* [id] 265 +-- id uint8 266 +-- label? rt-types:mpls-label 267 +-- ttl? uint8 268 +-- traffic-class? uint8 269 augment /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route 270 /rt:next-hop/rt:next-hop-options/rt:next-hop-list 271 /rt:next-hop-list/rt:next-hop: 272 +-- index? string 273 +-- backup-index? string 274 +-- loadshare? uint16 275 +-- role? nhlfe-role 276 +-- mpls-label-stack 277 +-- entry* [id] 278 +-- id uint8 279 +-- label? rt-types:mpls-label 280 +-- ttl? uint8 281 +-- traffic-class? uint8 283 Figure 2: MPLS Base tree diagram 285 2.4. Model YANG Module 287 This section describes the "ietf-mpls" YANG module that provides base 288 components of the MPLS data model. Other YANG module(s) may import 289 and augment the base MPLS module to add feature specific data. 291 The ietf-mpls module imports the followinig modules: 293 o ietf-routing defined in [RFC8349] 295 o ietf-routing-types defined in [RFC8294] 297 o ietf-interfaces defined in [RFC8343] 299 file "ietf-mpls@2019-02-24.yang" 300 module ietf-mpls { 301 yang-version 1.1; 302 namespace "urn:ietf:params:xml:ns:yang:ietf-mpls"; 304 /* Replace with IANA when assigned */ 305 prefix "mpls"; 307 import ietf-routing { 308 prefix "rt"; 309 reference "RFC8349: A YANG Data Model for Routing Management"; 310 } 312 import ietf-routing-types { 313 prefix "rt-types"; 314 reference "RFC8294:Common YANG Data Types for the Routing Area"; 315 } 317 import ietf-interfaces { 318 prefix "if"; 319 reference "RFC7223: A YANG Data Model for Interface Management"; 320 } 322 organization "IETF MPLS Working Group"; 324 contact 325 "WG Web: 327 WG List: 329 WG Chair: Loa Andersson 330 332 WG Chair: Nic Leymann 333 335 Editor: Tarek Saad 336 338 Editor: Kamran Raza 339 341 Editor: Rakesh Gandhi 342 344 Editor: Xufeng Liu 345 347 Editor: Vishnu Pavan Beeram 348 "; 350 description 351 "This YANG module defines the essential components for the 352 management of the MPLS subsystem. The model fully conforms 353 to the Network Management Datastore Architecture (NMDA). 355 Copyright (c) 2018 IETF Trust and the persons 356 identified as authors of the code. All rights reserved. 358 Redistribution and use in source and binary forms, with or 359 without modification, is permitted pursuant to, and subject 360 to the license terms contained in, the Simplified BSD License 361 set forth in Section 4.c of the IETF Trust's Legal Provisions 362 Relating to IETF Documents 363 (https://trustee.ietf.org/license-info). 364 This version of this YANG module is part of RFC XXXX; see 365 the RFC itself for full legal notices."; 367 // RFC Ed.: replace XXXX with actual RFC number and remove this 368 // note. 370 // RFC Ed.: update the date below with the date of RFC publication 371 // and remove this note. 373 revision "2019-02-24" { 374 description 375 "Latest revision: 376 - Addressed review comments"; 377 reference "RFC XXXX: A YANG Data Model for base MPLS"; 378 } 380 /* Identities */ 381 identity mpls { 382 base rt:address-family; 383 description 384 "This identity represents the MPLS address family."; 385 } 387 identity label-block-alloc-mode { 388 description 389 "Base identity label-block allocation mode"; 390 } 392 identity label-block-alloc-mode-manager { 393 base label-block-alloc-mode; 394 description 395 "Label block allocation on reserved block 396 is managed by label manager"; 397 } 399 identity label-block-alloc-mode-application { 400 base label-block-alloc-mode; 401 description 402 "Label block allocation on reserved block 403 is managed by application"; 404 } 406 /** 407 * Typedefs 408 */ 409 typedef mpls-operations-type { 410 type enumeration { 411 enum impose-and-forward { 412 description 413 "Operation impose outgoing label(s) and forward to 414 next-hop"; 415 } 416 enum pop-and-forward { 417 description 418 "Operation pop incoming label and forward to next-hop"; 419 } 420 enum pop-impose-and-forward { 421 description 422 "Operation pop incoming label, impose one or more 423 outgoing label(s) and forward to next-hop"; 424 } 425 enum swap-and-forward { 426 description 427 "Operation swap incoming label, with outgoing label and 428 forward to next-hop"; 430 } 431 enum pop-and-lookup { 432 description 433 "Operation pop incoming label and perform a lookup"; 434 } 435 } 436 description "MPLS operations types"; 437 } 439 typedef nhlfe-role { 440 type enumeration { 441 enum PRIMARY { 442 description 443 "Next-hop acts as primary traffic carrying"; 444 } 445 enum BACKUP { 446 description 447 "Next-hop acts as backup"; 448 } 449 enum PRIMARY_AND_BACKUP { 450 description 451 "Next-hop acts as primary and backup simultaneously"; 452 } 453 } 454 description "The next-hop role"; 455 } 457 grouping nhlfe-single-contents { 458 description 459 "MPLS simple NHLFE contents"; 460 uses rt-types:mpls-label-stack; 461 } 463 grouping nhlfe-multiple-contents { 464 description 465 "MPLS NHLFE contents"; 466 leaf index { 467 type string; 468 description 469 "A user-specified identifier utilised to uniquely 470 reference the next-hop entry in the next-hop list. 471 The value of this index has no semantic meaning 472 other than for referencing the entry."; 473 } 475 leaf backup-index { 476 type string; 477 description 478 "A user-specified identifier utilised to uniquely 479 reference the backup next-hop entry in the NHLFE list. 480 The value of this index has no semantic meaning 481 other than for referencing the entry."; 482 } 484 leaf loadshare { 485 type uint16; 486 description 487 "This value is used to compute a loadshare to perform un-equal 488 load balancing when multiple outgoing next-hop(s) are 489 specified. A share is computed as a ratio of this number to the 490 total under all next-hops(s)."; 491 } 493 leaf role { 494 type nhlfe-role; 495 description "NHLFE role"; 496 } 498 uses nhlfe-single-contents; 499 } 501 grouping interface-mpls-properties { 502 description "MPLS interface contents grouping"; 503 leaf enabled { 504 type boolean; 505 description 506 "'true' if mpls encapsulation is enabled on the 507 interface. 'false' if mpls encapsulation is enabled 508 on the interface."; 509 } 510 leaf mtu { 511 type uint32; 512 description 513 "MPLS Maximum Transmission Unit (MTU) in bytes"; 514 } 515 } 517 grouping interfaces-mpls { 518 description "List of MPLS interfaces"; 519 list interface { 520 key "name"; 521 description "List of MPLS interfaces"; 522 leaf name { 523 type if:interface-ref; 524 description 525 "The name of a configured MPLS interface"; 527 } 528 uses interface-mpls-properties; 529 } 530 } 532 grouping label-block-properties { 533 description "Label-block configuration items"; 534 leaf index { 535 type string; 536 description 537 "A user-specified identifier utilised to uniquely 538 reference an MPLS label block"; 539 } 540 leaf start-label { 541 type rt-types:mpls-label; 542 description "Label-block start"; 543 } 544 leaf end-label { 545 type rt-types:mpls-label; 546 description "Label-block end"; 547 } 548 leaf block-allocation-mode { 549 type identityref { 550 base label-block-alloc-mode; 551 } 552 description "Label-block allocation mode"; 553 } 554 } 556 grouping label-block_state { 557 description "Label-block state items"; 558 leaf free-labels-count { 559 when "../../block-allocation-mode = " + 560 "'label-block-alloc-mode-manager'"; 561 type uint32; 562 description "Label-block free labels count"; 563 } 564 leaf inuse-labels-count { 565 when "../../block-allocation-mode = " + 566 "'label-block-alloc-mode-manager'"; 567 type uint32; 568 description "Label-block inuse labels count"; 569 } 570 } 572 grouping globals { 573 description "MPLS global configuration grouping"; 574 leaf ttl-propagate { 575 type boolean; 576 default 'true'; 577 description "Propagate TTL between IP and MPLS"; 578 } 579 } 580 grouping label-blocks { 581 description "Label-block allocation grouping"; 582 container label-blocks { 583 description "Label-block allocation container"; 584 list label-block { 585 must "start-label >= end-label" { 586 error-message "start-label can not be less than end-label"; 587 } 588 key index; 589 unique "start-label end-label"; 590 description "List of MPLS label-blocks"; 591 uses label-block-properties; 592 container state { 593 config false; 594 description "Holds state information"; 595 uses label-block_state; 596 } 597 } 598 } 599 } 601 augment "/rt:routing" { 602 description "MPLS augmentation."; 603 container mpls { 604 description 605 "MPLS container, to be used as an augmentation target node 606 other MPLS sub-features config, e.g. MPLS static LSP, MPLS 607 LDP LSPs, and Trafic Engineering MPLS LSP Tunnels, etc."; 608 uses globals; 609 uses label-blocks; 610 uses interfaces-mpls; 611 } 612 } 614 /* MPLS routes augmentation */ 615 augment "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route" { 616 description 617 "This is augmentation for all MPLS routes."; 618 leaf mpls-enabled { 619 type boolean; 620 default 'false'; 621 description 622 "Indicates whether MPLS is enabled for this route"; 624 } 625 leaf local-label { 626 when "../mpls-enabled = 'true'"; 627 type rt-types:mpls-label; 628 description "MPLS local label associated with the route."; 629 } 630 } 632 /* MPLS simple-next-hop augmentation */ 633 augment "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route/" 634 + "rt:next-hop/rt:next-hop-options/rt:simple-next-hop" { 635 description 636 "Augment 'simple-next-hop' case in IP unicast routes."; 637 uses nhlfe-single-contents { 638 when "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route" + 639 "/mpls:mpls-enabled = 'true'"; 640 } 641 } 643 /* MPLS next-hop-list augmentation */ 644 augment "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route/" 645 + "rt:next-hop/rt:next-hop-options/rt:next-hop-list/" 646 + "rt:next-hop-list/rt:next-hop" { 647 description 648 "This leaf augments the 'next-hop-list' case of IP unicast 649 routes."; 650 uses nhlfe-multiple-contents { 651 when "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route" + 652 "/mpls:mpls-enabled = 'true'"; 653 } 654 } 656 /* MPLS RPC input augmentation */ 657 augment 658 "/rt:routing/rt:ribs/rt:rib/rt:active-route/rt:input" { 659 description 660 "This augment adds the input parameter of the 'active-route' 661 action."; 662 leaf local-label { 663 type rt-types:mpls-label; 664 description 665 "MPLS local label."; 666 } 667 } 669 /* MPLS RPC output augmentation */ 670 augment "/rt:routing/rt:ribs/rt:rib/rt:active-route/" 671 + "rt:output/rt:route/" 672 + "rt:next-hop/rt:next-hop-options/rt:simple-next-hop" { 673 description 674 "This augment adds the destination prefix to the reply of the 675 'active-route' action."; 676 uses nhlfe-single-contents; 677 } 678 augment "/rt:routing/rt:ribs/rt:rib/rt:active-route/" 679 + "rt:output/rt:route/" 680 + "rt:next-hop/rt:next-hop-options/rt:next-hop-list/" 681 + "rt:next-hop-list/rt:next-hop" { 682 description 683 "This augment adds the destination prefix to the reply of the 684 'active-route' action."; 685 uses nhlfe-multiple-contents; 686 } 687 } 688 690 Figure 3: MPLS base YANG module 692 3. IANA Considerations 694 This document registers the following URIs in the IETF XML registry 695 [RFC3688]. Following the format in [RFC3688], the following 696 registration is requested to be made. 698 URI: urn:ietf:params:xml:ns:yang:ietf-mpls 699 Registrant Contact: The MPLS WG of the IETF. 700 XML: N/A, the requested URI is an XML namespace. 702 This document registers a YANG module in the YANG Module Names 703 registry [RFC6020]. 705 name: ietf-mpls 706 namespace: urn:ietf:params:xml:ns:yang:ietf-mpls 707 prefix: ietf-mpls 708 // RFC Ed.: replace XXXX with RFC number and remove this note 709 reference: RFCXXXX 711 4. Security Considerations 713 The YANG modules specified in this document define a schema for data 714 that is designed to be accessed via network management protocols such 715 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 716 is the secure transport layer, and the mandatory-to-implement secure 717 transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer 718 is HTTPS, and the mandatory-to-implement secure transport is TLS 719 [RFC8446]. 721 The NETCONF access control model [RFC8341] provides the means to 722 restrict access for particular NETCONF or RESTCONF users to a 723 preconfigured subset of all available NETCONF or RESTCONF protocol 724 operations and content. 726 Some of the readable data nodes in these YANG modules may be 727 considered sensitive or vulnerable in some network environments. It 728 is thus important to control read access (e.g., via get, get-config, 729 or notification) to these data nodes. These are the subtrees and 730 data nodes and their sensitivity/vulnerability: 732 /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route: this 733 path is augmented by additional MPLS leaf(s) defined in this model. 734 Access to this information may disclose the per prefix and/or other 735 information. 737 /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route/ 738 rt:next-hop/rt:next-hop-options/rt:simple-next-hop: this path is 739 augmented by additional MPLS leaf(s) defined in this model. Access 740 to this information may disclose the next-hop or path per prefix and/ 741 or other information. 743 5. Acknowledgement 745 The authors would like to thank the members of the multi-vendor YANG 746 design team who are involved in the definition of this model. 748 6. Contributors 750 Igor Bryskin 751 Huawei Technologies 752 email: Igor.Bryskin@huawei.com 754 Himanshu Shah 755 Ciena 756 email: hshah@ciena.com 758 7. References 760 7.1. Normative References 762 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 763 Requirement Levels", BCP 14, RFC 2119, 764 DOI 10.17487/RFC2119, March 1997, 765 . 767 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 768 DOI 10.17487/RFC3688, January 2004, 769 . 771 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 772 the Network Configuration Protocol (NETCONF)", RFC 6020, 773 DOI 10.17487/RFC6020, October 2010, 774 . 776 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 777 and A. Bierman, Ed., "Network Configuration Protocol 778 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 779 . 781 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 782 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 783 . 785 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 786 RFC 7950, DOI 10.17487/RFC7950, August 2016, 787 . 789 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 790 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 791 . 793 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 794 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 795 May 2017, . 797 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 798 "Common YANG Data Types for the Routing Area", RFC 8294, 799 DOI 10.17487/RFC8294, December 2017, 800 . 802 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 803 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 804 . 806 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 807 Access Control Model", STD 91, RFC 8341, 808 DOI 10.17487/RFC8341, March 2018, 809 . 811 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 812 and R. Wilton, "Network Management Datastore Architecture 813 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 814 . 816 [RFC8343] Bjorklund, M., "A YANG Data Model for Interface 817 Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, 818 . 820 [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for 821 Routing Management (NMDA Version)", RFC 8349, 822 DOI 10.17487/RFC8349, March 2018, 823 . 825 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 826 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 827 . 829 7.2. Informative References 831 [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol 832 Label Switching Architecture", RFC 3031, 833 DOI 10.17487/RFC3031, January 2001, 834 . 836 Authors' Addresses 838 Tarek Saad 839 Cisco Systems Inc 841 Email: tsaad@cisco.com 843 Kamran Raza 844 Cisco Systems Inc 846 Email: skraza@cisco.com 848 Rakesh Gandhi 849 Cisco Systems Inc 851 Email: rgandhi@cisco.com 853 Xufeng Liu 854 Volta Networks 856 Email: xufeng.liu.ietf@gmail.com 857 Vishnu Pavan Beeram 858 Juniper Networks 860 Email: vbeeram@juniper.net