idnits 2.17.1 draft-ietf-mpls-base-yang-13.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 03, 2020) is 1515 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 4, 2020 R. Gandhi 6 Cisco Systems Inc 7 X. Liu 8 Volta Networks 9 V. Beeram 10 Juniper Networks 11 March 03, 2020 13 A YANG Data Model for MPLS Base 14 draft-ietf-mpls-base-yang-13 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 4, 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: [RFC3031], and [RFC3032]. 303 file "ietf-mpls@2020-03-03.yang" 304 module ietf-mpls { 305 yang-version 1.1; 307 namespace "urn:ietf:params:xml:ns:yang:ietf-mpls"; 309 /* Replace with IANA when assigned */ 310 prefix "mpls"; 312 import ietf-routing { 313 prefix "rt"; 314 reference "RFC8349: A YANG Data Model for Routing Management"; 315 } 317 import ietf-routing-types { 318 prefix "rt-types"; 319 reference "RFC8294:Common YANG Data Types for the Routing Area"; 320 } 322 import ietf-yang-types { 323 prefix "yang"; 324 reference "RFC6991: Common YANG Data Types"; 325 } 327 import ietf-interfaces { 328 prefix "if"; 329 reference "RFC8343: A YANG Data Model for Interface Management"; 330 } 332 organization "IETF MPLS Working Group"; 333 contact 334 "WG Web: 336 WG List: 338 Editor: Tarek Saad 339 341 Editor: Kamran Raza 342 344 Editor: Rakesh Gandhi 345 347 Editor: Xufeng Liu 348 350 Editor: Vishnu Pavan Beeram 351 "; 353 description 354 "This YANG module defines the essential components for the 355 management of the MPLS subsystem. The model fully conforms 356 to the Network Management Datastore Architecture (NMDA). 358 Copyright (c) 2018 IETF Trust and the persons 359 identified as authors of the code. All rights reserved. 361 Redistribution and use in source and binary forms, with or 362 without modification, is permitted pursuant to, and subject 363 to the license terms contained in, the Simplified BSD License 364 set forth in Section 4.c of the IETF Trust's Legal Provisions 365 Relating to IETF Documents 366 (https://trustee.ietf.org/license-info). 367 This version of this YANG module is part of RFC XXXX; see 368 the RFC itself for full legal notices."; 370 // RFC Ed.: replace XXXX with actual RFC number and remove this 371 // note. 373 // RFC Ed.: update the date below with the date of RFC publication 374 // and remove this note. 376 revision "2020-03-03" { 377 description 378 "Latest revision: 379 - Addressed review comments"; 380 reference "RFC XXXX: A YANG Data Model for base MPLS"; 382 } 384 feature mpls { 385 description 386 "Indicates support for MPLS switching."; 387 reference "RFC3031"; 388 } 390 /* Identities */ 392 identity mpls { 393 base rt:address-family; 394 description 395 "This identity represents the MPLS address family."; 396 } 398 identity label-block-alloc-mode { 399 description 400 "Base identity label-block allocation mode"; 401 } 403 identity label-block-alloc-mode-manager { 404 base label-block-alloc-mode; 405 description 406 "Label block allocation on reserved block 407 is managed by label manager"; 408 } 410 identity label-block-alloc-mode-application { 411 base label-block-alloc-mode; 412 description 413 "Label block allocation on reserved block 414 is managed by application"; 415 } 417 /** 418 * Typedefs 419 */ 420 typedef mpls-operations-type { 421 type enumeration { 422 enum impose-and-forward { 423 description 424 "Operation impose outgoing label(s) and forward to 425 next-hop"; 426 } 427 enum pop-and-forward { 428 description 429 "Operation pop incoming label and forward to next-hop"; 431 } 432 enum pop-impose-and-forward { 433 description 434 "Operation pop incoming label, impose one or more 435 outgoing label(s) and forward to next-hop"; 436 } 437 enum swap-and-forward { 438 description 439 "Operation swap incoming label, with outgoing label and 440 forward to next-hop"; 441 } 442 enum pop-and-lookup { 443 description 444 "Operation pop incoming label and perform a lookup"; 445 } 446 } 447 description "MPLS operations types"; 448 } 450 typedef nhlfe-role { 451 type enumeration { 452 enum PRIMARY { 453 description 454 "Next-hop acts as primary traffic carrying"; 455 } 456 enum BACKUP { 457 description 458 "Next-hop acts as backup"; 459 } 460 enum PRIMARY_AND_BACKUP { 461 description 462 "Next-hop acts as primary and backup simultaneously"; 463 } 464 } 465 description "The next-hop role"; 466 } 468 grouping nhlfe-single-contents { 469 description 470 "MPLS simple NHLFE contents"; 471 uses rt-types:mpls-label-stack; 472 } 474 grouping nhlfe-multiple-contents { 475 description 476 "MPLS NHLFE contents"; 477 leaf index { 478 type string; 479 description 480 "A user-specified identifier utilised to uniquely 481 reference the next-hop entry in the next-hop list. 482 The value of this index has no semantic meaning 483 other than for referencing the entry."; 484 } 486 leaf backup-index { 487 type string; 488 description 489 "A user-specified identifier utilised to uniquely 490 reference the backup next-hop entry in the NHLFE list. 491 The value of this index has no semantic meaning 492 other than for referencing the entry."; 493 } 495 leaf loadshare { 496 type uint16; 497 description 498 "This value is used to compute a loadshare to perform un-equal 499 load balancing when multiple outgoing next-hop(s) are 500 specified. A share is computed as a ratio of this number to the 501 total under all next-hops(s)."; 502 reference 503 "RFC7424, section 5.4, 504 RFC3031, section 3.11 and 3.12."; 505 } 507 leaf role { 508 type nhlfe-role; 509 description "NHLFE role"; 510 } 512 uses nhlfe-single-contents; 513 } 515 grouping interface-mpls-properties { 516 description "MPLS interface contents grouping"; 517 leaf enabled { 518 type boolean; 519 description 520 "'true' if mpls encapsulation is enabled on the interface. 521 'false' if mpls encapsulation is disabled on the interface."; 522 } 523 leaf maximum-labeled-packet { 524 type uint32; 525 units octets; 526 description "Maximum labeled packet size."; 527 reference "RFC3032, section 3.2."; 528 } 529 } 531 grouping interfaces-mpls { 532 description "List of MPLS interfaces"; 533 list interface { 534 key "name"; 535 description "List of MPLS interfaces"; 536 leaf name { 537 type if:interface-ref; 538 description 539 "The name of a configured MPLS interface"; 540 } 541 uses interface-mpls-properties; 542 } 543 } 545 grouping label-block-properties { 546 description "Label-block configuration items"; 547 leaf index { 548 type string; 549 description 550 "A user-specified identifier utilised to uniquely 551 reference an MPLS label block"; 552 } 553 leaf start-label { 554 type rt-types:mpls-label; 555 must '. >= ../end-label' { 556 error-message 557 "The start-label must be less than or equal " + 558 "to end-label"; 559 } 560 description "Label-block start"; 561 } 562 leaf end-label { 563 type rt-types:mpls-label; 564 must '. <= ../start-label' { 565 error-message 566 "The end-label must be greater than or equal " + 567 "to start-label"; 568 } 569 description "Label-block end"; 570 } 571 leaf block-allocation-mode { 572 type identityref { 573 base label-block-alloc-mode; 574 } 575 description "Label-block allocation mode"; 576 } 577 } 579 grouping label-block_state { 580 description "Label-block state items"; 581 leaf free-labels-count { 582 when "derived-from-or-self(../block-allocation-mode, " + 583 "'mpls:label-block-alloc-mode-manager')"; 584 type yang:counter32; 585 config false; 586 description "Label-block free labels count"; 587 } 588 leaf inuse-labels-count { 589 when "derived-from-or-self(../block-allocation-mode, " + 590 "'mpls:label-block-alloc-mode-manager')"; 591 type yang:counter32; 592 config false; 593 description "Label-block inuse labels count"; 594 } 595 } 597 grouping globals { 598 description "MPLS global configuration grouping"; 599 leaf ttl-propagate { 600 type boolean; 601 default 'true'; 602 description "Propagate TTL between IP and MPLS"; 603 } 604 } 605 grouping label-blocks { 606 description "Label-block allocation grouping"; 607 container label-blocks { 608 description "Label-block allocation container"; 609 list label-block { 610 key index; 611 unique "start-label end-label"; 612 description "List of MPLS label-blocks"; 613 uses label-block-properties; 614 uses label-block_state; 615 } 616 } 617 } 619 augment "/rt:routing" { 620 if-feature mpls; 621 description "MPLS augmentation."; 622 container mpls { 623 description 624 "MPLS container, to be used as an augmentation target node 625 other MPLS sub-features config, e.g. MPLS static LSP, MPLS 626 LDP LSPs, and Trafic Engineering MPLS LSP Tunnels, etc."; 627 uses globals; 628 uses label-blocks; 629 uses interfaces-mpls; 630 } 631 } 633 /* MPLS routes augmentation */ 634 augment "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route" { 635 if-feature mpls; 636 description 637 "This is augmentation for all MPLS routes."; 638 leaf mpls-enabled { 639 type boolean; 640 default 'false'; 641 description 642 "Indicates whether MPLS is enabled for this route"; 643 } 644 leaf local-label { 645 when "../mpls-enabled = 'true'"; 646 type rt-types:mpls-label; 647 description "MPLS local label associated with the route."; 648 } 649 } 651 /* MPLS simple-next-hop augmentation */ 652 augment "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route/" 653 + "rt:next-hop/rt:next-hop-options/rt:simple-next-hop" { 654 description 655 "Augment 'simple-next-hop' case in IP unicast routes."; 656 uses nhlfe-single-contents { 657 when "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route" + 658 "/mpls:mpls-enabled = 'true'"; 659 } 660 } 662 /* MPLS next-hop-list augmentation */ 663 augment "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route/" 664 + "rt:next-hop/rt:next-hop-options/rt:next-hop-list/" 665 + "rt:next-hop-list/rt:next-hop" { 666 description 667 "This leaf augments the 'next-hop-list' case of IP unicast 668 routes."; 669 uses nhlfe-multiple-contents { 670 when "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route" + 671 "/mpls:mpls-enabled = 'true'"; 672 } 673 } 675 /* MPLS RPC input augmentation */ 676 augment 677 "/rt:routing/rt:ribs/rt:rib/rt:active-route/rt:input" { 678 description 679 "Input MPLS augmentation for the 'active-route' action 680 statement."; 681 leaf local-label { 682 type rt-types:mpls-label; 683 description 684 "MPLS local label."; 685 } 686 } 688 /* MPLS RPC output augmentation */ 689 augment "/rt:routing/rt:ribs/rt:rib/rt:active-route/" 690 + "rt:output/rt:route/" 691 + "rt:next-hop/rt:next-hop-options/rt:simple-next-hop" { 692 description 693 "Output MPLS augmentation for the 'active-route' action 694 statement."; 695 uses nhlfe-single-contents; 696 } 697 augment "/rt:routing/rt:ribs/rt:rib/rt:active-route/" 698 + "rt:output/rt:route/" 699 + "rt:next-hop/rt:next-hop-options/rt:next-hop-list/" 700 + "rt:next-hop-list/rt:next-hop" { 701 description 702 "Output MPLS augmentation for the 'active-route' action 703 statement."; 704 uses nhlfe-multiple-contents; 705 } 706 } 707 709 Figure 3: MPLS base YANG module 711 3. IANA Considerations 713 This document registers the following URIs in the IETF XML registry 714 [RFC3688]. Following the format in [RFC3688], the following 715 registration is requested to be made. 717 URI: urn:ietf:params:xml:ns:yang:ietf-mpls 718 Registrant Contact: The MPLS WG of the IETF. 719 XML: N/A, the requested URI is an XML namespace. 721 This document registers a YANG module in the YANG Module Names 722 registry [RFC6020]. 724 name: ietf-mpls 725 namespace: urn:ietf:params:xml:ns:yang:ietf-mpls 726 prefix: ietf-mpls 727 // RFC Ed.: replace XXXX with RFC number and remove this note 728 reference: RFCXXXX 730 4. Security Considerations 732 The YANG modules specified in this document define a schema for data 733 that is designed to be accessed via network management protocols such 734 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 735 is the secure transport layer, and the mandatory-to-implement secure 736 transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer 737 is HTTPS, and the mandatory-to-implement secure transport is TLS 738 [RFC8446]. 740 The NETCONF access control model [RFC8341] provides the means to 741 restrict access for particular NETCONF or RESTCONF users to a 742 preconfigured subset of all available NETCONF or RESTCONF protocol 743 operations and content. 745 Some of the readable data nodes in these YANG modules may be 746 considered sensitive or vulnerable in some network environments. It 747 is thus important to control read access (e.g., via get, get-config, 748 or notification) to these data nodes. These are the subtrees and 749 data nodes and their sensitivity/vulnerability: 751 /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route: this 752 path is augmented by additional MPLS leaf(s) defined in this model. 753 Access to this information may disclose the per prefix and/or other 754 information. 756 /rt:routing/rt:ribs/rt:rib/rt:active-route/rt:output/rt:route/ 757 rt:next-hop/rt:next-hop-options/rt:simple-next-hop: this path is 758 augmented by additional MPLS leaf(s) defined in this model. Access 759 to this information may disclose the next-hop or path per prefix and/ 760 or other information. 762 5. Acknowledgement 764 The authors would like to thank the members of the multi-vendor YANG 765 design team who are involved in the definition of this model. 767 6. Contributors 769 Igor Bryskin 770 Huawei Technologies 771 email: Igor.Bryskin@huawei.com 773 Himanshu Shah 774 Ciena 775 email: hshah@ciena.com 777 7. References 779 7.1. Normative References 781 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 782 Requirement Levels", BCP 14, RFC 2119, 783 DOI 10.17487/RFC2119, March 1997, 784 . 786 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 787 DOI 10.17487/RFC3688, January 2004, 788 . 790 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 791 the Network Configuration Protocol (NETCONF)", RFC 6020, 792 DOI 10.17487/RFC6020, October 2010, 793 . 795 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 796 and A. Bierman, Ed., "Network Configuration Protocol 797 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 798 . 800 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 801 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 802 . 804 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 805 RFC 7950, DOI 10.17487/RFC7950, August 2016, 806 . 808 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 809 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 810 . 812 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 813 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 814 May 2017, . 816 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 817 "Common YANG Data Types for the Routing Area", RFC 8294, 818 DOI 10.17487/RFC8294, December 2017, 819 . 821 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 822 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 823 . 825 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 826 Access Control Model", STD 91, RFC 8341, 827 DOI 10.17487/RFC8341, March 2018, 828 . 830 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 831 and R. Wilton, "Network Management Datastore Architecture 832 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 833 . 835 [RFC8343] Bjorklund, M., "A YANG Data Model for Interface 836 Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, 837 . 839 [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for 840 Routing Management (NMDA Version)", RFC 8349, 841 DOI 10.17487/RFC8349, March 2018, 842 . 844 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 845 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 846 . 848 7.2. Informative References 850 [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol 851 Label Switching Architecture", RFC 3031, 852 DOI 10.17487/RFC3031, January 2001, 853 . 855 [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., 856 Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack 857 Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, 858 . 860 Authors' Addresses 862 Tarek Saad 863 Juniper Networks 865 Email: tsaad@juniper.net 867 Kamran Raza 868 Cisco Systems Inc 870 Email: skraza@cisco.com 872 Rakesh Gandhi 873 Cisco Systems Inc 875 Email: rgandhi@cisco.com 877 Xufeng Liu 878 Volta Networks 880 Email: xufeng.liu.ietf@gmail.com 882 Vishnu Pavan Beeram 883 Juniper Networks 885 Email: vbeeram@juniper.net