idnits 2.17.1 draft-ietf-bier-te-yang-00.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 : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 85 has weird spacing: '...main-id uin...' == Line 94 has weird spacing: '...fwd-bsl uin...' == Line 99 has weird spacing: '...w value rt-...' == Line 113 has weird spacing: '...w value rt-...' == Line 117 has weird spacing: '...bitmask bit...' == (3 more instances...) -- The document date (May 12, 2019) is 1809 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) == Unused Reference: 'I-D.ietf-bier-bier-yang' is defined on line 628, but no explicit reference was found in the text == Unused Reference: 'RFC6087' is defined on line 649, but no explicit reference was found in the text == Unused Reference: 'RFC7223' is defined on line 653, but no explicit reference was found in the text == Unused Reference: 'RFC8279' is defined on line 657, but no explicit reference was found in the text == Unused Reference: 'RFC8349' is defined on line 663, but no explicit reference was found in the text ** Downref: Normative reference to an Experimental draft: draft-eckert-bier-te-frr (ref. 'I-D.eckert-bier-te-frr') == Outdated reference: A later version (-08) exists of draft-ietf-bier-bier-yang-04 == Outdated reference: A later version (-13) exists of draft-ietf-bier-te-arch-01 ** Obsolete normative reference: RFC 6087 (Obsoleted by RFC 8407) ** Obsolete normative reference: RFC 7223 (Obsoleted by RFC 8343) Summary: 4 errors (**), 0 flaws (~~), 14 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 BIER WG Zheng. Zhang 3 Internet-Draft Cui. Wang 4 Intended status: Standards Track Ran. Chen 5 Expires: November 13, 2019 Fangwei. Hu 6 ZTE Corporation 7 Mahesh. Sivakumar 8 Cisco Systems, Inc. 9 Huanan. Chen 10 China Telecom 11 May 12, 2019 13 A YANG data model for Traffic Engineering for Bit Index Explicit 14 Replication (BIER-TE) 15 draft-ietf-bier-te-yang-00 17 Abstract 19 This document defines a YANG data model for Traffic Engineering for 20 Bit Index Explicit Replication (BIER-TE) configuration and operation. 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 November 13, 2019. 39 Copyright Notice 41 Copyright (c) 2019 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 46 (https://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. Code Components extracted from this document must 50 include Simplified BSD License text as described in Section 4.e of 51 the Trust Legal Provisions and are provided without warranty as 52 described in the Simplified BSD License. 54 Table of Contents 56 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 57 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 2 58 3. BIER-TE configuration . . . . . . . . . . . . . . . . . . . . 3 59 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 4 60 5. RPCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 61 6. BIER TE YANG model . . . . . . . . . . . . . . . . . . . . . 4 62 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 63 8. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 13 64 9. Normative References . . . . . . . . . . . . . . . . . . . . 13 65 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 67 1. Introduction 69 [I-D.ietf-bier-te-arch] introduces an architecture for BIER-TE: 70 Traffic Engineering for Bit Index Explicit Replication (BIER). This 71 document defines a YANG data model for BIER TE. The content is in 72 keeping with the TE architecture draft. In addition, this YANG data 73 model contains BIER TE frr items of [I-D.eckert-bier-te-frr]. 75 2. Design of the Data Model 77 The BIER TE YANG model includes BIER TE adjancency configuration and 78 forwarding items configuration. Some features can also be used to 79 enhance BIER TE function, like ECMP and FRR. 81 module: ietf-bier-te 82 augment /rt:routing: 83 +--rw bier-te 84 +--rw subdomain* [subdomain-id] 85 +--rw subdomain-id uint16 86 +--rw te-adj-id 87 | +--rw si* [si] 88 | +--rw si uint16 89 | +--rw adj* [adj-id] 90 | +--rw adj-id uint16 91 | +--rw adj-if if:interface-ref 92 | +--rw bp-type? enumeration 93 +--rw bsl* [fwd-bsl] 94 | +--rw fwd-bsl uint16 95 | +--rw si* [si] 96 | +--rw si uint16 97 | +--rw te-bift-id 98 | | +--rw type? enumeration 99 | | +--rw value rt-types:mpls-label 100 | +--rw fwd-items* [te-bp] 101 | +--rw te-bp uint16 102 | +--rw bp-type? enumeration 103 | +--rw (fwd-type) 104 | | +--:(connected) 105 | | +--:(routed) 106 | | +--:(local-decap) 107 | | +--:(other) 108 | +--rw dnr-flag? boolean 109 | +--rw out-info 110 | | +--rw fwd-intf if:interface-ref 111 | | +--rw te-out-bift-id 112 | | +--rw type? enumeration 113 | | +--rw value rt-types:mpls-label 114 | +--rw te-frr {bier-te-frr}? 115 | | +--rw frr-index? uint16 116 | | +--rw resetbitmask* [bitmask] 117 | | +--rw bitmask bit-string 118 | +--rw te-ecmp* [out-if] {bier-te-ecmp}? 119 | +--rw out-if if:interface-ref 120 | +--rw te-out-bift-id 121 | +--rw type? enumeration 122 | +--rw value rt-types:mpls-label 123 +--rw te-frr-items {bier-te-frr}? 124 +--rw btaft* [frr-index] 125 +--rw frr-index uint16 126 +--rw frr-si uint16 127 +--rw frr-bsl uint16 128 +--rw addbitmask* [bitmask] 129 +--rw bitmask bit-string 131 notifications: 132 +---n bier-te-notification 133 +--ro bp-is-zero* [if-index] 134 +--ro if-index if:interface-ref 135 +--ro bp-type? enumeration 137 3. BIER-TE configuration 139 The BIER-TE forwarding item is indexed by the combination of sub- 140 domain-id, BitStringLength and set identifier. 142 One interface can be used in different sub-domain, so the BIER TE 143 adjacency information is managed by BIER TE function other than by 144 interface itself. 146 Because the BIER-TE is controlled by controller now, the information 147 about IGP is not defined. If in the future the IGP is used to carry 148 the information about BIER-TE, the IGP extension will be added in 149 this document. 151 4. Notifications 153 If the adjacency id of one adjacency is set to zero, the value is 154 invalid. The notification should be sent to controller and network 155 manager. 157 5. RPCs 159 TBD. 161 6. BIER TE YANG model 163 file "ietf-bier-te.yang" 165 module ietf-bier-te { 167 yang-version 1.1; 169 namespace "urn:ietf:params:xml:ns:yang:ietf-bier-te"; 171 prefix bier-te; 173 import ietf-routing { 174 prefix "rt"; 175 reference "RFC8022"; 176 } 178 import ietf-interfaces { 179 prefix "if"; 180 reference "RFC7223"; 181 } 183 import ietf-routing-types { 184 prefix "rt-types"; 185 reference "RFC8294"; 186 } 188 organization " IETF BIER(Bit Indexed Explicit Replication) 189 Working Group"; 190 contact 191 "WG Web: 192 WG List: 193 Editor: Zheng Zhang 194 195 Editor: Cui Wang 196 197 Editor: Ran Chen 198 199 Editor: Fangwei Hu 200 201 Editor: Mahesh Sivakumar 202 203 "; 205 description 206 " The module defines the YANG definitions for BIER TE. 208 Copyright (c) 2018 IETF Trust and the persons 209 identified as authors of the code. All rights reserved. 211 Redistribution and use in source and binary forms, with or 212 without modification, is permitted pursuant to, and subject 213 to the license terms contained in, the Simplified BSD License 214 set forth in Section 4.c of the IETF Trust's Legal Provisions 215 Relating to IETF Documents 216 (http://trustee.ietf.org/license-info). 217 This version of this YANG module is part of RFC 3618; see 218 the RFC itself for full legal notices."; 220 revision 2019-03-23 { 221 description 222 "Initial revision."; 223 reference 224 "draft-ietf-bier-te-arch: Traffic Engineering for Bit Index 225 Explicit Replication (BIER-TE)"; 226 } 228 /* 229 * Features 230 */ 231 feature bier-te-frr { 232 description 233 "Support Fast Re-route feature in BIER TE."; 234 } 235 feature bier-te-ecmp { 236 description 237 "Support ECMP feature in BIER TE."; 238 } 240 typedef bit-string { 241 type uint16; 242 description "The bit mask of one bit-string."; 243 } 245 grouping te-frr { 246 description "The TE fast re-route information."; 247 list btaft { 248 key "frr-index"; 249 description "The index of the frr paths. This item can be 250 used for multiple links protection in 251 different SI."; 252 leaf frr-index { 253 type uint16; 254 mandatory true; 255 description "The frr item index."; 256 } 257 leaf frr-si{ 258 type uint16; 259 mandatory true; 260 description "The set identifier of this forwarding 261 item."; 262 } 263 leaf frr-bsl { 264 type uint16; 265 mandatory true; 266 description "The value of bitstringlength."; 267 } 268 list addbitmask { 269 key "bitmask"; 270 description "The adding bitmask of the forwarding 271 item."; 272 leaf bitmask { 273 type bit-string; 274 description "The adding bitmask of the forwarding 275 item. This item should be merged 276 into the packet's bit-string."; 277 } 278 } 279 } 280 } 282 grouping fwd-type { 283 description "The collection of all possible forwarding types."; 284 choice fwd-type { 285 mandatory true; 286 case connected { 287 description "The forwarding type is connected. 288 Mostly connected interfaces."; 290 } 291 case routed { 292 description "The forwarding type is routed. 293 Mostly not connected interfaces."; 294 } 295 case local-decap { 296 description "Means that the packet should be 297 decapsulated and forward out 298 of BIER domain."; 299 } 300 case other { 301 description "Means that the packet should be 302 discarded."; 303 } 304 description "The collection of all possible forwarding 305 types."; 306 } 307 } 309 grouping bp-type { 310 description "The collection of all possible adjacency type."; 312 leaf bp-type { 313 type enumeration { 314 enum p2p { 315 description "Describes p2p adjacency."; 316 } 317 enum bfer { 318 description "Describes bfer adjacency."; 319 } 320 enum leaf-bfer { 321 description "Describes leaf-bfer adjacency. 322 There is no next BFR that the packet 323 should be forwarded."; 324 } 325 enum lan { 326 description "Describes lan adjacency."; 327 } 328 enum spoke { 329 description "Describes spoke adjacency of 330 hub-and-spoke."; 331 } 332 enum ring-clockwise { 333 description "Describes clockwise adjacency in 334 ring."; 335 } 336 enum ring-counterclockwise { 337 description "Describes counterclockwise adjacency in 338 ring."; 339 } 340 enum ecmp { 341 description "Describes ecmp adjacency. 342 When the type is set to ecmp, 343 the corresponding ecmp entry 344 should be used to balance the load."; 345 } 346 enum virtual-link { 347 description "Describes virtual adjacency 348 between two indirect connect 349 nodes."; 350 } 351 enum other { 352 description "Describes other id type of 353 adjacency."; 354 } 355 } 356 description "The collection of all possible adjacency 357 type."; 358 } 359 } 361 grouping te-bift-id { 362 description "The index of BIER forwarding items. It usually 363 represents the combination of [SD, BSL, SI]."; 364 leaf type { 365 type enumeration { 366 enum mpls { 367 description "The bift-id value is represent the 368 BIER TE mpls forwarding plane. It 369 is a mpls label."; 370 } 371 enum eth { 372 description "The bift-id value is represent the 373 BIER TE ethernet forwarding plane. 374 It is an index of ethernet 375 encapsulation."; 376 } 377 enum other { 378 description "Describes other type of te-bift-id."; 379 } 380 } 381 description "The types of BIER TE bift-id. If this type 382 is not set, mpls is default type."; 383 } 384 leaf value { 385 type rt-types:mpls-label; 386 mandatory true; 387 description "The bift-id value of the forwarding 388 item. It can be a mpls label or an 389 index of ethernet encapsulation which 390 is used to represent specific 391 combination of [SD, BSL, SI]. The 392 ethernet index value is the same range 393 (20bits) as mpls label."; 394 } 395 } 397 grouping te-items { 398 description "The BIER TE forwarding items collection."; 399 uses fwd-type; 401 leaf dnr-flag { 402 type boolean; 403 description 404 "When the flag is set to 1, the BP of adjacency 405 should not be reset when packet copies are 406 created. The flag makes sense only when the 407 forwarding type is 'connected'."; 408 } 410 container out-info { 411 description "The information of out forwarding 412 packets. Includes the outbound interface 413 and the bift-id of next hop."; 414 leaf fwd-intf { 415 type if:interface-ref; 416 mandatory true; 417 description "The out interface of this 418 forwarding item."; 419 } 420 container te-out-bift-id { 421 description "The bift-id information 422 corresponding to a specific 423 outbound interface."; 424 uses te-bift-id; 425 } 426 } 428 container te-frr { 429 if-feature bier-te-frr; 430 leaf frr-index { 431 type uint16; 432 description "The index of this frr path."; 433 } 434 list resetbitmask { 435 key "bitmask"; 436 description "The deleting bitmask of the 437 forwarding item."; 438 leaf bitmask { 439 type bit-string; 440 description "The deleting bitmask of the 441 forwarding item."; 442 } 443 } 444 description "If this link is protected, frr items can 445 be used to forward flows when this link 446 is down."; 447 } 448 } 450 grouping fwd-items { 451 list si { 452 key "si"; 453 description "The forwarding items of one set identifier."; 454 leaf si{ 455 type uint16; 456 mandatory true; 457 description "The set identifier of this forwarding 458 item."; 459 } 460 container te-bift-id { 461 description "The bift-id which is used to locate the 462 specific forwarding item."; 463 uses te-bift-id; 464 } 466 list fwd-items { 467 key "te-bp"; 468 description "The forwarding information of one BIER TE 469 item."; 470 leaf te-bp { 471 type uint16; 472 mandatory true; 473 description "The bit index of a BIER TE forwarding 474 item."; 475 } 477 uses bp-type; 478 uses te-items; 480 list te-ecmp { 481 if-feature bier-te-ecmp; 482 key "out-if"; 483 leaf out-if { 484 type if:interface-ref; 485 description "The outgoing interface."; 486 } 487 container te-out-bift-id { 488 description "The bift-id info for a specific 489 outbound interface."; 490 uses te-bift-id; 491 } 492 description "The list of the ecmp paths. When the 493 type of BP is set to ecmp, this 494 interface ecmp list should be used to 495 balance the load on each interface."; 496 } 497 } 498 } 499 description "The forwarding items in one combination of 500 SD, BSL and SI."; 501 } 503 grouping te-info { 504 description "The BIER TE forwarding information."; 505 list subdomain { 506 key "subdomain-id"; 507 description "The forwarding items of one sub-domain."; 508 leaf subdomain-id { 509 type uint16; 510 description "The sub-domain-id of this sub-domain."; 511 } 513 container te-adj-id { 514 list si { 515 key "si"; 516 description "The forwarding items of a set 517 identifier."; 518 leaf si{ 519 type uint16; 520 mandatory true; 521 description "The set identifier of this 522 forwarding item."; 523 } 525 list adj { 526 key "adj-id"; 527 description "The ID of an adjacency."; 528 leaf adj-id { 529 type uint16; 530 mandatory true; 531 description "The adjacency id."; 532 } 533 leaf adj-if { 534 type if:interface-ref; 535 mandatory true; 536 description "The corresponding interface 537 of this adjacency."; 538 } 539 uses bp-type; 540 } 541 } 542 description "This adjacency ID information for BIER TE 543 in a SI."; 544 } 546 list bsl { 547 key "fwd-bsl"; 548 description "The forwarding items in one BSL."; 549 leaf fwd-bsl { 550 type uint16; 551 description "The value of bitstringlength."; 552 } 553 uses fwd-items; 554 } 556 container te-frr-items { 557 if-feature bier-te-frr; 558 uses te-frr; 559 description "The TE protective fast re-route items."; 560 } 561 } 562 } 564 /* 565 * data nodes 566 */ 567 augment "/rt:routing" { 568 description "The BIER TE information."; 569 container bier-te { 570 description "The BIER TE information container."; 571 uses te-info; 572 } 573 } 575 /* 576 * Notifications 577 */ 578 notification bier-te-notification { 579 description 580 "The notification is sent when a condition changes."; 581 list bp-is-zero { 582 key "if-index"; 583 description "The adjacency id is zero. It is invalid."; 584 leaf if-index { 585 type if:interface-ref; 586 description "The adjacency id is zero."; 587 } 588 uses bp-type; 589 } 590 } 591 } 592 594 7. IANA Considerations 596 The IANA is requested to assign two new URIs from the IETF XML 597 registry ([RFC3688]). Authors are suggesting the following URI: 599 URI: urn:ietf:params:xml:ns:yang:ietf-bier-te 601 Registrant Contact: BIER WG 603 XML: N/A, the requested URI is an XML namespace 605 This document also requests one new YANG module name in the YANG 606 Module Names registry ([RFC6020]) with the following suggestion: 608 name: ietf-bier-te 610 namespace: urn:ietf:params:xml:ns:yang:ietf-bier-te 612 prefix: bier-te 614 reference: RFC XXXX 616 8. Acknowledgement 618 The authors would like to thank Min Gu (gumin20181129@163.com) for 619 her testing, verification and valuable suggestion. 621 9. Normative References 623 [I-D.eckert-bier-te-frr] 624 Eckert, T., Cauchie, G., Braun, W., and M. Menth, 625 "Protection Methods for BIER-TE", draft-eckert-bier-te- 626 frr-03 (work in progress), March 2018. 628 [I-D.ietf-bier-bier-yang] 629 Chen, R., hu, f., Zhang, Z., dai.xianxian@zte.com.cn, d., 630 and M. Sivakumar, "YANG Data Model for BIER Protocol", 631 draft-ietf-bier-bier-yang-04 (work in progress), September 632 2018. 634 [I-D.ietf-bier-te-arch] 635 Eckert, T., Cauchie, G., Braun, W., and M. Menth, "Traffic 636 Engineering for Bit Index Explicit Replication (BIER-TE)", 637 draft-ietf-bier-te-arch-01 (work in progress), October 638 2018. 640 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 641 DOI 10.17487/RFC3688, January 2004, 642 . 644 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 645 the Network Configuration Protocol (NETCONF)", RFC 6020, 646 DOI 10.17487/RFC6020, October 2010, 647 . 649 [RFC6087] Bierman, A., "Guidelines for Authors and Reviewers of YANG 650 Data Model Documents", RFC 6087, DOI 10.17487/RFC6087, 651 January 2011, . 653 [RFC7223] Bjorklund, M., "A YANG Data Model for Interface 654 Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, 655 . 657 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 658 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 659 Explicit Replication (BIER)", RFC 8279, 660 DOI 10.17487/RFC8279, November 2017, 661 . 663 [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for 664 Routing Management (NMDA Version)", RFC 8349, 665 DOI 10.17487/RFC8349, March 2018, 666 . 668 Authors' Addresses 670 Zheng(Sandy) Zhang 671 ZTE Corporation 672 No. 50 Software Ave, Yuhuatai Distinct 673 Nanjing 674 China 676 Email: zzhang_ietf@hotmail.com 678 Cui(Linda) Wang 679 ZTE Corporation 681 Email: lindawangjoy@gmail.com 683 Ran Chen 684 ZTE Corporation 685 No. 50 Software Ave, Yuhuatai Distinct 686 Nanjing 687 China 689 Email: chen.ran@zte.com.cn 691 Fangwei Hu 692 ZTE Corporation 693 No.889 Bibo Rd 694 Shanghai 695 China 697 Email: hu.fangwei@zte.com.cn 699 Mahesh Sivakumar 700 Cisco Systems, Inc. 701 510 McCarthy Blvd 702 Milpitas,California 95035 703 United States 705 Email: masivaku@cisco.com 706 Huanan Chen 707 China Telecom 708 109 West Zhongshan Ave 709 Guangzhou, Guangdong 510630 710 China 712 Phone: +86 20 38639346 713 Email: chenhuanan@gsta.com