idnits 2.17.1 draft-busizheng-teas-yang-te-mpls-topology-03.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 date (28 April 2022) is 729 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) == Outdated reference: A later version (-16) exists of draft-ietf-teas-yang-l3-te-topo-12 == Outdated reference: A later version (-04) exists of draft-ietf-teas-yang-te-mpls-03 Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 TEAS Working Group I. Busi 3 Internet-Draft Huawei Technologies 4 Intended status: Standards Track A. Guo 5 Expires: 30 October 2022 Futurewei Inc. 6 X. Liu 7 Volta Networks 8 T. Saad 9 Juniper Networks 10 R. Gandhi 11 Cisco Systems, Inc. 12 28 April 2022 14 A YANG Data Model for MPLS-TE Topology 15 draft-busizheng-teas-yang-te-mpls-topology-03 17 Abstract 19 This document describes a YANG data model for Multi-Protocol Label 20 Switching (MPLS) with Traffic Engineering (MPLS-TE) networks. 22 Status of This Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at https://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on 30 October 2022. 39 Copyright Notice 41 Copyright (c) 2022 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 46 license-info) in effect on the date of publication of this document. 47 Please review these documents carefully, as they describe your rights 48 and restrictions with respect to this document. Code Components 49 extracted from this document must include Revised BSD License text as 50 described in Section 4.e of the Trust Legal Provisions and are 51 provided without warranty as described in the Revised BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 1.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 2 57 1.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 3 58 2. MPLS-TE Types Overview . . . . . . . . . . . . . . . . . . . 3 59 3. MPLS-TE Topology Model Overview . . . . . . . . . . . . . . . 4 60 3.1. TE Label Augmentations . . . . . . . . . . . . . . . . . 5 61 3.2. MPLS-TP Topology . . . . . . . . . . . . . . . . . . . . 5 62 4. YANG model for common MPLS-TE Types . . . . . . . . . . . . . 6 63 5. YANG model for MPLS-TE Topology . . . . . . . . . . . . . . . 8 64 5.1. YANG Tree . . . . . . . . . . . . . . . . . . . . . . . . 8 65 5.2. YANG Code . . . . . . . . . . . . . . . . . . . . . . . . 9 66 6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 67 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 68 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 69 8.1. Normative References . . . . . . . . . . . . . . . . . . 12 70 8.2. Informative References . . . . . . . . . . . . . . . . . 12 71 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 13 72 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 13 73 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 75 1. Introduction 77 This document describes a YANG data model for Multi-Protocol Label 78 Switching (MPLS) with Traffic Engineering (MPLS-TE) networks. 80 This document also defines a collection of common data types and 81 groupings in YANG data modeling language for MPLS-TE networks. These 82 derived common types and groupings are intended to be imported by the 83 MPLS-TE topology model, defined in this document, as well as by the 84 MPLS-TE tunnel model, defined in [I-D.ietf-teas-yang-te-mpls]. 86 Multi-Protocol Label Switching - Transport Profile (MPLS-TP) is a 87 profile of the MPLS protocol that is used in packet switched 88 transport networks and operated in a similar manner to other existing 89 transport technologies (e.g., OTN), as described in [RFC5921]. The 90 YANG model defined in this document can also be for MPLS-TP networks. 92 1.1. Tree Diagram 94 A simplified graphical representation of the data model is used in 95 Section 5.1 of this this document. The meaning of the symbols in 96 these diagrams is defined in [RFC8340]. 98 1.2. Prefixes in Data Node Names 100 In this document, names of data nodes and other data model objects 101 are prefixed using the standard prefix associated with the 102 corresponding YANG imported modules, as shown in Table 1. 104 +============+====================+=================================+ 105 | Prefix | YANG module | Reference | 106 +============+====================+=================================+ 107 | rt-types | ietf-routing- | [RFC8294] | 108 | | types | | 109 +------------+--------------------+---------------------------------+ 110 | tet | ietf-te- | [RFC8795] | 111 | | topology | | 112 +------------+--------------------+---------------------------------+ 113 | tet-pkt | ietf-te- | [I-D.ietf-teas-yang-l3-te-topo] | 114 | | topology-packet | | 115 +------------+--------------------+---------------------------------+ 116 | te-packet- | ietf-te-packet- | [I-D.ietf-teas-yang-l3-te-topo] | 117 | types | types | | 118 +------------+--------------------+---------------------------------+ 119 | mte-types | ietf-mpls-te- | This document | 120 | | types | | 121 +------------+--------------------+---------------------------------+ 122 | tet-mpls | ietf-te-mpls- | This document | 123 | | topology | | 124 +------------+--------------------+---------------------------------+ 126 Table 1: Prefixes and corresponding YANG modules 128 2. MPLS-TE Types Overview 130 The module ietf-mpls-te-types contains the following YANG types and 131 groupings which can be reused by MPLS-TE YANG models: 133 load-balancing-type: 135 This identify defines the types of load-balancing algorithms used 136 on bundled MPLS-TE link. 138 te-mpls-label-hop: 140 This grouping is used for the augmentation of TE label for MPLS-TE 141 path. 143 3. MPLS-TE Topology Model Overview 145 The MPLS-TE technology specific topology model augments the ietf-te- 146 topology-packet YANG module, defined in 147 [I-D.ietf-teas-yang-l3-te-topo], which in turns augment the generic 148 ietf-te-topology YANG module, defined in [RFC8795], as shown in 149 Figure 1. 151 +------------------+ o: augment 152 TE generic | ietf-te-topology | 153 +------------------+ 154 o 155 | 156 | 157 | 158 +-------------------------+ 159 Packet TE | ietf-te-topology-packet | 160 +-------------------------+ 161 o 162 | 163 | 164 | 165 +-----------------------+ 166 MPLS-TE | ietf-te-mpls-topology | 167 +-----------------------+ 169 Figure 1: Relationship between MPLS-TE, Packet-TE and TE topology 170 models 172 Given the guidance for augmentation in [RFC8795], the following 173 technology-specific augmentations need to be provided: 175 * A network-type to indicate that the TE topology is an MPLS-TE 176 Topology, as follow: 178 augment /nw:networks/nw:network/nw:network-types/tet:te-topology 179 /tet-pkt:packet: 180 +--rw mpls-topology! 182 * TE Label Augmentations as described in Section 3.1. 184 Note: TE Bandwidth Augmentations for paths, LSPs and links are 185 provided by the ietf-te-topology-packet module, defined in 186 [I-D.ietf-teas-yang-l3-te-topo]. 188 3.1. TE Label Augmentations 190 In MPLS-TE, the label allocation is done by NE, information about 191 label values availability is not necessary to be provided to the 192 controller. Moreover, MPLS-TE tunnels are currently established 193 within a single domain. 195 Therefore this document does not define any MPLS-TE technology- 196 specific augmentations, of the TE Topology model, for the TE label 197 since no TE label related attributes should be instantiated for MPLS- 198 TE Topologies. 200 Open issue: shall this module allows the setup of MPLS-TE multi- 201 domain tunnels? 203 3.2. MPLS-TP Topology 205 Multi-Protocol Label Switching - Transport Profile (MPLS-TP) is a 206 profile of the MPLS protocol that is used in packet switched 207 transport networks and operated in a similar manner to other existing 208 transport technologies (e.g., OTN), as described in [RFC5921]. 210 Therefore YANG model defined in this document can also be applicable 211 for MPLS-TP networks. 213 However, as described in [RFC5921], MPLS-TP networks support 214 bidirectional LSPs and require no ECMP and no PHP. When reporting 215 the topology for an MPLS-TP network, additional information is 216 required to indicate whether the network support these MPLS-TP 217 characteristics. 219 It is worth noting that [RFC8795] is already capable to model TE 220 topologies supporting either unidirectional or bidirectional LSPs: 221 all bidirectional TE links can support bidirectional LSPs and all the 222 links can support unidirectional LSPs and it is always possible to 223 associated unidirectional LSPs as long as they belong to the same 224 tunnel. 226 When setting up bidirectional LSPs (e.g., MPLS-TP LSPs) only 227 bidirectional TE Links are selected by path computation. 229 In order to allow reporting that ECMP is not affecting forwarding the 230 packets of a given LSP, the load-balancing-type attribute reports 231 whether a LAG or TE Bundled Link performs load-balancing on a per- 232 flow or per-top-label: 234 augment /nw:networks/nw:network/nt:link/tet:te: 235 +--rw load-balancing-type? mte-types:load-balancing-type 237 When setting up LSPs which do not requires ECMP (e.g., MPLS-TP LSPs) 238 only Links that are not part of a LAG or TE Bundle or that performs 239 per-top-label load balancing are selected by path computation. 241 It is assumed that almost all the MPLS-TE nodes are capable to 242 support Ultimate Hop Popping (UHP). However, if some interfaces are 243 not able to support UHP, they can report it in the MPLS-TE topology: 245 augment /nw:networks/nw:network/nw:node/nt:termination-point 246 /tet:te: 247 +--ro uhp-incapable? empty 249 When setting up LSPs which do not requires PHP (e.g., MPLS-TP LSPs) 250 only the interfaces (LTPs) which are capable to support UHP in the 251 destination node are selected by path computation. 253 4. YANG model for common MPLS-TE Types 255 file "ietf-mpls-te-types@2021-10-12.yang" 256 module ietf-mpls-te-types { 257 yang-version 1.1; 258 namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-te-types"; 260 prefix "mte-types"; 262 import ietf-routing-types { 263 prefix "rt-types"; 264 } 266 organization 267 "Internet Engineering Task Force (IETF) TEAS WG"; 268 contact 269 "WG Web: 270 WG List: 272 Editor: Italo Busi 273 275 Editor: Haomian Zheng 276 278 Editor: Aihua Guo 279 281 Editor: Xufeng Liu 282 284 Editor: Vishnu Pavan Beeram 285 287 Editor: Tarek Saad 288 290 Editor: Rakesh Gandhi 291 293 Editor: Igor Bryskin 294 296 Editor: Yanlei Zheng 297 "; 299 description 300 "This module defines technology-specific MPLS-TE types 301 data model. 303 Copyright (c) 2021 IETF Trust and the persons identified 304 as authors of the code. All rights reserved. 306 Redistribution and use in source and binary forms, with 307 or without modification, is permitted pursuant to, and 308 subject to the license terms contained in, the Simplified 309 BSD License set forth in Section 4.c of the IETF Trust's 310 Legal Provisions Relating to IETF Documents 311 (http://trustee.ietf.org/license-info). 313 This version of this YANG module is part of RFC XXXX; see 314 the RFC itself for full legal notices."; 316 revision 2021-10-12 { 317 description 318 "Initial Version"; 319 reference 320 "draft-busizheng-teas-yang-te-mpls-topology-02"; 321 } 323 /* 324 * Typedefs 325 */ 327 typedef load-balancing-type { 328 type enumeration { 329 enum per-flow { 330 description 331 "The load-balancing algorithm ensures that packets 332 characterized as the same flow (e.g. based on IP 5-tuple) 333 that egress on a LAG or a bundled TE link are forwarded 334 on the same component link. 336 Packets for different flows within the same LSP can be 337 forwarded on different component links."; 338 } 339 enum per-top-label { 340 description 341 "The load-balancing algorithm ensures incoming MPLS 342 packets with the same top MPLS label and that egress on 343 on a LAG or bundled TE link are forwarded on the same 344 component link. 346 Packets for different flows within the same LSP are 347 forwarded on the same component link."; 348 } 349 } 350 description 351 "The type of load balancing used on bundled links."; 352 } // typedef load-balancing-type 354 /* 355 * Groupings 356 */ 358 grouping te-mpls-label-hop { 359 description 360 "MPLS-TE Label Hop."; 362 leaf mpls-label { 363 type rt-types:mpls-label; 364 description 365 "MPLS Label."; 366 } 367 } // grouping te-mpls-label-hop 368 } 369 371 Figure 2: MPLS-TE Types YANG model 373 5. YANG model for MPLS-TE Topology 375 5.1. YANG Tree 377 Figure 3 below shows the tree diagram of the YANG model defined in 378 module ietf-te-mpls-topology.yang. 380 module: ietf-te-mpls-topology 382 augment /nw:networks/nw:network/nw:network-types/tet:te-topology 383 /tet-pkt:packet: 384 +--rw mpls-topology! 385 augment /nw:networks/nw:network/nt:link/tet:te: 386 +--rw load-balancing-type? mte-types:load-balancing-type 387 augment /nw:networks/nw:network/nw:node/nt:termination-point 388 /tet:te: 389 +--ro uhp-incapable? empty 391 Figure 3: MPLS-TE topology YANG tree 393 5.2. YANG Code 395 file "ietf-te-mpls-topology@2021-07-12.yang" 396 module ietf-te-mpls-topology { 397 yang-version 1.1; 398 namespace "urn:ietf:params:xml:ns:yang:ietf-te-mpls-topology"; 400 prefix "tet-mpls"; 402 import ietf-network { 403 prefix "nw"; 404 } 406 import ietf-network-topology { 407 prefix "nt"; 408 } 410 import ietf-te-topology { 411 prefix "tet"; 412 } 414 import ietf-te-topology-packet { 415 prefix "tet-pkt"; 416 } 418 import ietf-mpls-te-types { 419 prefix "mte-types"; 420 } 422 organization 423 "Internet Engineering Task Force (IETF) TEAS WG"; 424 contact 425 "WG Web: 426 WG List: 427 Editor: Italo Busi 428 430 Editor: Haomian Zheng 431 433 Editor: Aihua Guo 434 436 Editor: Xufeng Liu 437 439 Editor: Vishnu Pavan Beeram 440 442 Editor: Tarek Saad 443 445 Editor: Rakesh Gandhi 446 448 Editor: Igor Bryskin 449 451 Editor: Yanlei Zheng 452 "; 454 description 455 "This module defines technology-specific MPLS-TE topology 456 data model. 458 Copyright (c) 2021 IETF Trust and the persons identified 459 as authors of the code. All rights reserved. 461 Redistribution and use in source and binary forms, with 462 or without modification, is permitted pursuant to, and 463 subject to the license terms contained in, the Simplified 464 BSD License set forth in Section 4.c of the IETF Trust's 465 Legal Provisions Relating to IETF Documents 466 (http://trustee.ietf.org/license-info). 468 This version of this YANG module is part of RFC XXXX; see 469 the RFC itself for full legal notices."; 471 revision 2021-10-12 { 472 description 473 "Initial Version"; 474 reference 475 "draft-busizheng-teas-yang-te-mpls-topology-02"; 476 } 478 /* 479 * Augmentations 480 */ 482 augment "/nw:networks/nw:network/nw:network-types/" 483 + "tet:te-topology/tet-pkt:packet" { 484 description 485 "Augment network types to include MPLS-TE Topology Type"; 486 container mpls-topology { 487 presence 488 "Indicates an MPLS-TE Topology Type."; 489 description 490 "Its presence indicates an MPLS-TE Topology"; 491 } 492 } 494 augment "/nw:networks/nw:network/nt:link/tet:te" { 495 when "../../nw:network-types/tet:te-topology/" 496 + "tet-pkt:packet/tet-mpls:mpls-topology" { 497 description 498 "Augment MPLS-TE Topology."; 499 } 500 description 501 "Augment TE Link."; 503 leaf load-balancing-type { 504 type mte-types:load-balancing-type; 505 default 'per-flow'; 506 description 507 "Indicates the type of load-balancing (per-flow or per-LSP) 508 performed by the bundled TE Link. 510 This leaf is not present when the TE Link is not bundled."; 511 } // leaf load-balancing-type 512 } 514 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 515 + "tet:te" { 516 when "../../../nw:network-types/tet:te-topology/" 517 + "tet-pkt:packet/tet-mpls:mpls-topology" { 518 description "Augment MPLS-TE Topology."; 519 } 520 description "Augment LTP."; 522 leaf uhp-incapable { 523 type empty; 524 config false; 525 description 526 "When present, indicates that the LTP is not capable to 527 support Ultimate Hop Popping (UHP)."; 528 } // leaf uhp-incapable 529 } 530 } 531 533 Figure 4: MPLS-TE topology YANG module 535 6. Security Considerations 537 To be added. 539 7. IANA Considerations 541 To be added. 543 8. References 545 8.1. Normative References 547 [I-D.ietf-teas-yang-l3-te-topo] 548 Liu, X., Bryskin, I., Beeram, V. P., Saad, T., Shah, H., 549 and O. G. D. Dios, "YANG Data Model for Layer 3 TE 550 Topologies", Work in Progress, Internet-Draft, draft-ietf- 551 teas-yang-l3-te-topo-12, 24 October 2021, 552 . 555 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 556 "Common YANG Data Types for the Routing Area", RFC 8294, 557 DOI 10.17487/RFC8294, December 2017, 558 . 560 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 561 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 562 . 564 [RFC8795] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and 565 O. Gonzalez de Dios, "YANG Data Model for Traffic 566 Engineering (TE) Topologies", RFC 8795, 567 DOI 10.17487/RFC8795, August 2020, 568 . 570 8.2. Informative References 572 [I-D.ietf-teas-yang-te-mpls] 573 Saad, T., Gandhi, R., Liu, X., Beeram, V. P., and I. 574 Bryskin, "A YANG Data Model for MPLS Traffic Engineering 575 Tunnels", Work in Progress, Internet-Draft, draft-ietf- 576 teas-yang-te-mpls-03, 9 March 2020, 577 . 580 [RFC5921] Bocci, M., Ed., Bryant, S., Ed., Frost, D., Ed., Levrau, 581 L., and L. Berger, "A Framework for MPLS in Transport 582 Networks", RFC 5921, DOI 10.17487/RFC5921, July 2010, 583 . 585 Acknowledgments 587 We thank Loa Andersson for providing useful suggestions for this 588 draft. 590 This document was prepared using kramdown. 592 Previous versions of this document was prepared using 2-Word- 593 v2.0.template.dot. 595 Contributors 597 Haomian Zheng 598 Huawei Technologies 599 Email: zhenghaomian@huawei.com 601 Vishnu Pavan Beeram 602 Juniper Networks 603 Email: vbeeram@juniper.net 605 Igor Bryskin 606 Individual 607 Email: i_bryskin@yahoo.com 609 Yanlei Zheng 610 China Unicom 611 Email: zhengyanlei@chinaunicom.cn 613 Authors' Addresses 614 Italo Busi 615 Huawei Technologies 616 Email: italo.busi@huawei.com 618 Aihua Guo 619 Futurewei Inc. 620 Email: aihuaguo.ietf@gmail.com 622 Xufeng Liu 623 Volta Networks 624 Email: xufeng.liu.ietf@gmail.com 626 Tarek Saad 627 Juniper Networks 628 Email: tsaad@juniper.net 630 Rakesh Gandhi 631 Cisco Systems, Inc. 632 Email: rgandhi@cisco.com