idnits 2.17.1 draft-ietf-bier-bier-yang-05.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 : ---------------------------------------------------------------------------- ** There are 11 instances of too long lines in the document, the longest one being 157 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 92 has weird spacing: '...on-type ide...' -- The document date (May 20, 2019) is 1796 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-isis-yang-isis-cfg' is defined on line 612, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-mpls-base-yang' is defined on line 617, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-mpls-static-yang' is defined on line 622, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-netmod-routing-cfg' is defined on line 627, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-ospf-yang' is defined on line 632, but no explicit reference was found in the text == Unused Reference: 'RFC6020' is defined on line 637, but no explicit reference was found in the text == Unused Reference: 'RFC6241' is defined on line 642, but no explicit reference was found in the text == Unused Reference: 'RFC6991' is defined on line 647, but no explicit reference was found in the text == Unused Reference: 'RFC7223' is defined on line 651, but no explicit reference was found in the text == Unused Reference: 'RFC8279' is defined on line 655, but no explicit reference was found in the text == Unused Reference: 'RFC8296' is defined on line 661, but no explicit reference was found in the text == Outdated reference: A later version (-42) exists of draft-ietf-isis-yang-isis-cfg-35 == Outdated reference: A later version (-17) exists of draft-ietf-mpls-base-yang-10 == Outdated reference: A later version (-14) exists of draft-ietf-mpls-static-yang-09 == Outdated reference: A later version (-29) exists of draft-ietf-ospf-yang-21 ** Obsolete normative reference: RFC 7223 (Obsoleted by RFC 8343) Summary: 2 errors (**), 0 flaws (~~), 17 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 BIER WG Ran. Chen 3 Internet-Draft Fangwei. Hu 4 Intended status: Standards Track Zheng. Zhang 5 Expires: November 21, 2019 Xianxia. Dai 6 ZTE Corporation 7 Mahesh. Sivakumar 8 Cisco Systems, Inc. 9 May 20, 2019 11 YANG Data Model for BIER Protocol 12 draft-ietf-bier-bier-yang-05.txt 14 Abstract 16 This document defines a YANG data model for BIER configuration and 17 operation. 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 November 21, 2019. 36 Copyright Notice 38 Copyright (c) 2019 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 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 2 55 3. Configuration . . . . . . . . . . . . . . . . . . . . . . . . 3 56 4. Control plane configuration . . . . . . . . . . . . . . . . . 3 57 5. Notification . . . . . . . . . . . . . . . . . . . . . . . . 4 58 6. BIER YANG Data Model . . . . . . . . . . . . . . . . . . . . 4 59 7. Security Considerations . . . . . . . . . . . . . . . . . . . 13 60 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 61 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 62 10. Normative references . . . . . . . . . . . . . . . . . . . . 13 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 65 1. Introduction 67 This document defines a YANG data model for BIER configuration and 68 operation. 70 2. Design of the Data Model 72 module: ietf-bier 73 augment /rt:routing: 74 +--rw bier 75 +--rw encapsulation-type? identityref 76 +--rw bsl? enumeration 77 +--rw bfr-id? uint16 78 +--rw bfr-prefix? inet:ip-prefix 79 +--rw sub-domain* [sub-domain-id address-family] 80 +--rw sub-domain-id uint16 81 +--rw address-family identityref 82 +--rw bfr-prefix? inet:ip-prefix 83 +--rw underlay-protocol-type? enumeration 84 +--rw mt-id? uint16 85 +--rw bfr-id? uint16 86 +--rw bsl? enumeration 87 +--rw igp-algorithm? uint8 88 +--rw bier-algorithm? uint8 89 +--rw load-balance-num? uint8 90 +--rw encapsulation* [bsl encapsulation-type] 91 +--rw bsl uint16 92 +--rw encapsulation-type identityref 93 +--rw max-si? uint16 94 +--rw bift-id-base? uint32 96 augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/ospf:ospf: 97 +--rw bier-ospf-cfg 98 +--rw mt-id? uint16 99 +--rw bier 100 +--rw enable? boolean 101 +--rw advertise? boolean 102 +--rw receive? boolean 103 augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol/isis:isis: 104 +--rw bier-isis-cfg 105 +--rw mt-id? uint16 106 +--rw bier 107 +--rw enable? boolean 108 +--rw advertise? boolean 109 +--rw receive? boolean 111 notifications: 112 +---n bfr-id-collision 113 | +--ro bfr-id? uint16 114 +---n bfr-zero 115 | +--ro ipv4-bfr-prefix? inet:ipv4-prefix 116 | +--ro ipv6-bfr-prefix? inet:ipv6-prefix 117 +---n sub-domain-id-collision 118 +--ro sub-domain-id? uint16 119 +--ro mt-id? uint16 121 3. Configuration 123 This Module augments the "/rt:routing:" with a BIER container. This 124 Container defines all the configuration parameters related to BIER 125 for this particular routing. 127 The BIER configuration contains global configuration. 129 The global configuration includes BIER encapsulation type, 130 BitStringLengths, BFR-id, BFR-prefixes, and parameters associated 131 with bier sub-domain. 133 4. Control plane configuration 135 This Module augments the "/rt:routing/rt:routing-protocols/ 136 rt:routing-protocol/ospf:ospf:" and "/rt:routing/rt:routing- 137 protocols/rt:routing-protocol/isis:isis:"configuration with BIER. 139 This Module supports ISIS ([RFC8401])and OSPF ([RFC8444]) as control 140 plane for BIER. 142 5. Notification 144 This Module includes bfr-id-collision, bfr-zero, and sub-domain-id- 145 collision. 147 6. BIER YANG Data Model 149 file "ietf-bier@2019-05-14.yang" 150 module ietf-bier { 151 yang-version 1.1; 152 namespace "urn:ietf:params:xml:ns:yang:ietf-bier"; 153 prefix "bier"; 155 import ietf-routing { 156 prefix "rt"; 157 } 159 import ietf-inet-types { 160 prefix "inet"; 161 } 163 import ietf-isis { 164 prefix "isis"; 165 } 167 import ietf-ospf { 168 prefix "ospf"; 169 } 171 organization 172 "IETF BIER(Bit Indexed Explicit Replication ) Working Group"; 174 contact 175 "WG List: 177 WG Chair: Tony Przygienda 178 180 WG Chair: Greg Shepherd 181 183 Editor: Ran Chen 184 185 Editor: Fangwei Hu 186 187 Editor: Zheng Zhang 188 190 Editor: Xianxian Dai 191 192 Editor: Mahesh Sivakumar 193 194 "; 195 description 196 "The YANG module defines a generic configuration 197 model for BIER."; 199 revision 2019-05-14{ 200 description 201 "latest revision"; 202 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 203 } 205 revision 2018-09-29{ 206 description 207 "04 revision"; 208 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 209 } 211 revision 2018-02-07{ 212 description 213 "03 revision"; 214 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 215 } 217 revision 2017-08-10{ 218 description 219 "02 revision"; 220 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 222 } 224 revision 2017-01-20{ 225 description 226 "01 revision"; 227 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 228 } 230 revision 2016-07-23{ 231 description 232 "00 revision"; 233 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 234 } 235 revision 2016-05-12{ 236 description 237 "04 revision"; 238 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 239 } 241 revision 2016-03-16 { 242 description 243 "03 revision"; 244 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 245 } 247 revision 2015-12-03 { 248 description 249 "02 revision"; 250 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 251 } 253 revision 2015-10-16 { 254 description 255 "01 revision."; 256 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 257 } 259 revision 2015-06-22 { 260 description 261 "Initial revision."; 262 reference "RFC XXXX: YANG Data Model for BIER Protocol."; 263 } 265 /* Identities */ 266 identity bier-encapsulation{ 267 description 268 "Base identity for BIER encapsulation."; 269 } 270 identity bier-encapsulation-mpls { 271 base bier-encapsulation; 272 description 273 "This identity represents MPLS encapsulation for bier."; 274 } 275 identity bier-encapsulation-ipv6 { 276 base bier-encapsulation; 277 description 278 "This identity represents ipv6 encapsulation for bier."; 279 } 280 identity bier-encapsulation-ethernet { 281 base bier-encapsulation; 282 description 283 "This identity represents ethernet encapsulation for bier."; 284 } 285 identity address-family { 286 description 287 "Base identity from which identities describing address 288 families are derived."; 289 } 290 identity ipv4 { 291 base address-family; 292 description 293 "This identity represents an IPv4 address family."; 294 } 296 identity ipv6 { 297 base address-family; 298 description 299 "This identity represents an IPv6 address family."; 300 } 302 /*grouping*/ 303 grouping bier-protocol-extensions{ 304 description 305 "Defines protocol extensions."; 306 leaf mt-id{ 307 type uint16 ; 308 description 309 "Multi-topology associated with bier sub-domain."; 310 } 311 container bier { 312 leaf enable { 313 type boolean; 314 default false; 315 description 316 "Enables bier protocol extensions."; 317 } 318 leaf advertise { 319 type boolean; 320 default true; 321 description 322 "Enable to advertise the parameters associated with bier."; 323 } 324 leaf receive { 325 type boolean; 326 default true; 327 description 328 "Enable to receive the parameters associated with bier."; 329 } 330 description 331 "BIER global config."; 332 } 333 } 335 grouping bsl { 336 description 337 "The bitstringlength type."; 338 leaf bsl { 339 type enumeration{ 340 enum "64-bit"{ 341 description 342 "bitstringlength is 64"; 343 } 344 enum "128-bit"{ 345 description 346 "bitstringlength is 128"; 347 } 348 enum "256-bit"{ 349 description 350 "bitstringlength is 256"; 351 } 352 enum "512-bit"{ 353 description 354 "bitstringlength is 512"; 355 } 356 enum "1024-bit"{ 357 description 358 "bitstringlength is 1024"; 359 } 360 enum "2048-bit"{ 361 description 362 "bitstringlength is 2048"; 363 } 364 enum "4096-bit"{ 365 description 366 "bitstringlength is 4096"; 367 } 368 } 369 default "256-bit"; 370 description 371 "list of the bitstringlength type to be supported."; 372 } 373 } 374 grouping underlay-protocol-type { 375 description 376 "The underlay protocol type."; 377 leaf underlay-protocol-type { 378 type enumeration{ 380 enum "isis" { 381 description 382 "isis protocol"; 383 } 384 enum "ospf" { 385 description 386 "ospf protocol"; 387 } 388 enum "bgp" { 389 description 390 "bgp protocol"; 391 } 392 } 393 description 394 "list of the underlay protocol to be supported."; 395 } 396 } 398 grouping encapsulation { 399 description 400 "The Bit Index Forwarding T6able.When MPLS is used as the transport, the Bit Indexed Forwarding Table (BIFT) is identified by a MPLS Label. When non-MPLS transport is used, the BIFT is identified by a 20bit value."; 401 list encapsulation { 402 key "bsl encapsulation-type"; 403 leaf bsl{ 404 type uint16; 405 description 406 "The value of the bitstringlength."; 407 } 409 leaf encapsulation-type { 410 type identityref { 411 base bier-encapsulation; 412 } 413 description 414 "Dataplane to be used."; 415 } 416 leaf max-si { 417 type uint16; 418 description 419 "Maximum Set Identifier ."; 420 } 421 leaf bift-id-base { 422 type uint32; 423 description 424 "The value of the bift id."; 425 } 426 description 427 "Different dataplane, different value of the bift-id."; 429 } 430 } 431 grouping sub-domain { 432 description 433 "The parameters of the sub domain."; 434 list sub-domain { 435 key "sub-domain-id address-family"; 436 leaf sub-domain-id { 437 type uint16; 438 description 439 "The type for sub-domain-id"; 440 } 441 leaf address-family { 442 type identityref { 443 base address-family; 444 } 445 mandatory true; 446 description 447 "Address family."; 448 } 450 leaf bfr-prefix { 451 type inet:ip-prefix; 452 description 453 "the bfr prefix."; 454 } 455 uses underlay-protocol-type; 456 leaf mt-id { 457 type uint16; 458 description 459 "The type for multi-topology identifier"; 460 } 461 leaf bfr-id { 462 type uint16; 463 description 464 "The type for bfr identifier"; 465 } 466 uses bsl; 467 leaf igp-algorithm { 468 type uint8; 469 description 470 "The type for igp algorithm"; 471 } 472 leaf bier-algorithm { 473 type uint8; 474 description 475 "The type for bier algorithm"; 477 } 478 leaf load-balance-num { 479 type uint8; 480 description 481 "The multicast load balance num."; 482 } 483 uses encapsulation; 484 description 485 "list the parameters of the sub domain."; 486 } 487 } 489 augment "/rt:routing" { 490 description 491 "This augments routing-instance configuration with bier."; 492 container bier{ 493 description 494 "bier global configuration."; 495 leaf encapsulation-type { 496 type identityref { 497 base bier-encapsulation; 498 } 499 description 500 "Dataplane to be used."; 501 } 502 uses bsl; 503 leaf bfr-id { 504 type uint16; 505 description 506 "The type for bfr identifier"; 507 } 508 leaf bfr-prefix { 509 type inet:ip-prefix; 510 description 511 "the bfr prefix."; 512 } 513 uses sub-domain; 514 } 515 } 517 augment "/rt:routing/rt:control-plane-protocols/" 518 + "rt:control-plane-protocol/ospf:ospf" { 519 when "../rt:type = 'ospf:ospfv2' or 520 ../rt:type = 'ospf:ospfv3'" { 521 description 522 "This augments the ospf routing protocol when used"; 523 } 524 description 525 "This augments ospf protocol configuration with bier."; 526 container bier-ospf-cfg{ 527 uses bier-protocol-extensions; 528 description 529 "Control of bier advertisement and reception."; 530 } 531 } 533 augment "/rt:routing/rt:control-plane-protocols/" 534 +"rt:control-plane-protocol/isis:isis"{ 535 when "/rt:routing/rt:control-plane-protocols/"+ 536 "rt:control-plane-protocol/rt:type = 'isis:isis'" { 537 description 538 "This augment ISIS routing protocol when used"; 539 } 540 description 541 "This augments ISIS protocol configuration with bier."; 542 container bier-isis-cfg{ 543 uses bier-protocol-extensions; 544 description 545 "Control of bier advertisement and reception."; 547 } 548 } 550 /* Notifications */ 551 notification bfr-id-collision{ 552 leaf bfr-id{ 553 type uint16; 554 description 555 "The type for bfr identifier"; 556 } 558 description 559 "BFR ID received in the controlplane that caused BFR ID collision."; 560 } 562 notification bfr-zero{ 563 leaf ipv4-bfr-prefix{ 564 type inet:ipv4-prefix; 565 description 566 "BIER ipv4 bfr prefix"; 567 } 568 leaf ipv6-bfr-prefix{ 569 type inet:ipv6-prefix; 570 description 571 "BIER ipv6 bfr prefix"; 572 } 573 description 574 "Invalid value associated with prefix"; 575 } 577 notification sub-domain-id-collision{ 578 leaf sub-domain-id { 579 type uint16; 580 description 581 "The type for sub-domain-id"; 582 } 583 leaf mt-id{ 584 type uint16; 585 description 586 "Multi-topology ID"; 587 } 588 description 589 "Sub domain ID received in the controlplane that caused Sub domain ID collision"; 590 } 591 } 593 595 7. Security Considerations 597 TBD. 599 8. Acknowledgements 601 We would like to thank IJsbrand Wijnands, Reshad Rahman ,Giles Heron, 602 Senthil Dhanaraj ,and jingrong Xie for their comments and support of 603 this work. 605 9. IANA Considerations 607 This document requires no IANA Actions. Please remove this section 608 before RFC publication. 610 10. Normative references 612 [I-D.ietf-isis-yang-isis-cfg] 613 Litkowski, S., Yeung, D., Lindem, A., Zhang, Z., and L. 614 Lhotka, "YANG Data Model for IS-IS Protocol", draft-ietf- 615 isis-yang-isis-cfg-35 (work in progress), March 2019. 617 [I-D.ietf-mpls-base-yang] 618 Saad, T., Raza, K., Gandhi, R., Liu, X., and V. Beeram, "A 619 YANG Data Model for MPLS Base", draft-ietf-mpls-base- 620 yang-10 (work in progress), February 2019. 622 [I-D.ietf-mpls-static-yang] 623 Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 624 "A YANG Data Model for MPLS Static LSPs", draft-ietf-mpls- 625 static-yang-09 (work in progress), March 2019. 627 [I-D.ietf-netmod-routing-cfg] 628 Lhotka, L. and A. Lindem, "A YANG Data Model for Routing 629 Management", draft-ietf-netmod-routing-cfg-25 (work in 630 progress), November 2016. 632 [I-D.ietf-ospf-yang] 633 Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, 634 "YANG Data Model for OSPF Protocol", draft-ietf-ospf- 635 yang-21 (work in progress), January 2019. 637 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 638 the Network Configuration Protocol (NETCONF)", RFC 6020, 639 DOI 10.17487/RFC6020, October 2010, 640 . 642 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 643 and A. Bierman, Ed., "Network Configuration Protocol 644 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 645 . 647 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 648 RFC 6991, DOI 10.17487/RFC6991, July 2013, 649 . 651 [RFC7223] Bjorklund, M., "A YANG Data Model for Interface 652 Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, 653 . 655 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 656 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 657 Explicit Replication (BIER)", RFC 8279, 658 DOI 10.17487/RFC8279, November 2017, 659 . 661 [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 662 Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation 663 for Bit Index Explicit Replication (BIER) in MPLS and Non- 664 MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 665 2018, . 667 [RFC8401] Ginsberg, L., Ed., Przygienda, T., Aldrin, S., and Z. 668 Zhang, "Bit Index Explicit Replication (BIER) Support via 669 IS-IS", RFC 8401, DOI 10.17487/RFC8401, June 2018, 670 . 672 [RFC8444] Psenak, P., Ed., Kumar, N., Wijnands, IJ., Dolganow, A., 673 Przygienda, T., Zhang, J., and S. Aldrin, "OSPFv2 674 Extensions for Bit Index Explicit Replication (BIER)", 675 RFC 8444, DOI 10.17487/RFC8444, November 2018, 676 . 678 Authors' Addresses 680 Ran Chen 681 ZTE Corporation 682 No.50 Software Avenue,Yuhuatai District 683 Nanjing, Jiangsu Province 210012 684 China 686 Phone: +86 025 88014636 687 Email: chen.ran@zte.com.cn 689 Fangwei Hu 690 ZTE Corporation 691 No.889 Bibo Rd 692 Shanghai 201203 693 China 695 Phone: +86 21 68896273 696 Email: hu.fangwei@zte.com.cn 698 Zheng Zhang 699 ZTE Corporation 700 No.50 Software Avenue,Yuhuatai District 701 Nanjing, Jiangsu Province 210012 702 China 704 Email: zhang.zheng@zte.com.cn 705 Xianxian Dai 706 ZTE Corporation 707 No.50 Software Avenue,Yuhuatai District 708 Nanjing, Jiangsu Province 210012 709 China 711 Email: Dai.xianxian@zte.com.cn 713 Mahesh Sivakumar 714 Cisco Systems, Inc. 715 510 McCarthy Blvd 716 Milpitas,California 95035 717 United States 719 Email: masivaku@cisco.com