idnits 2.17.1 draft-zhang-bier-te-yang-07.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 93 has weird spacing: '...fwd-bsl uin...' == Line 98 has weird spacing: '...w value rt-...' == Line 112 has weird spacing: '...w value rt-...' == Line 116 has weird spacing: '...bitmask bit...' == (3 more instances...) -- The document date (March 24, 2019) is 1831 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 627, but no explicit reference was found in the text == Unused Reference: 'RFC6087' is defined on line 648, but no explicit reference was found in the text == Unused Reference: 'RFC7223' is defined on line 652, but no explicit reference was found in the text == Unused Reference: 'RFC8279' is defined on line 656, but no explicit reference was found in the text == Unused Reference: 'RFC8349' is defined on line 662, 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 25, 2019 Fangwei. Hu 6 ZTE Corporation 7 Mahesh. Sivakumar 8 Cisco Systems, Inc. 9 Huanan. Chen 10 China Telecom 11 March 24, 2019 13 BIER TE YANG model 14 draft-zhang-bier-te-yang-07 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 25, 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 . . . . . . . . . . . . . . . . . . . . . . . 13 63 9. Normative References . . . . . . . . . . . . . . . . . . . . 13 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 bsl* [fwd-bsl] 93 | +--rw fwd-bsl uint16 94 | +--rw si* [si] 95 | +--rw si uint16 96 | +--rw te-bift-id 97 | | +--rw type? enumeration 98 | | +--rw value rt-types:mpls-label 99 | +--rw fwd-items* [te-bp] 100 | +--rw te-bp uint16 101 | +--rw bp-type? enumeration 102 | +--rw (fwd-type) 103 | | +--:(connected) 104 | | +--:(routed) 105 | | +--:(local-decap) 106 | | +--:(other) 107 | +--rw dnr-flag? boolean 108 | +--rw out-info 109 | | +--rw fwd-intf if:interface-ref 110 | | +--rw te-out-bift-id 111 | | +--rw type? enumeration 112 | | +--rw value rt-types:mpls-label 113 | +--rw te-frr {bier-te-frr}? 114 | | +--rw frr-index? uint16 115 | | +--rw resetbitmask* [bitmask] 116 | | +--rw bitmask bit-string 117 | +--rw te-ecmp* [out-if] {bier-te-ecmp}? 118 | +--rw out-if if:interface-ref 119 | +--rw te-out-bift-id 120 | +--rw type? enumeration 121 | +--rw value rt-types:mpls-label 122 +--rw te-frr-items {bier-te-frr}? 123 +--rw btaft* [frr-index] 124 +--rw frr-index uint16 125 +--rw frr-si uint16 126 +--rw frr-bsl uint16 127 +--rw addbitmask* [bitmask] 128 +--rw bitmask bit-string 130 notifications: 131 +---n bier-te-notification 132 +--ro bp-is-zero* [if-index] 133 +--ro if-index if:interface-ref 134 +--ro bp-type? enumeration 136 3. BIER-TE configuration 138 The BIER-TE forwarding item is indexed by the combination of sub- 139 domain-id, BitStringLength and set identifier. 141 One interface can be used in different sub-domain, so the BIER TE 142 adjacency information is managed by BIER TE function other than by 143 interface itself. 145 Because the BIER-TE is controlled by controller now, the information 146 about IGP is not defined. If in the future the IGP is used to carry 147 the information about BIER-TE, the IGP extension will be added in 148 this document. 150 4. Notifications 152 If the adjacency id of one adjacency is set to zero, the value is 153 invalid. The notification should be sent to controller and network 154 manager. 156 5. RPCs 158 TBD. 160 6. BIER TE YANG model 162 file "ietf-bier-te.yang" 164 module ietf-bier-te { 166 yang-version 1.1; 168 namespace "urn:ietf:params:xml:ns:yang:ietf-bier-te"; 170 prefix bier-te; 172 import ietf-routing { 173 prefix "rt"; 174 reference "RFC8022"; 175 } 177 import ietf-interfaces { 178 prefix "if"; 179 reference "RFC7223"; 180 } 182 import ietf-routing-types { 183 prefix "rt-types"; 184 reference "RFC8294"; 185 } 187 organization " IETF BIER(Bit Indexed Explicit Replication) 188 Working Group"; 189 contact 190 "WG Web: 191 WG List: 192 Editor: Zheng Zhang 193 194 Editor: Cui Wang 195 196 Editor: Ran Chen 197 198 Editor: Fangwei Hu 199 200 Editor: Mahesh Sivakumar 201 202 "; 204 description 205 " The module defines the YANG definitions for BIER TE. 207 Copyright (c) 2018 IETF Trust and the persons 208 identified as authors of the code. All rights reserved. 210 Redistribution and use in source and binary forms, with or 211 without modification, is permitted pursuant to, and subject 212 to the license terms contained in, the Simplified BSD License 213 set forth in Section 4.c of the IETF Trust's Legal Provisions 214 Relating to IETF Documents 215 (http://trustee.ietf.org/license-info). 216 This version of this YANG module is part of RFC 3618; see 217 the RFC itself for full legal notices."; 219 revision 2019-03-23 { 220 description 221 "Initial revision."; 222 reference 223 "draft-ietf-bier-te-arch: Traffic Engineering for Bit Index 224 Explicit Replication (BIER-TE)"; 225 } 227 /* 228 * Features 229 */ 230 feature bier-te-frr { 231 description 232 "Support Fast Re-route feature in BIER TE."; 233 } 234 feature bier-te-ecmp { 235 description 236 "Support ECMP feature in BIER TE."; 237 } 239 typedef bit-string { 240 type uint16; 241 description "The bit mask of one bit-string."; 242 } 244 grouping te-frr { 245 description "The TE fast re-route information."; 246 list btaft { 247 key "frr-index"; 248 description "The index of the frr paths. This item can be 249 used for multiple links protection in 250 different SI."; 251 leaf frr-index { 252 type uint16; 253 mandatory true; 254 description "The frr item index."; 255 } 256 leaf frr-si{ 257 type uint16; 258 mandatory true; 259 description "The set identifier of this forwarding 260 item."; 261 } 262 leaf frr-bsl { 263 type uint16; 264 mandatory true; 265 description "The value of bitstringlength."; 266 } 267 list addbitmask { 268 key "bitmask"; 269 description "The adding bitmask of the forwarding 270 item."; 271 leaf bitmask { 272 type bit-string; 273 description "The adding bitmask of the forwarding 274 item. This item should be merged 275 into the packet's bit-string."; 276 } 277 } 278 } 279 } 281 grouping fwd-type { 282 description "The collection of all possible forwarding types."; 283 choice fwd-type { 284 mandatory true; 285 case connected { 286 description "The forwarding type is connected. 287 Mostly connected interfaces."; 289 } 290 case routed { 291 description "The forwarding type is routed. 292 Mostly not connected interfaces."; 293 } 294 case local-decap { 295 description "Means that the packet should be 296 decapsulated and forward out 297 of BIER domain."; 298 } 299 case other { 300 description "Means that the packet should be 301 discarded."; 302 } 303 description "The collection of all possible forwarding 304 types."; 305 } 306 } 308 grouping bp-type { 309 description "The collection of all possible adjacency type."; 311 leaf bp-type { 312 type enumeration { 313 enum p2p { 314 description "Describes p2p adjacency."; 315 } 316 enum bfer { 317 description "Describes bfer adjacency."; 318 } 319 enum leaf-bfer { 320 description "Describes leaf-bfer adjacency. 321 There is no next BFR that the packet 322 should be forwarded."; 323 } 324 enum lan { 325 description "Describes lan adjacency."; 326 } 327 enum spoke { 328 description "Describes spoke adjacency of 329 hub-and-spoke."; 330 } 331 enum ring-clockwise { 332 description "Describes clockwise adjacency in 333 ring."; 334 } 335 enum ring-counterclockwise { 336 description "Describes counterclockwise adjacency in 337 ring."; 338 } 339 enum ecmp { 340 description "Describes ecmp adjacency. 341 When the type is set to ecmp, 342 the corresponding ecmp entry 343 should be used to balance the load."; 344 } 345 enum virtual-link { 346 description "Describes virtual adjacency 347 between two indirect connect 348 nodes."; 349 } 350 enum other { 351 description "Describes other id type of 352 adjacency."; 353 } 354 } 355 description "The collection of all possible adjacency 356 type."; 357 } 358 } 360 grouping te-bift-id { 361 description "The index of BIER forwarding items. It usually 362 represents the combination of [SD, BSL, SI]."; 363 leaf type { 364 type enumeration { 365 enum mpls { 366 description "The bift-id value is represent the 367 BIER TE mpls forwarding plane. It 368 is a mpls label."; 369 } 370 enum eth { 371 description "The bift-id value is represent the 372 BIER TE ethernet forwarding plane. 373 It is an index of ethernet 374 encapsulation."; 375 } 376 enum other { 377 description "Describes other type of te-bift-id."; 378 } 379 } 380 description "The types of BIER TE bift-id. If this type 381 is not set, mpls is default type."; 382 } 383 leaf value { 384 type rt-types:mpls-label; 385 mandatory true; 386 description "The bift-id value of the forwarding 387 item. It can be a mpls label or an 388 index of ethernet encapsulation which 389 is used to represent specific 390 combination of [SD, BSL, SI]. The 391 ethernet index value is the same range 392 (20bits) as mpls label."; 393 } 394 } 396 grouping te-items { 397 description "The BIER TE forwarding items collection."; 398 uses fwd-type; 400 leaf dnr-flag { 401 type boolean; 402 description 403 "When the flag is set to 1, the BP of adjacency 404 should not be reset when packet copies are 405 created. The flag makes sense only when the 406 forwarding type is 'connected'."; 407 } 409 container out-info { 410 description "The information of out forwarding 411 packets. Includes the outbound interface 412 and the bift-id of next hop."; 413 leaf fwd-intf { 414 type if:interface-ref; 415 mandatory true; 416 description "The out interface of this 417 forwarding item."; 418 } 419 container te-out-bift-id { 420 description "The bift-id information 421 corresponding to a specific 422 outbound interface."; 423 uses te-bift-id; 424 } 425 } 427 container te-frr { 428 if-feature bier-te-frr; 429 leaf frr-index { 430 type uint16; 431 description "The index of this frr path."; 432 } 433 list resetbitmask { 434 key "bitmask"; 435 description "The deleting bitmask of the 436 forwarding item."; 437 leaf bitmask { 438 type bit-string; 439 description "The deleting bitmask of the 440 forwarding item."; 441 } 442 } 443 description "If this link is protected, frr items can 444 be used to forward flows when this link 445 is down."; 446 } 447 } 449 grouping fwd-items { 450 list si { 451 key "si"; 452 description "The forwarding items of one set identifier."; 453 leaf si{ 454 type uint16; 455 mandatory true; 456 description "The set identifier of this forwarding 457 item."; 458 } 459 container te-bift-id { 460 description "The bift-id which is used to locate the 461 specific forwarding item."; 462 uses te-bift-id; 463 } 465 list fwd-items { 466 key "te-bp"; 467 description "The forwarding information of one BIER TE 468 item."; 469 leaf te-bp { 470 type uint16; 471 mandatory true; 472 description "The bit index of a BIER TE forwarding 473 item."; 474 } 476 uses bp-type; 477 uses te-items; 479 list te-ecmp { 480 if-feature bier-te-ecmp; 481 key "out-if"; 482 leaf out-if { 483 type if:interface-ref; 484 description "The outgoing interface."; 485 } 486 container te-out-bift-id { 487 description "The bift-id info for a specific 488 outbound interface."; 489 uses te-bift-id; 490 } 491 description "The list of the ecmp paths. When the 492 type of BP is set to ecmp, this 493 interface ecmp list should be used to 494 balance the load on each interface."; 495 } 496 } 497 } 498 description "The forwarding items in one combination of 499 SD, BSL and SI."; 500 } 502 grouping te-info { 503 description "The BIER TE forwarding information."; 504 list subdomain { 505 key "subdomain-id"; 506 description "The forwarding items of one sub-domain."; 507 leaf subdomain-id { 508 type uint16; 509 description "The sub-domain-id of this sub-domain."; 510 } 512 container te-adj-id { 513 list si { 514 key "si"; 515 description "The forwarding items of a set 516 identifier."; 517 leaf si{ 518 type uint16; 519 mandatory true; 520 description "The set identifier of this 521 forwarding item."; 522 } 524 list adj { 525 key "adj-id"; 526 description "The ID of an adjacency."; 527 leaf adj-id { 528 type uint16; 529 mandatory true; 530 description "The adjacency id."; 531 } 532 leaf adj-if { 533 type if:interface-ref; 534 mandatory true; 535 description "The corresponding interface 536 of this adjacency."; 537 } 538 uses bp-type; 539 } 540 } 541 description "This adjacency ID information for BIER TE 542 in a SI."; 543 } 545 list bsl { 546 key "fwd-bsl"; 547 description "The forwarding items in one BSL."; 548 leaf fwd-bsl { 549 type uint16; 550 description "The value of bitstringlength."; 551 } 552 uses fwd-items; 553 } 555 container te-frr-items { 556 if-feature bier-te-frr; 557 uses te-frr; 558 description "The TE protective fast re-route items."; 559 } 560 } 561 } 563 /* 564 * data nodes 565 */ 566 augment "/rt:routing" { 567 description "The BIER TE information."; 568 container bier-te { 569 description "The BIER TE information container."; 570 uses te-info; 571 } 572 } 574 /* 575 * Notifications 576 */ 577 notification bier-te-notification { 578 description 579 "The notification is sent when a condition changes."; 580 list bp-is-zero { 581 key "if-index"; 582 description "The adjacency id is zero. It is invalid."; 583 leaf if-index { 584 type if:interface-ref; 585 description "The adjacency id is zero."; 586 } 587 uses bp-type; 588 } 589 } 590 } 591 593 7. IANA Considerations 595 The IANA is requested to assign two new URIs from the IETF XML 596 registry ([RFC3688]). Authors are suggesting the following URI: 598 URI: urn:ietf:params:xml:ns:yang:ietf-bier-te 600 Registrant Contact: BIER WG 602 XML: N/A, the requested URI is an XML namespace 604 This document also requests one new YANG module name in the YANG 605 Module Names registry ([RFC6020]) with the following suggestion: 607 name: ietf-bier-te 609 namespace: urn:ietf:params:xml:ns:yang:ietf-bier-te 611 prefix: bier-te 613 reference: RFC XXXX 615 8. Acknowledgement 617 The authors would like to thank Min Gu (gumin20181129@163.com) for 618 her testing, verification and valuable suggestion. 620 9. Normative References 622 [I-D.eckert-bier-te-frr] 623 Eckert, T., Cauchie, G., Braun, W., and M. Menth, 624 "Protection Methods for BIER-TE", draft-eckert-bier-te- 625 frr-03 (work in progress), March 2018. 627 [I-D.ietf-bier-bier-yang] 628 Chen, R., hu, f., Zhang, Z., dai.xianxian@zte.com.cn, d., 629 and M. Sivakumar, "YANG Data Model for BIER Protocol", 630 draft-ietf-bier-bier-yang-04 (work in progress), September 631 2018. 633 [I-D.ietf-bier-te-arch] 634 Eckert, T., Cauchie, G., Braun, W., and M. Menth, "Traffic 635 Engineering for Bit Index Explicit Replication (BIER-TE)", 636 draft-ietf-bier-te-arch-01 (work in progress), October 637 2018. 639 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 640 DOI 10.17487/RFC3688, January 2004, 641 . 643 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 644 the Network Configuration Protocol (NETCONF)", RFC 6020, 645 DOI 10.17487/RFC6020, October 2010, 646 . 648 [RFC6087] Bierman, A., "Guidelines for Authors and Reviewers of YANG 649 Data Model Documents", RFC 6087, DOI 10.17487/RFC6087, 650 January 2011, . 652 [RFC7223] Bjorklund, M., "A YANG Data Model for Interface 653 Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, 654 . 656 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 657 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 658 Explicit Replication (BIER)", RFC 8279, 659 DOI 10.17487/RFC8279, November 2017, 660 . 662 [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for 663 Routing Management (NMDA Version)", RFC 8349, 664 DOI 10.17487/RFC8349, March 2018, 665 . 667 Authors' Addresses 669 Zheng(Sandy) Zhang 670 ZTE Corporation 671 No. 50 Software Ave, Yuhuatai Distinct 672 Nanjing 673 China 675 Email: zhang.zheng@zte.com.cn 677 Cui(Linda) Wang 678 ZTE Corporation 680 Email: lindawangjoy@gmail.com 682 Ran Chen 683 ZTE Corporation 684 No. 50 Software Ave, Yuhuatai Distinct 685 Nanjing 686 China 688 Email: chen.ran@zte.com.cn 690 Fangwei Hu 691 ZTE Corporation 692 No.889 Bibo Rd 693 Shanghai 694 China 696 Email: hu.fangwei@zte.com.cn 698 Mahesh Sivakumar 699 Cisco Systems, Inc. 700 510 McCarthy Blvd 701 Milpitas,California 95035 702 United States 704 Email: masivaku@cisco.com 705 Huanan Chen 706 China Telecom 707 109 West Zhongshan Ave 708 Guangzhou, Guangdong 510630 709 China 711 Phone: +86 20 38639346 712 Email: chenhuanan@gsta.com