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