idnits 2.17.1 draft-busizheng-teas-yang-te-mpls-topology-01.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 (July 12, 2021) is 1012 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-11 == 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 H. Zheng 4 Intended status: Standards Track Huawei Technologies 5 Expires: January 13, 2022 A. Guo 6 Futurewei Inc. 7 X. Liu 8 Volta Networks 9 July 12, 2021 11 A YANG Data Model for MPLS-TE Topology 12 draft-busizheng-teas-yang-te-mpls-topology-01 14 Abstract 16 This document describes a YANG data model for Multi-Protocol Label 17 Switching (MPLS) with Traffic Engineering (MPLS-TE) networks. 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at https://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on January 13, 2022. 36 Copyright Notice 38 Copyright (c) 2021 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (https://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 54 1.1. Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 2 55 1.2. Prefixes in Data Node Names . . . . . . . . . . . . . . . 3 56 2. MPLS-TE Types Overview . . . . . . . . . . . . . . . . . . . 3 57 3. MPLS-TE Topology Model Overview . . . . . . . . . . . . . . . 3 58 3.1. TE Label Augmentations . . . . . . . . . . . . . . . . . 4 59 3.2. MPLS-TP Topology . . . . . . . . . . . . . . . . . . . . 5 60 4. YANG model for common MPLS-TE Types . . . . . . . . . . . . . 6 61 5. YANG model for MPLS-TE Topology . . . . . . . . . . . . . . . 8 62 5.1. YANG Tree . . . . . . . . . . . . . . . . . . . . . . . . 8 63 5.2. YANG Code . . . . . . . . . . . . . . . . . . . . . . . . 8 64 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 65 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 66 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 67 8.1. Normative References . . . . . . . . . . . . . . . . . . 11 68 8.2. Informative References . . . . . . . . . . . . . . . . . 12 69 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 12 70 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 72 1. Introduction 74 This document describes a YANG data model for Multi-Protocol Label 75 Switching (MPLS) with Traffic Engineering (MPLS-TE) networks. 77 This document also defines a collection of common data types and 78 groupings in YANG data modeling language for MPLS-TE networks. These 79 derived common types and groupings are intended to be imported by the 80 MPLS-TE topology model, defined in this document, as well as by the 81 MPLS-TE tunnel model, defined in [I-D.ietf-teas-yang-te-mpls]. 83 Multi-Protocol Label Switching - Transport Profile (MPLS-TP) is a 84 profile of the MPLS protocol that is used in packet switched 85 transport networks and operated in a similar manner to other existing 86 transport technologies (e.g., OTN), as described in [RFC5921]. The 87 YANG model defined in this document can also be for MPLS-TP networks. 89 1.1. Tree Diagram 91 A simplified graphical representation of the data model is used in 92 Section 5.1 of this this document. The meaning of the symbols in 93 these diagrams is defined in [RFC8340]. 95 1.2. Prefixes in Data Node Names 97 In this document, names of data nodes and other data model objects 98 are prefixed using the standard prefix associated with the 99 corresponding YANG imported modules, as shown in Table 1. 101 +--------------+----------------------+-----------------------------+ 102 | Prefix | YANG module | Reference | 103 +--------------+----------------------+-----------------------------+ 104 | rt-types | ietf-routing-types | [RFC8294] | 105 | | | | 106 | tet | ietf-te-topology | [RFC8795] | 107 | | | | 108 | tet-pkt | ietf-te-topology- | [I-D.ietf-teas-yang-l3-te-t | 109 | | packet | opo] | 110 | | | | 111 | te-packet- | ietf-te-packet-types | [I-D.ietf-teas-yang-l3-te-t | 112 | types | | opo] | 113 | | | | 114 | mte-types | ietf-mpls-te-types | This document | 115 | | | | 116 | tet-mpls | ietf-te-mpls- | This document | 117 | | topology | | 118 +--------------+----------------------+-----------------------------+ 120 Table 1: Prefixes and corresponding YANG modules 122 2. MPLS-TE Types Overview 124 The module ietf-mpls-te-types contains the following YANG types and 125 groupings which can be reused by MPLS-TE YANG models: 127 load-balancing-type This identify defines the types of load- 128 balancing algorithms used on bundled MPLS-TE link. 130 te-mpls-label-hop This grouping is used for the augmentation of TE 131 label for MPLS-TE path. 133 3. MPLS-TE Topology Model Overview 135 The MPLS-TE technology specific topology model augments the ietf-te- 136 topology-packet YANG module, defined in 137 [I-D.ietf-teas-yang-l3-te-topo], which in turns augment the generic 138 ietf-te-topology YANG module, defined in [RFC8795], as shown in 139 Figure 1. 141 +------------------+ o: augment 142 TE generic | ietf-te-topology | 143 +------------------+ 144 o 145 | 146 | 147 | 148 +-------------------------+ 149 Packet TE | ietf-te-topology-packet | 150 +-------------------------+ 151 o 152 | 153 | 154 | 155 +-----------------------+ 156 MPLS-TE | ietf-te-mpls-topology | 157 +-----------------------+ 159 Figure 1: Relationship between MPLS-TE, Packet-TE and TE topology 160 models 162 Given the guidance for augmentation in [RFC8795], the following 163 technology-specific augmentations need to be provided: 165 o A network-type to indicate that the TE topology is an MPLS-TE 166 Topology, as follow: 168 augment /nw:networks/nw:network/nw:network-types/tet:te-topology 169 /tet-pkt:packet: 170 +--rw mpls-topology! 172 o TE Label Augmentations as described in Section 3.1. 174 Note: TE Bandwidth Augmentations for paths, LSPs and links are 175 provided by the ietf-te-topology-packet module, defined in 176 [I-D.ietf-teas-yang-l3-te-topo]. 178 3.1. TE Label Augmentations 180 In MPLS-TE, the label allocation is done by NE, information about 181 label values availability is not necessary to be provided to the 182 controller. Moreover, MPLS-TE tunnels are currently established 183 within a single domain. 185 Therefore this document does not define any MPLS-TE technology- 186 specific augmentations, of the TE Topology model, for the TE label 187 since no TE label related attributes should be instantiated for MPLS- 188 TE Topologies. 190 Open issue: shall this module allows the setup of MPLS-TE multi- 191 domain tunnels? 193 3.2. MPLS-TP Topology 195 Multi-Protocol Label Switching - Transport Profile (MPLS-TP) is a 196 profile of the MPLS protocol that is used in packet switched 197 transport networks and operated in a similar manner to other existing 198 transport technologies (e.g., OTN), as described in [RFC5921]. 200 Therefore YANG model defined in this document can also be applicable 201 for MPLS-TP networks. 203 However, as described in [RFC5921], MPLS-TP networks support 204 bidirectional LSPs and require no ECMP and no PHP. When reporting 205 the topology for an MPLS-TP network, additional information is 206 required to indicate whether the network support these MPLS-TP 207 characteristics. 209 It is worth noting that [RFC8795] is already capable to model TE 210 topologies supporting either unidirectional or bidirectional LSPs: 211 all bidirectional TE links can support bidirectional LSPs and all the 212 links can support unidirectional LSPs and it is always possible to 213 associated unidirectional LSPs as long as they belong to the same 214 tunnel. 216 When setting up bidirectional LSPs (e.g., MPLS-TP LSPs) only 217 bidirectional TE Links are selected by path computation. 219 In order to allow reporting that ECMP is not affecting forwarding the 220 packets of a given LSP, the load-balancing-type attribute reports 221 whether a LAG or TE Bundled Link performs load-balancing on a per- 222 flow or per-top-label: 224 augment /nw:networks/nw:network/nt:link/tet:te: 225 +--rw load-balancing-type? mte-types:load-balancing-type 227 When setting up LSPs which do not requires ECMP (e.g., MPLS-TP LSPs) 228 only Links that are not part of a LAG or TE Bundle or that performs 229 per-top-label load balancing are selected by path computation. 231 It is assumed that almost all the MPLS-TE nodes are capable to 232 support Ultimate Hop Popping (UHP). However, if some interfaces are 233 not able to support UHP, they can report it in the MPLS-TE topology: 235 augment /nw:networks/nw:network/nw:node/nt:termination-point 236 /tet:te: 237 +--ro uhp-incapable? empty 239 When setting up LSPs which do not requires PHP (e.g., MPLS-TP LSPs) 240 only the interfaces (LTPs) which are capable to support UHP in the 241 destination node are selected by path computation. 243 4. YANG model for common MPLS-TE Types 245 file "ietf-mpls-te-types@2021-07-12.yang" 246 module ietf-mpls-te-types { 247 yang-version 1.1; 248 namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-te-types"; 250 prefix "mte-types"; 252 import ietf-routing-types { 253 prefix "rt-types"; 254 } 256 organization 257 "Internet Engineering Task Force (IETF) TEAS WG"; 258 contact 259 "WG Web: 260 WG List: 262 Editor: Italo Busi 263 265 Editor: Haomian Zheng 266 268 Editor: Aihua Guo 269 271 Editor: Xufeng Liu 272 "; 274 description 275 "This module defines technology-specific MPLS-TE types 276 data model. 278 Copyright (c) 2021 IETF Trust and the persons identified 279 as authors of the code. All rights reserved. 281 Redistribution and use in source and binary forms, with 282 or without modification, is permitted pursuant to, and 283 subject to the license terms contained in, the Simplified 284 BSD License set forth in Section 4.c of the IETF Trust's 285 Legal Provisions Relating to IETF Documents 286 (http://trustee.ietf.org/license-info). 287 This version of this YANG module is part of RFC XXXX; see 288 the RFC itself for full legal notices."; 290 revision 2021-07-12 { 291 description 292 "Initial Version"; 293 reference 294 "draft-busizheng-teas-yang-te-mpls-topology"; 295 } 297 /* 298 * Typedefs 299 */ 301 typedef load-balancing-type { 302 type enumeration { 303 enum per-flow { 304 description 305 "The load-balancing algorithm ensures that packets 306 characterized as the same flow (e.g. based on IP 5-tuple) 307 that egress on a LAG or a bundled TE link are forwarded 308 on the same component link. 310 Packets for different flows within the same LSP can be 311 forwarded on different component links."; 312 } 313 enum per-top-label { 314 description 315 "The load-balancing algorithm ensures incoming MPLS 316 packets with the same top MPLS label and that egress on 317 on a LAG or bundled TE link are forwarded on the same 318 component link. 320 Packets for different flows within the same LSP are 321 forwarded on the same component link."; 322 } 323 } 324 description 325 "The type of load balancing used on bundled links."; 326 } // typedef load-balancing-type 328 /* 329 * Groupings 330 */ 332 grouping te-mpls-label-hop { 333 description 334 "MPLS-TE Label Hop."; 336 leaf mpls-label { 337 type rt-types:mpls-label; 338 description 339 "MPLS Label."; 340 } 341 } // grouping te-mpls-label-hop 342 } 343 345 Figure 2: MPLS-TE Types YANG model 347 5. YANG model for MPLS-TE Topology 349 5.1. YANG Tree 351 Figure 3 below shows the tree diagram of the YANG model defined in 352 module ietf-te-mpls-topology.yang. 354 module: ietf-te-mpls-topology 356 augment /nw:networks/nw:network/nw:network-types/tet:te-topology 357 /tet-pkt:packet: 358 +--rw mpls-topology! 359 augment /nw:networks/nw:network/nt:link/tet:te: 360 +--rw load-balancing-type? mte-types:load-balancing-type 361 augment /nw:networks/nw:network/nw:node/nt:termination-point 362 /tet:te: 363 +--ro uhp-incapable? empty 365 Figure 3: MPLS-TE topology YANG tree 367 5.2. YANG Code 369 file "ietf-te-mpls-topology@2021-07-12.yang" 370 module ietf-te-mpls-topology { 371 yang-version 1.1; 372 namespace "urn:ietf:params:xml:ns:yang:ietf-te-mpls-topology"; 374 prefix "tet-mpls"; 376 import ietf-network { 377 prefix "nw"; 378 } 380 import ietf-network-topology { 381 prefix "nt"; 382 } 383 import ietf-te-topology { 384 prefix "tet"; 385 } 387 import ietf-te-topology-packet { 388 prefix "tet-pkt"; 389 } 391 import ietf-mpls-te-types { 392 prefix "mte-types"; 393 } 395 organization 396 "Internet Engineering Task Force (IETF) TEAS WG"; 397 contact 398 "WG Web: 399 WG List: 401 Editor: Italo Busi 402 404 Editor: Haomian Zheng 405 407 Editor: Aihua Guo 408 410 Editor: Xufeng Liu 411 "; 413 description 414 "This module defines technology-specific MPLS-TE topology 415 data model. 417 Copyright (c) 2021 IETF Trust and the persons identified 418 as authors of the code. All rights reserved. 420 Redistribution and use in source and binary forms, with 421 or without modification, is permitted pursuant to, and 422 subject to the license terms contained in, the Simplified 423 BSD License set forth in Section 4.c of the IETF Trust's 424 Legal Provisions Relating to IETF Documents 425 (http://trustee.ietf.org/license-info). 427 This version of this YANG module is part of RFC XXXX; see 428 the RFC itself for full legal notices."; 430 revision 2021-07-12 { 431 description 432 "Initial Version"; 433 reference 434 "draft-busizheng-teas-yang-te-mpls-topology"; 435 } 437 /* 438 * Augmentations 439 */ 441 augment "/nw:networks/nw:network/nw:network-types/" 442 + "tet:te-topology/tet-pkt:packet" { 443 description 444 "Augment network types to include MPLS-TE Topology Type"; 445 container mpls-topology { 446 presence 447 "Indicates an MPLS-TE Topology Type."; 448 description 449 "Its presence indicates an MPLS-TE Topology"; 450 } 451 } 453 augment "/nw:networks/nw:network/nt:link/tet:te" { 454 when "../../nw:network-types/tet:te-topology/" 455 + "tet-pkt:packet/tet-mpls:mpls-topology" { 456 description 457 "Augment MPLS-TE Topology."; 458 } 459 description 460 "Augment TE Link."; 462 leaf load-balancing-type { 463 type mte-types:load-balancing-type; 464 default 'per-flow'; 465 description 466 "Indicates the type of load-balancing (per-flow or per-LSP) 467 performed by the bundled TE Link. 469 This leaf is not present when the TE Link is not bundled."; 470 } // leaf load-balancing-type 471 } 473 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 474 + "tet:te" { 475 when "../../../nw:network-types/tet:te-topology/" 476 + "tet-pkt:packet/tet-mpls:mpls-topology" { 477 description "Augment MPLS-TE Topology."; 478 } 479 description "Augment LTP."; 481 leaf uhp-incapable { 482 type empty; 483 config false; 484 description 485 "When present, indicates that the LTP is not capable to 486 support Ultimate Hop Popping (UHP)."; 487 } // leaf uhp-incapable 488 } 489 } 490 492 Figure 4: MPLS-TE topology YANG module 494 6. Security Considerations 496 To be added. 498 7. IANA Considerations 500 To be added. 502 8. References 504 8.1. Normative References 506 [I-D.ietf-teas-yang-l3-te-topo] 507 Liu, X., Bryskin, I., Beeram, V. P., Saad, T., Shah, H., 508 and O. G. D. Dios, "YANG Data Model for Layer 3 TE 509 Topologies", draft-ietf-teas-yang-l3-te-topo-11 (work in 510 progress), July 2021. 512 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 513 "Common YANG Data Types for the Routing Area", RFC 8294, 514 DOI 10.17487/RFC8294, December 2017, 515 . 517 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 518 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 519 . 521 [RFC8795] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and 522 O. Gonzalez de Dios, "YANG Data Model for Traffic 523 Engineering (TE) Topologies", RFC 8795, 524 DOI 10.17487/RFC8795, August 2020, 525 . 527 8.2. Informative References 529 [I-D.ietf-teas-yang-te-mpls] 530 Saad, T., Gandhi, R., Liu, X., Beeram, V. P., and I. 531 Bryskin, "A YANG Data Model for MPLS Traffic Engineering 532 Tunnels", draft-ietf-teas-yang-te-mpls-03 (work in 533 progress), March 2020. 535 [RFC5921] Bocci, M., Ed., Bryant, S., Ed., Frost, D., Ed., Levrau, 536 L., and L. Berger, "A Framework for MPLS in Transport 537 Networks", RFC 5921, DOI 10.17487/RFC5921, July 2010, 538 . 540 Acknowledgments 542 The authors would also like to thank Tarek Saad, Vishnu Pavan Beeram, 543 Rakesh Gandhi, Xufeng Liu, Igor Bryskin for their input on how to 544 support MPLS-TP features (bidirectional LSPs, no ECMP, no PHP) using 545 a common MPLS-TE topology model. 547 We thank Loa Andersson and Igor Bryskin for providing useful 548 suggestions for this draft. 550 This document was prepared using kramdown. 552 Previous versions of this document was prepared using 2-Word- 553 v2.0.template.dot. 555 Authors' Addresses 557 Italo Busi 558 Huawei Technologies 560 Email: italo.busi@huawei.com 562 Haomian Zheng 563 Huawei Technologies 565 Email: zhenghaomian@huawei.com 567 Aihua Guo 568 Futurewei Inc. 570 Email: aihuaguo.ietf@gmail.com 571 Xufeng Liu 572 Volta Networks 574 Email: xufeng.liu.ietf@gmail.com