idnits 2.17.1 draft-zhang-mboned-multicast-service-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. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** There are 28 instances of too long lines in the document, the longest one being 25 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 112 has weird spacing: '...ss-node ine...' == Line 115 has weird spacing: '...ss-node ine...' == Line 118 has weird spacing: '...ss-node bfr...' == Line 121 has weird spacing: '...ss-node bfr...' -- The document date (February 28, 2016) is 2980 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.chh-bier-bier-yang' is defined on line 622, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-bier-architecture' is defined on line 628, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-pim-yang' is defined on line 634, but no explicit reference was found in the text == Unused Reference: 'RFC6020' is defined on line 639, but no explicit reference was found in the text == Unused Reference: 'RFC6037' is defined on line 644, 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: 'RFC6513' is defined on line 653, but no explicit reference was found in the text == Unused Reference: 'RFC7223' is defined on line 657, but no explicit reference was found in the text == Outdated reference: A later version (-04) exists of draft-chh-bier-bier-yang-02 == Outdated reference: A later version (-08) exists of draft-ietf-bier-architecture-03 == Outdated reference: A later version (-17) exists of draft-ietf-pim-yang-00 ** Downref: Normative reference to an Historic RFC: RFC 6037 ** Obsolete normative reference: RFC 6087 (Obsoleted by RFC 8407) ** Obsolete normative reference: RFC 7223 (Obsoleted by RFC 8343) Summary: 6 errors (**), 0 flaws (~~), 16 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 MBONED WG Zheng. Zhang 3 Internet-Draft Cui. Wang 4 Intended status: Standards Track ZTE Corporation 5 Expires: August 31, 2016 February 28, 2016 7 Multicast Service YANG 8 draft-zhang-mboned-multicast-service-yang-00 10 Abstract 12 This document proposes a general and all-round multicast service YANG 13 model, which provides explanations and guidelines for the deployment 14 of multicast service in all kinds of multicast scenarios. The 15 multicast technologies include BIER multicast, PIM multicast, MPLS 16 multicast and so on. And also, there defines several possible RPCs 17 about how to interact between multicast service model and multicast 18 device model. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on August 31, 2016. 37 Copyright Notice 39 Copyright (c) 2016 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 2. Design of the multicast service model . . . . . . . . . . . . 2 56 2.1. Model Structure . . . . . . . . . . . . . . . . . . . . . 3 57 2.2. Multicast overlay layer . . . . . . . . . . . . . . . . . 4 58 2.3. Multicast transport layer . . . . . . . . . . . . . . . . 4 59 2.4. Multicast underlay layer . . . . . . . . . . . . . . . . 4 60 3. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 4 61 4. Multicast service YANG model . . . . . . . . . . . . . . . . 5 62 5. Normative References . . . . . . . . . . . . . . . . . . . . 14 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 65 1. Introduction 67 This document intents to provide a general and all-round multicast 68 service model, and guides the deployment of multicast technology. 69 Additionally, this model covers many existed multicast technologies. 70 But this document does not define any specifical and detailed YANG 71 models for multicast protocol, such as PIM, MLD, and BIER and so on. 72 Instead, this document assists with them to implement multicast 73 service. 75 2. Design of the multicast service model 77 This model includes multicast overlay, the transport layer and the 78 possible underlay information. 80 Multicast overlay defines the feature of multicast flow, such as 81 (vpnid, multicast source and multicast group) information, (ingress- 82 node,egress-nodes) nodes information. Additionally, BIER information 83 including (Subdomain,ingress-node BFR-id,egress-nodes BFR-id) is also 84 included to provide BIER multicast service. In data center network, 85 for fine-grained to gather the nodes belonging to the same virtual 86 network, there may need VNI-related information to assist. 88 Multicast transport defines the transport technologies that may be 89 used to forward multicast flow, including BIER forwarding, mpls 90 forwarding or pim forwarding and so on. 92 Multicast underlay defines the possible technologies that may be used 93 to interaction the necessary information, such as OSPF, ISIS, and BGP 94 and so on. 96 2.1. Model Structure 98 module: ietf-multicast-service 99 +--rw multicast-service 100 +--rw multicast-overlay 101 | +--rw (feature-type) 102 | | +--:(pure-multicast) 103 | | | +--rw vpn-id uint32 104 | | | +--rw source-address inet:ip-address 105 | | | +--rw source-wildcard? uint8 106 | | | +--rw group-address inet:ip-address 107 | | | +--rw group-wildcard? uint8 108 | | +--:(nvo3) 109 | | +--rw vni-type virtual-type 110 | | +--rw vni-value uint32 111 | +--rw nodes-information 112 | | +--rw ingress-node inet:ip-address 113 | | +--rw egress-nodes* [number] 114 | | +--rw number uint32 115 | | +--rw egress-node inet:ip-address 116 | +--rw bier-information 117 | | +--rw sub-domain sub-domain-id 118 | | +--rw ingress-node bfr-id 119 | | +--rw egress-nodes* [number] 120 | | +--rw number uint32 121 | | +--rw egress-node bfr-id 122 | +--rw overlay-technology 123 | +--rw (overlay-tech-type) 124 | +--:(mld) 125 | +--:(mvpn) 126 +--rw multicast-transport 127 | +--rw (transport-type) 128 | +--:(bier) 129 | | +--rw sub-domain sub-domain-id 130 | | +--rw (encap-type) 131 | | | +--:(mpls) 132 | | +--rw bitstringlength? uint16 133 | | +--rw set-identifier? si 134 | | +--rw ecmp? boolean 135 | | +--rw frr? boolean 136 | +--:(cisco-mode) 137 | | +--rw p-group inet:ip-address 138 | | +--rw graceful-restart? boolean 139 | | +--rw bfd? boolean 140 | +--:(mpls) 141 | | +--rw (mpls-tunnel-type)? 142 | | +--:(mldp) 143 | | | +--rw tunnel-id? uint32 144 | | | +--rw frr? boolean 145 | | | +--rw backup-tunnel? boolean 146 | | +--:(p2mp-te) 147 | | +--rw tunnel-id? uint32 148 | | +--rw frr? boolean 149 | | +--rw backup-tunnel? boolean 150 | +--:(pim) 151 | +--rw graceful-restart? boolean 152 | +--rw bfd? boolean 153 +--rw multicast-underlay 154 +--rw underlay-requirement? boolean 155 +--rw (underlay-type) 156 +--:(bgp) 157 +--:(ospf) 158 | +--rw topology-id? uint16 159 +--:(isis) 160 | +--rw topology-id? uint16 161 +--:(pim) 163 2.2. Multicast overlay layer 165 This layer defines the feature of multicast service, and the possible 166 overlay protocol may be used. The feature of multicast includes the 167 source and group information. And specific for nvo3, the feature of 168 multicast service may be virtual network identifier. 170 The ingress and egress nodes information include the IP address of 171 nodes and PEs. In BIER scenario, the nodes information may be BFR- 172 ids. 174 The overlay technology, until now, MVPN and MLD are necessary. 176 2.3. Multicast transport layer 178 BIER is the transport layer technology. MPLS and PIM also are 179 transport layer technologies. The choice of transport layer protocol 180 can be flexible. 182 2.4. Multicast underlay layer 184 This layer has a tight connection with the underlay protocol. 186 3. Notifications 188 TBD. 190 4. Multicast service YANG model 192 file "ietf-multicast-service.yang" 193 module ietf-multicast-service { 195 namespace "urn:ietf:params:xml:ns:yang:ietf-multicast-service"; 197 prefix multicast-service; 199 import ietf-routing { 200 prefix "rt"; 201 } 202 import ietf-yang-types { 203 prefix "yang"; 204 } 205 import ietf-inet-types { 206 prefix "inet"; 207 } 209 organization " IETF MBONED( MBONE Deployment ) Working Group"; 210 contact 211 "WG List: 212 WG Chair: Greg Shepherd 213 214 WG Chair: Leonard Giuliano 215 217 Editor: Zheng Zhang 218 219 Editor: Cui Wang 220 221 "; 223 description 224 "This module contains a collection of YANG definitions for 225 managing multicast service."; 227 revision 2016-02-29 { 228 description 229 "Initial version."; 230 reference "https://tools.ietf.org/html/draft-zhang-mboned-mservice-yang"; 231 } 232 /*feature*/ 233 grouping general-multicast { 234 description "The general multicast address information."; 235 leaf source-address { 236 type inet:ip-address; 237 mandatory true; 238 description "The address of multicast source. The value set to zero 239 means that the receiver interests in all source that relevant to 240 one group."; 241 } 242 leaf source-wildcard { 243 type uint8; 244 description "The wildcard information of source."; 245 } 246 leaf group-address { 247 type inet:ip-address; 248 mandatory true; 249 description "The address of multicast group."; 250 } 251 leaf group-wildcard { 252 type uint8; 253 description "The wildcard information of group."; 254 } 255 } 257 grouping m-addr { 258 description "The vpn multicast information."; 259 leaf vpn-id { 260 type uint32; 261 mandatory true; 262 description "The vpn-id of the multicast flow. 263 If there is global instance, the vpnid value should be zero."; 264 } 265 uses general-multicast; 266 } 268 typedef virtual-type { 269 type enumeration { 270 enum "vxlan" { 271 description "The vxlan type."; 272 } 273 enum "virtual subnet" { 274 description "The nvgre type"; 275 } 276 enum "vni" { 277 description "The geneve type"; 278 } 279 } 280 description "The collection of virtual network type."; 281 } 283 grouping multicast-nvo3 { 284 description "The nvo3 multicast information."; 285 leaf vni-type { 286 type virtual-type; 287 mandatory true; 288 description "The type of virtual network identifier. Such as the Vxlan 289 NVGRE and Geneve."; 290 } 291 leaf vni-value { 292 type uint32; 293 mandatory true; 294 description "The value of Vxlan network identifier, virtual subnet ID 295 or virtual net identifier."; 296 } 297 } 299 grouping multicast-feature { 300 description 301 "This group describes the different multicast information 302 in various deployments."; 303 choice feature-type { 304 mandatory true; 305 case pure-multicast { 306 uses m-addr; 307 } 308 case nvo3 { 309 uses multicast-nvo3; 310 } 311 description "The collection of all possible multicast feature."; 312 } 313 } 315 grouping ip-node { 316 description "The IP information of multicast nodes."; 317 leaf ingress-node { 318 type inet:ip-address; 319 mandatory true; 320 description "The ingress node of multicast flow. Or the ingress 321 node of MVPN and BIER. In MVPN, this is the address of ingress 322 PE; in BIER, this is the BFR-prefix of ingress node."; 323 } 325 list egress-node { 326 key "number"; 327 description "This ID information of one adjacency."; 328 leaf number { 329 type uint32; 330 mandatory true; 331 description "The number of egress nodes."; 332 } 333 leaf egress-node { 334 type inet:ip-address; 335 mandatory true; 336 description 337 "The egress multicast node of multicast flow. 338 Or the egress node of MVPN and BIER. In MVPN, this is the 339 address of egress PE; in BIER, this is the BFR-prefix of 340 egress node."; 341 } 342 } 343 } 344 /* should import from BIER yang */ 345 typedef bfr-id { 346 type uint16; 347 description "The BFR id of node."; 348 } 350 typedef si { 351 type uint16; 352 description 353 "The type for set identifier"; 354 } 356 typedef sub-domain-id { 357 type uint16; 358 description 359 "The type for sub-domain-id"; 360 } 362 typedef bit-string { 363 type uint16; 364 description 365 "The bit mask of one bitstring."; 366 } 368 grouping bier-node { 369 description "The BIER information of multicast nodes."; 370 leaf sub-domain { 371 type sub-domain-id; 372 mandatory true; 373 description "The sub-domain that this multicast flow belongs to."; 374 } 375 leaf ingress-node { 376 type bfr-id; 377 mandatory true; 378 description "The ingress node of multicast flow. This is the 379 BFR-id of ingress node."; 380 } 381 list egress-node { 382 key "number"; 383 description "This ID information of one adjacency."; 384 leaf number { 385 type uint32; 386 mandatory true; 387 description "The number of egress nodes."; 388 } 389 leaf egress-node { 390 type bfr-id; 391 mandatory true; 392 description 393 "The egress multicast node of multicast flow. 394 This is the BFR-id of egress node."; 395 } 396 } 397 } 399 grouping overlay-tech { 400 description "The possible overlay technologies for multicast service."; 401 choice overlay-tech-type { 402 mandatory true; 403 case mld { 404 description "MLD technology is used for multicast overlay"; 405 } 406 case mvpn { 407 description "MVPN technology is used for multicast overlay"; 408 } 409 description "The collection of multicast overlay technology"; 410 } 411 } 413 grouping multicast-overlay { 414 description "The node information that connect the ingress multicast 415 flow, and the nodes information that connect the egress multicast 416 flow."; 417 uses multicast-feature; 418 container nodes-information { 419 description "The ingress and egress nodes information."; 420 uses ip-node; 421 } 422 container bier-information { 423 description "The ingress and egress BIER nodes information."; 424 uses bier-node; 425 } 426 container overlay-technology { 427 description "The possible overlay technologies for multicast service."; 428 uses overlay-tech; 429 } 431 } 433 /*transport*/ 435 typedef bier-encap-type { 436 type enumeration { 437 enum "mpls" { 438 description "The mpls forwarding function is used in BIER."; 439 } 440 } 441 description "The encapsulation type of BIER transportion."; 442 } 443 grouping transport-bier { 444 description "The BIER transport information."; 445 leaf sub-domain { 446 type sub-domain-id; 447 mandatory true; 448 description "The subdomain id that this multicast flow belongs to."; 449 } 450 choice encap-type { 451 mandatory true; 452 case mpls { 453 description "The BIER forwarding depends on mpls."; 454 } 455 description "The encapsulation type in BIER."; 456 } 457 leaf bitstringlength { 458 type uint16; 459 description "The bitstringlength used by BIER forwarding."; 460 } 461 leaf set-identifier { 462 type si; 463 description "The set identifier used by this multicast flow, especially in BIER TE."; 464 } 465 leaf ecmp { 466 type boolean; 467 description "The capability of ECMP."; 468 } 469 leaf frr { 470 type boolean; 471 description "The capability of fast re-route."; 472 } 473 } 475 grouping transport-pim { 476 description "The requirement information of pim transportion."; 477 leaf graceful-restart { 478 type boolean; 479 description "The capability of graceful restart."; 480 } 481 leaf bfd { 482 type boolean; 483 description "The capability of bfd."; 484 } 485 } 487 grouping tunnel-feature { 488 description "The tunnel feature."; 489 leaf tunnel-id { 490 type uint32; 491 description "The tunnel id that corresponds this flow."; 492 } 493 leaf frr { 494 type boolean; 495 description "The capability of fast re-route."; 496 } 497 leaf backup-tunnel { 498 type boolean; 499 description "The capability of backup tunnel."; 500 } 501 } 503 grouping transport-mpls { 504 description "The mpls transportion information."; 505 choice mpls-tunnel-type { 506 case mldp { 507 uses tunnel-feature; 508 description "The mldp tunnel."; 509 } 510 case p2mp-te { 511 uses tunnel-feature; 512 description "The p2mp te tunnel."; 513 } 514 description "The collection types of mpls tunnels"; 515 } 516 } 518 grouping cisco-multicast { 519 description "The Cisco MDT multicast information in RFC6037."; 520 leaf p-group { 521 type inet:ip-address; 522 mandatory true; 523 description "The address of p-group."; 524 } 525 } 526 grouping transport-cisco-mode { 527 description "The transport information of Cisco mode, RFC6037."; 528 uses cisco-multicast; 529 uses transport-pim; 530 } 532 grouping multicast-transport { 533 description "The transport information of multicast service."; 534 choice transport-type { 535 mandatory true; 536 case bier { 537 uses transport-bier; 538 } 539 case cisco-mode { 540 uses transport-cisco-mode; 541 } 542 case mpls { 543 uses transport-mpls; 544 } 545 case pim { 546 uses transport-pim; 547 } 548 description "The collection of all possible multicast transport technology."; 549 } 550 } 552 /*underlay*/ 553 grouping underlay-bgp { 554 description "Underlay information of BGP."; 555 } 557 grouping underlay-ospf { 558 description "Underlay information of OSPF."; 559 leaf topology-id { 560 type uint16; 561 description "The topology id of ospf instance."; 562 } 563 } 565 grouping underlay-isis { 566 description "Underlay information of ISIS."; 567 leaf topology-id { 568 type uint16; 569 description "The topology id of isis instance."; 570 } 571 } 573 grouping underlay-pim { 574 description "Underlay information of PIM."; 575 /* If there are some necessary information should be defined? */ 576 } 578 grouping multicast-underlay { 579 description "The underlay information relevant multicast service."; 580 leaf underlay-requirement { 581 type boolean; 582 description "Whether the underlay technology should be required."; 583 } 584 choice underlay-type { 585 mandatory true; 586 case bgp { 587 uses underlay-bgp; 588 } 589 case ospf { 590 uses underlay-ospf; 591 } 592 case isis { 593 uses underlay-isis; 594 } 595 case pim { 596 uses underlay-pim; 597 } 598 description "The collection of all possible multicast underlay technology."; 599 } 600 } 602 container multicast-service { 603 description "The model of multicast service. Include overlay, transport and underlay."; 604 container multicast-overlay { 605 description "The overlay information of multicast service."; 606 uses multicast-overlay; 607 } 608 container multicast-transport { 609 description "The transportion of multicast service."; 610 uses multicast-transport; 611 } 612 container multicast-underlay { 613 description "The underlay of multicast service."; 614 uses multicast-underlay; 615 } 616 } 618 } 619 620 5. Normative References 622 [I-D.chh-bier-bier-yang] 623 Chen, R., hu, f., Zhang, Z., dai.xianxian@zte.com.cn, d., 624 and M. Sivakumar, "YANG Data Model for BIER Protocol", 625 draft-chh-bier-bier-yang-02 (work in progress), November 626 2015. 628 [I-D.ietf-bier-architecture] 629 Wijnands, I., Rosen, E., Dolganow, A., P, T., and S. 630 Aldrin, "Multicast using Bit Index Explicit Replication", 631 draft-ietf-bier-architecture-03 (work in progress), 632 January 2016. 634 [I-D.ietf-pim-yang] 635 Liu, X., McAllister, P., and A. Peter, "A YANG data model 636 for Protocol-Independent Multicast (PIM)", draft-ietf-pim- 637 yang-00 (work in progress), February 2016. 639 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 640 the Network Configuration Protocol (NETCONF)", RFC 6020, 641 DOI 10.17487/RFC6020, October 2010, 642 . 644 [RFC6037] Rosen, E., Ed., Cai, Y., Ed., and IJ. Wijnands, "Cisco 645 Systems' Solution for Multicast in BGP/MPLS IP VPNs", 646 RFC 6037, DOI 10.17487/RFC6037, 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 [RFC6513] Rosen, E., Ed. and R. Aggarwal, Ed., "Multicast in MPLS/ 654 BGP IP VPNs", RFC 6513, DOI 10.17487/RFC6513, February 655 2012, . 657 [RFC7223] Bjorklund, M., "A YANG Data Model for Interface 658 Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, 659 . 661 Authors' Addresses 662 Zheng(Sandy) Zhang 663 ZTE Corporation 664 No. 50 Software Ave, Yuhuatai Distinct 665 Nanjing 666 China 668 Email: zhang.zheng@zte.com.cn 670 Cui(Linda) Wang 671 ZTE Corporation 672 No. 50 Software Ave, Yuhuatai Distinct 673 Nanjing 674 China 676 Email: wang.cui1@zte.com.cn