idnits 2.17.1 draft-ietf-mpls-base-yang-14.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 (March 04, 2020) is 1485 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 Juniper Networks 4 Intended status: Standards Track K. Raza 5 Expires: September 5, 2020 R. Gandhi 6 Cisco Systems Inc 7 X. Liu 8 Volta Networks 9 V. Beeram 10 Juniper Networks 11 March 04, 2020 13 A YANG Data Model for MPLS Base 14 draft-ietf-mpls-base-yang-14 16 Abstract 18 This document contains a specification of the MPLS base YANG model. 19 The MPLS base YANG model serves as a base framework for configuring 20 and managing an MPLS switching subsystem on an MPLS-enabled router. 21 It is expected that other MPLS YANG models (e.g. MPLS Label Switched 22 Path (LSP) Static, LDP or RSVP-TE YANG models) will augment the MPLS 23 base YANG model. 25 Status of This Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at https://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on September 5, 2020. 42 Copyright Notice 44 Copyright (c) 2020 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (https://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 Table of Contents 59 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 60 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 61 1.2. Acronyms and Abbreviations . . . . . . . . . . . . . . . 3 62 2. MPLS Base Model . . . . . . . . . . . . . . . . . . . . . . . 3 63 2.1. Model Overview . . . . . . . . . . . . . . . . . . . . . 3 64 2.2. Model Organization . . . . . . . . . . . . . . . . . . . 4 65 2.3. Model Tree Diagram . . . . . . . . . . . . . . . . . . . 5 66 2.4. Model YANG Module . . . . . . . . . . . . . . . . . . . . 7 67 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 68 4. Security Considerations . . . . . . . . . . . . . . . . . . . 16 69 5. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 17 70 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 17 71 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 72 7.1. Normative References . . . . . . . . . . . . . . . . . . 17 73 7.2. Informative References . . . . . . . . . . . . . . . . . 18 74 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 76 1. Introduction 78 A core routing data model is defined in [RFC8349], and it provides a 79 basis for the development of data models for routing protocols. The 80 MPLS base model augments core routing data model with additional data 81 specific to MPLS technology as described in the MPLS architecture 82 document [RFC3031]. 84 The MPLS base model serves as a basis for future development of MPLS 85 data models covering more-sophisticated MPLS feature(s) and sub- 86 system(s). The main purpose is to provide essential building blocks 87 for the more-complicated data models involving different control- 88 plane protocols, and advanced MPLS functions. 90 To this end, it is expected that the MPLS base data model will be 91 augmented by a number of other modules developed at IETF (e.g. by 92 TEAS and MPLS working groups). 94 The YANG module in this document conforms to the Network Management 95 Datastore Architecture (NMDA) [RFC8342]. 97 1.1. Terminology 99 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 100 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 101 "OPTIONAL" in this document are to be interpreted as described in BCP 102 14 [RFC2119] [RFC8174] when, and only when, they appear in all 103 capitals, as shown here. 105 The terminology for describing YANG data models is found in 106 [RFC7950]. 108 1.2. Acronyms and Abbreviations 110 MPLS: Multiprotocol Label Switching 112 RIB: Routing Information Base 114 LSP: Label Switched Path 116 LSR: Label Switching Router 118 LER: Label Edge Router 120 FEC: Forwarding Equivalence Class 122 NHLFE: Next Hop Label Forwarding Entry 124 ILM: Incoming Label Map 126 2. MPLS Base Model 128 This document describes the ietf-mpls YANG module that provides base 129 components of the MPLS data model. It is expected that other MPLS 130 YANG modules will augment the ietf-mpls base module for other MPLS 131 extension to provision Label Switched Paths (LSPs) (e.g. MPLS 132 Static, MPLS LDP or MPLS RSVP-TE LSP(s)). 134 2.1. Model Overview 136 This document defines a mechanism to model MPLS labeled routes as an 137 augmentation of the routing RIB data model defined in [RFC8349] for 138 IP prefix routes that are MPLS labeled. 140 The other MPLS route(s) that are non-IP prefix routes are modelled by 141 introducing a new "mpls" address-family RIB as per recommendation . 143 2.2. Model Organization 145 Routing module +---------------+ v: import 146 | ietf-routing | o: augment 147 +---------------+ 148 o 149 | 150 v 151 MPLS base +-----------+ v: import 152 module | ietf-mpls | o: augment 153 +-----------+ 154 o o------+ 155 | \ 156 v v 157 +-------------------+ +---------------------+ 158 MPLS Static | ietf-mpls-static@ | | ietf-mpls-ldp.yang@ | . . 159 LSP module +-------------------+ +---------------------+ 161 @: not in this document, shown for illustration only 163 Figure 1: Relationship between MPLS modules 165 ietf-mpls module contains the following high-level types and 166 groupings: 168 label-block-alloc-mode: 170 A base YANG identity for supported label block allocation mode(s). 172 mpls-operations-type: 174 An enumeration type that represents support possible MPLS 175 operation types (impose-and-forward, pop-and-forward, pop-impose- 176 and-forward, and pop-and-lookup) 178 nhlfe-role: 180 An enumeration type that represents the role of the NHLFE entry. 182 nhlfe-single-contents: 184 A YANG grouping that describes single NHLFE and its associated 185 parameters as described in the MPLS architecture document 186 [RFC3031]. 188 nhlfe-multiple-contents: 190 A YANG grouping that describes a set of NHLFE(s) and their 191 associated parameters as described in the MPLS architecture 192 document [RFC3031]. 194 interface-mpls-properties: 196 A YANG grouping that describes the properties of an MPLS interface 197 on a device. 199 interfaces-mpls: 201 A YANG grouping that describes the list of MPLS enabled interfaces 202 on a device. 204 label-block-properties: 206 A YANG grouping that describes the properties of an MPLS label 207 block. 209 label-blocks: 211 A YANG grouping that describes the list of assigned MPLS label 212 blocks and their properties. 214 2.3. Model Tree Diagram 216 The MPLS base tree diagram that follows the notation defined in 217 [RFC8340] is shown in Figure 2. 219 module: ietf-mpls 220 augment /rt:routing: 221 +--rw mpls {mpls}? 222 +--rw ttl-propagate? boolean 223 +--rw label-blocks 224 | +--rw label-block* [index] 225 | +--rw index string 226 | +--rw start-label? rt-types:mpls-label 227 | +--rw end-label? rt-types:mpls-label 228 | +--rw block-allocation-mode? identityref 229 | +--ro free-labels-count? yang:counter32 230 | +--ro inuse-labels-count? yang:counter32 231 +--rw interface* [name] 232 +--rw name if:interface-ref 233 +--rw enabled? boolean 234 +--rw maximum-labeled-packet? uint32 235 augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route: 236 +--ro mpls-enabled? boolean {mpls}? 237 +--ro local-label? rt-types:mpls-label {mpls}? 239 augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop 240 /rt:next-hop-options/rt:simple-next-hop: 241 +--ro mpls-label-stack 242 +--ro entry* [id] 243 +--ro id uint8 244 +--ro label? rt-types:mpls-label 245 +--ro ttl? uint8 246 +--ro traffic-class? uint8 247 augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route/rt:next-hop 248 /rt:next-hop-options/rt:next-hop-list/rt:next-hop-list 249 /rt:next-hop: 250 +--ro index? string 251 +--ro backup-index? string 252 +--ro loadshare? uint16 253 +--ro role? nhlfe-role 254 +--ro mpls-label-stack 255 +--ro entry* [id] 256 +--ro id uint8 257 +--ro label? rt-types:mpls-label 258 +--ro ttl? uint8 259 +--ro traffic-class? uint8 260 augment /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:input: 261 +---w local-label? rt-types:mpls-label 262 augment /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route 263 /rt:next-hop/rt:next-hop-options/rt:simple-next-hop: 264 +-- mpls-label-stack 265 +-- entry* [id] 266 +-- id uint8 267 +-- label? rt-types:mpls-label 268 +-- ttl? uint8 269 +-- traffic-class? uint8 270 augment /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route 271 /rt:next-hop/rt:next-hop-options/rt:next-hop-list 272 /rt:next-hop-list/rt:next-hop: 273 +-- index? string 274 +-- backup-index? string 275 +-- loadshare? uint16 276 +-- role? nhlfe-role 277 +-- mpls-label-stack 278 +-- entry* [id] 279 +-- id uint8 280 +-- label? rt-types:mpls-label 281 +-- ttl? uint8 282 +-- traffic-class? uint8 284 Figure 2: MPLS Base tree diagram 286 2.4. Model YANG Module 288 This section describes the "ietf-mpls" YANG module that provides base 289 components of the MPLS data model. Other YANG module(s) may import 290 and augment the base MPLS module to add feature specific data. 292 The ietf-mpls module imports the following modules: 294 o ietf-routing defined in [RFC8349] 296 o ietf-routing-types defined in [RFC8294] 298 o ietf-interfaces defined in [RFC8343] 300 This model also references the following RFCs in defining the types 301 and YANG grouping of the YANG module: [RFC3032], [RFC3031], and 302 [RFC7424]. 304 file "ietf-mpls@2020-03-03.yang" 305 module ietf-mpls { 306 yang-version 1.1; 308 namespace "urn:ietf:params:xml:ns:yang:ietf-mpls"; 310 /* Replace with IANA when assigned */ 311 prefix "mpls"; 313 import ietf-routing { 314 prefix "rt"; 315 reference "RFC8349: A YANG Data Model for Routing Management"; 316 } 318 import ietf-routing-types { 319 prefix "rt-types"; 320 reference "RFC8294:Common YANG Data Types for the Routing Area"; 321 } 323 import ietf-yang-types { 324 prefix "yang"; 325 reference "RFC6991: Common YANG Data Types"; 326 } 328 import ietf-interfaces { 329 prefix "if"; 330 reference "RFC8343: A YANG Data Model for Interface Management"; 331 } 333 organization "IETF MPLS Working Group"; 334 contact 335 "WG Web: 337 WG List: 339 Editor: Tarek Saad 340 342 Editor: Kamran Raza 343 345 Editor: Rakesh Gandhi 346 348 Editor: Xufeng Liu 349 351 Editor: Vishnu Pavan Beeram 352 "; 354 description 355 "This YANG module defines the essential components for the 356 management of the MPLS subsystem. The model fully conforms 357 to the Network Management Datastore Architecture (NMDA). 359 Copyright (c) 2018 IETF Trust and the persons 360 identified as authors of the code. All rights reserved. 362 Redistribution and use in source and binary forms, with or 363 without modification, is permitted pursuant to, and subject 364 to the license terms contained in, the Simplified BSD License 365 set forth in Section 4.c of the IETF Trust's Legal Provisions 366 Relating to IETF Documents 367 (https://trustee.ietf.org/license-info). 368 This version of this YANG module is part of RFC XXXX; see 369 the RFC itself for full legal notices."; 371 // RFC Ed.: replace XXXX with actual RFC number and remove this 372 // note. 374 // RFC Ed.: update the date below with the date of RFC publication 375 // and remove this note. 377 revision "2020-03-03" { 378 description 379 "Latest revision: 380 - Addressed review comments"; 381 reference "RFC XXXX: A YANG Data Model for base MPLS"; 383 } 385 feature mpls { 386 description 387 "Indicates support for MPLS switching."; 388 reference "RFC3031"; 389 } 391 /* Identities */ 393 identity mpls { 394 base rt:address-family; 395 description 396 "This identity represents the MPLS address family."; 397 } 399 identity label-block-alloc-mode { 400 description 401 "Base identity label-block allocation mode"; 402 } 404 identity label-block-alloc-mode-manager { 405 base label-block-alloc-mode; 406 description 407 "Label block allocation on reserved block 408 is managed by label manager"; 409 } 411 identity label-block-alloc-mode-application { 412 base label-block-alloc-mode; 413 description 414 "Label block allocation on reserved block 415 is managed by application"; 416 } 418 /** 419 * Typedefs 420 */ 421 typedef mpls-operations-type { 422 type enumeration { 423 enum impose-and-forward { 424 description 425 "Operation impose outgoing label(s) and forward to 426 next-hop"; 427 } 428 enum pop-and-forward { 429 description 430 "Operation pop incoming label and forward to next-hop"; 432 } 433 enum pop-impose-and-forward { 434 description 435 "Operation pop incoming label, impose one or more 436 outgoing label(s) and forward to next-hop"; 437 } 438 enum swap-and-forward { 439 description 440 "Operation swap incoming label, with outgoing label and 441 forward to next-hop"; 442 } 443 enum pop-and-lookup { 444 description 445 "Operation pop incoming label and perform a lookup"; 446 } 447 } 448 description "MPLS operations types"; 449 } 451 typedef nhlfe-role { 452 type enumeration { 453 enum PRIMARY { 454 description 455 "Next-hop acts as primary traffic carrying"; 456 } 457 enum BACKUP { 458 description 459 "Next-hop acts as backup"; 460 } 461 enum PRIMARY_AND_BACKUP { 462 description 463 "Next-hop acts as primary and backup simultaneously"; 464 } 465 } 466 description "The next-hop role"; 467 } 469 grouping nhlfe-single-contents { 470 description 471 "MPLS simple NHLFE contents"; 472 uses rt-types:mpls-label-stack; 473 } 475 grouping nhlfe-multiple-contents { 476 description 477 "MPLS NHLFE contents"; 478 leaf index { 479 type string; 480 description 481 "A user-specified identifier utilised to uniquely 482 reference the next-hop entry in the next-hop list. 483 The value of this index has no semantic meaning 484 other than for referencing the entry."; 485 } 487 leaf backup-index { 488 type string; 489 description 490 "A user-specified identifier utilised to uniquely 491 reference the backup next-hop entry in the NHLFE list. 492 The value of this index has no semantic meaning 493 other than for referencing the entry."; 494 } 496 leaf loadshare { 497 type uint16; 498 description 499 "This value is used to compute a loadshare to perform un-equal 500 load balancing when multiple outgoing next-hop(s) are 501 specified. A share is computed as a ratio of this number to the 502 total under all next-hops(s)."; 503 reference 504 "RFC7424, section 5.4, 505 RFC3031, section 3.11 and 3.12."; 506 } 508 leaf role { 509 type nhlfe-role; 510 description "NHLFE role"; 511 } 513 uses nhlfe-single-contents; 514 } 516 grouping interface-mpls-properties { 517 description "MPLS interface contents grouping"; 518 leaf enabled { 519 type boolean; 520 description 521 "'true' if mpls encapsulation is enabled on the interface. 522 'false' if mpls encapsulation is disabled on the interface."; 523 } 524 leaf maximum-labeled-packet { 525 type uint32; 526 units octets; 527 description "Maximum labeled packet size."; 528 reference "RFC3032, section 3.2."; 529 } 530 } 532 grouping interfaces-mpls { 533 description "List of MPLS interfaces"; 534 list interface { 535 key "name"; 536 description "List of MPLS interfaces"; 537 leaf name { 538 type if:interface-ref; 539 description 540 "The name of a configured MPLS interface"; 541 } 542 uses interface-mpls-properties; 543 } 544 } 546 grouping label-block-properties { 547 description "Label-block configuration items"; 548 leaf index { 549 type string; 550 description 551 "A user-specified identifier utilised to uniquely 552 reference an MPLS label block"; 553 } 554 leaf start-label { 555 type rt-types:mpls-label; 556 must '. >= ../end-label' { 557 error-message 558 "The start-label must be less than or equal " + 559 "to end-label"; 560 } 561 description "Label-block start"; 562 } 563 leaf end-label { 564 type rt-types:mpls-label; 565 must '. <= ../start-label' { 566 error-message 567 "The end-label must be greater than or equal " + 568 "to start-label"; 569 } 570 description "Label-block end"; 571 } 572 leaf block-allocation-mode { 573 type identityref { 574 base label-block-alloc-mode; 575 } 576 description "Label-block allocation mode"; 577 } 578 } 580 grouping label-block_state { 581 description "Label-block state items"; 582 leaf free-labels-count { 583 when "derived-from-or-self(../block-allocation-mode, " + 584 "'mpls:label-block-alloc-mode-manager')"; 585 type yang:counter32; 586 config false; 587 description "Label-block free labels count"; 588 } 589 leaf inuse-labels-count { 590 when "derived-from-or-self(../block-allocation-mode, " + 591 "'mpls:label-block-alloc-mode-manager')"; 592 type yang:counter32; 593 config false; 594 description "Label-block inuse labels count"; 595 } 596 } 598 grouping globals { 599 description "MPLS global configuration grouping"; 600 leaf ttl-propagate { 601 type boolean; 602 default 'true'; 603 description "Propagate TTL between IP and MPLS"; 604 } 605 } 606 grouping label-blocks { 607 description "Label-block allocation grouping"; 608 container label-blocks { 609 description "Label-block allocation container"; 610 list label-block { 611 key index; 612 unique "start-label end-label"; 613 description "List of MPLS label-blocks"; 614 uses label-block-properties; 615 uses label-block_state; 616 } 617 } 618 } 620 augment "/rt:routing" { 621 if-feature mpls; 622 description "MPLS augmentation."; 623 container mpls { 624 description 625 "MPLS container, to be used as an augmentation target node 626 other MPLS sub-features config, e.g. MPLS static LSP, MPLS 627 LDP LSPs, and Trafic Engineering MPLS LSP Tunnels, etc."; 628 uses globals; 629 uses label-blocks; 630 uses interfaces-mpls; 631 } 632 } 634 /* MPLS routes augmentation */ 635 augment "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route" { 636 if-feature mpls; 637 description 638 "This is augmentation for all MPLS routes."; 639 leaf mpls-enabled { 640 type boolean; 641 default 'false'; 642 description 643 "Indicates whether MPLS is enabled for this route"; 644 } 645 leaf local-label { 646 when "../mpls-enabled = 'true'"; 647 type rt-types:mpls-label; 648 description "MPLS local label associated with the route."; 649 } 650 } 652 /* MPLS simple-next-hop augmentation */ 653 augment "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route/" 654 + "rt:next-hop/rt:next-hop-options/rt:simple-next-hop" { 655 description 656 "Augment 'simple-next-hop' case in IP unicast routes."; 657 uses nhlfe-single-contents { 658 when "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route" + 659 "/mpls:mpls-enabled = 'true'"; 660 } 661 } 663 /* MPLS next-hop-list augmentation */ 664 augment "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route/" 665 + "rt:next-hop/rt:next-hop-options/rt:next-hop-list/" 666 + "rt:next-hop-list/rt:next-hop" { 667 description 668 "This leaf augments the 'next-hop-list' case of IP unicast 669 routes."; 670 uses nhlfe-multiple-contents { 671 when "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route" + 672 "/mpls:mpls-enabled = 'true'"; 673 } 674 } 676 /* MPLS RPC input augmentation */ 677 augment 678 "/rt:routing/rt:ribs/rt:rib/rt:active-route/rt:input" { 679 description 680 "Input MPLS augmentation for the 'active-route' action 681 statement."; 682 leaf local-label { 683 type rt-types:mpls-label; 684 description 685 "MPLS local label."; 686 } 687 } 689 /* MPLS RPC output augmentation */ 690 augment "/rt:routing/rt:ribs/rt:rib/rt:active-route/" 691 + "rt:output/rt:route/" 692 + "rt:next-hop/rt:next-hop-options/rt:simple-next-hop" { 693 description 694 "Output MPLS augmentation for the 'active-route' action 695 statement."; 696 uses nhlfe-single-contents; 697 } 698 augment "/rt:routing/rt:ribs/rt:rib/rt:active-route/" 699 + "rt:output/rt:route/" 700 + "rt:next-hop/rt:next-hop-options/rt:next-hop-list/" 701 + "rt:next-hop-list/rt:next-hop" { 702 description 703 "Output MPLS augmentation for the 'active-route' action 704 statement."; 705 uses nhlfe-multiple-contents; 706 } 707 } 708 710 Figure 3: MPLS base YANG module 712 3. IANA Considerations 714 This document registers the following URIs in the IETF XML registry 715 [RFC3688]. Following the format in [RFC3688], the following 716 registration is requested to be made. 718 URI: urn:ietf:params:xml:ns:yang:ietf-mpls 719 Registrant Contact: The MPLS WG of the IETF. 720 XML: N/A, the requested URI is an XML namespace. 722 This document registers a YANG module in the YANG Module Names 723 registry [RFC6020]. 725 name: ietf-mpls 726 namespace: urn:ietf:params:xml:ns:yang:ietf-mpls 727 prefix: ietf-mpls 728 // RFC Ed.: replace XXXX with RFC number and remove this note 729 reference: RFCXXXX 731 4. Security Considerations 733 The YANG modules specified in this document define a schema for data 734 that is designed to be accessed via network management protocols such 735 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 736 is the secure transport layer, and the mandatory-to-implement secure 737 transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer 738 is HTTPS, and the mandatory-to-implement secure transport is TLS 739 [RFC8446]. 741 The NETCONF access control model [RFC8341] provides the means to 742 restrict access for particular NETCONF or RESTCONF users to a 743 preconfigured subset of all available NETCONF or RESTCONF protocol 744 operations and content. 746 Some of the readable data nodes in these YANG modules may be 747 considered sensitive or vulnerable in some network environments. It 748 is thus important to control read access (e.g., via get, get-config, 749 or notification) to these data nodes. These are the subtrees and 750 data nodes and their sensitivity/vulnerability: 752 /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route: this 753 path is augmented by additional MPLS leaf(s) defined in this model. 754 Access to this information may disclose the per prefix and/or other 755 information. 757 /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route/ 758 rt:next-hop/rt:next-hop-options/rt:simple-next-hop: this path is 759 augmented by additional MPLS leaf(s) defined in this model. Access 760 to this information may disclose the next-hop or path per prefix and/ 761 or other information. 763 5. Acknowledgement 765 The authors would like to thank the members of the multi-vendor YANG 766 design team who are involved in the definition of this model. 768 6. Contributors 770 Igor Bryskin 771 Huawei Technologies 772 email: Igor.Bryskin@huawei.com 774 Himanshu Shah 775 Ciena 776 email: hshah@ciena.com 778 7. References 780 7.1. Normative References 782 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 783 Requirement Levels", BCP 14, RFC 2119, 784 DOI 10.17487/RFC2119, March 1997, 785 . 787 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 788 DOI 10.17487/RFC3688, January 2004, 789 . 791 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 792 the Network Configuration Protocol (NETCONF)", RFC 6020, 793 DOI 10.17487/RFC6020, October 2010, 794 . 796 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 797 and A. Bierman, Ed., "Network Configuration Protocol 798 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 799 . 801 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 802 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 803 . 805 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 806 RFC 7950, DOI 10.17487/RFC7950, August 2016, 807 . 809 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 810 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 811 . 813 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 814 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 815 May 2017, . 817 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 818 "Common YANG Data Types for the Routing Area", RFC 8294, 819 DOI 10.17487/RFC8294, December 2017, 820 . 822 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 823 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 824 . 826 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 827 Access Control Model", STD 91, RFC 8341, 828 DOI 10.17487/RFC8341, March 2018, 829 . 831 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 832 and R. Wilton, "Network Management Datastore Architecture 833 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 834 . 836 [RFC8343] Bjorklund, M., "A YANG Data Model for Interface 837 Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, 838 . 840 [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for 841 Routing Management (NMDA Version)", RFC 8349, 842 DOI 10.17487/RFC8349, March 2018, 843 . 845 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 846 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 847 . 849 7.2. Informative References 851 [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol 852 Label Switching Architecture", RFC 3031, 853 DOI 10.17487/RFC3031, January 2001, 854 . 856 [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., 857 Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack 858 Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, 859 . 861 [RFC7424] Krishnan, R., Yong, L., Ghanwani, A., So, N., and B. 862 Khasnabish, "Mechanisms for Optimizing Link Aggregation 863 Group (LAG) and Equal-Cost Multipath (ECMP) Component Link 864 Utilization in Networks", RFC 7424, DOI 10.17487/RFC7424, 865 January 2015, . 867 Authors' Addresses 869 Tarek Saad 870 Juniper Networks 872 Email: tsaad@juniper.net 874 Kamran Raza 875 Cisco Systems Inc 877 Email: skraza@cisco.com 879 Rakesh Gandhi 880 Cisco Systems Inc 882 Email: rgandhi@cisco.com 884 Xufeng Liu 885 Volta Networks 887 Email: xufeng.liu.ietf@gmail.com 889 Vishnu Pavan Beeram 890 Juniper Networks 892 Email: vbeeram@juniper.net