idnits 2.17.1 draft-geng-bier-bierv6-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 : ---------------------------------------------------------------------------- ** There are 5 instances of too long lines in the document, the longest one being 54 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 114 has weird spacing: '...address ine...' == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (June 18, 2020) is 1401 days in the past. Is this intentional? Checking references for intended status: Experimental ---------------------------------------------------------------------------- == Outdated reference: A later version (-08) exists of draft-ietf-bier-bier-yang-06 == Outdated reference: A later version (-10) exists of draft-xie-bier-ipv6-encapsulation-06 Summary: 1 error (**), 0 flaws (~~), 5 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group X. Geng 3 Internet-Draft Huawei 4 Intended status: Experimental Z. Qin 5 Expires: December 20, 2020 China Unicom 6 F. Zheng 7 Huawei 8 June 18, 2020 10 YANG Data Model for Bierv6 11 draft-geng-bier-bierv6-yang-00 13 Abstract 15 This draft defines a YANG data model for Bierv6 (Bit indexed explicit 16 replication over IPv6). 18 Requirements Language 20 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 21 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 22 document are to be interpreted as described in RFC 2119 [RFC2119]. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at https://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on December 20, 2020. 41 Copyright Notice 43 Copyright (c) 2020 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (https://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 59 2. Terminologies . . . . . . . . . . . . . . . . . . . . . . . . 2 60 3. Considerations . . . . . . . . . . . . . . . . . . . . . . . 2 61 4. Bierv6 YANG Tree . . . . . . . . . . . . . . . . . . . . . . 3 62 5. Bierv6 YANG . . . . . . . . . . . . . . . . . . . . . . . . . 3 63 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 64 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 65 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 66 9. Normative References . . . . . . . . . . . . . . . . . . . . 9 67 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 69 1. Introduction 71 Bierv6 provides stateless bier multicast service over Ipv6 , which is 72 defined in [I-D.xie-bier-ipv6-encapsulation]. This draft specifies 73 YANG data model for Bierv6. 75 2. Terminologies 77 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 78 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 79 document are to be interpreted as described in [RFC2119]. 81 Bier: Bit indexed explicit replication, referring to [RFC8279] and 82 [RFC8296]. 84 Bierv6: Bit indexed explicit replication using IPv6 data plane, 85 referring to [I-D.xie-bier-ipv6-encapsulation]. 87 3. Considerations 89 Based on the Bierv6 design, the following attributes are necessary 90 for Bierv6 configuration, besides the current parameters defined in 91 [I-D.ietf-bier-bier-yang]: 93 o Bierv6 address block 94 Ipv6 address block which are used for End.BIER allocation and ACL 95 configuration for BIERv6 boundary. Bierv6 address block could be 96 part of SRv6 locater, or it could also be defined independently. 98 o End.Bier 100 Ipv6 address indicating Bierv6 forwarding behavior, coming from 101 Bierv6 address block. 103 4. Bierv6 YANG Tree 105 module: ietf-bierv6 106 augment /rt:routing/bier:bier: 107 +--rw bierv6 108 +--rw bierv6-address-blocks 109 +--rw bierv6-address-block* [name] 110 +--rw name string 111 +--rw enable? boolean 112 +--rw is-default boolean 113 +--rw prefix 114 | +--rw address inet:ipv6-address 115 | +--rw length bierv6-address-len 116 +--ro operational-status? bierv6-status-type 117 +--ro is-in-address-conflict? boolean 119 augment /rt:routing/bier:bier/bier:sub-domain: 120 +--rw bierv6 121 +--rw (end-bier-address)? 122 | +--:(bierv6-address-block) 123 | | +--rw bierv6-block-name? -> /rt:routing/bier:bier/bierv6:bierv6/bierv6-address-blocks/bierv6-address-block/name 124 | | +--rw offset? inet:ipv6-address-no-zone 125 | +--:(bierv6-srv6-locator) 126 | +--rw srv6-locator-name? -> /rt:routing/srv6:srv6/locators/locator/name 127 | +--rw opcode? inet:ipv6-address-no-zone 128 +--ro operational-status? bierv6-status-type 129 +--ro is-in-address-conflict? boolean 131 5. Bierv6 YANG 133 134 module ietf-bierv6 { 135 yang-version 1.1; 136 namespace "urn:ietf:params:xml:ns:yang:ietf-bierv6"; 137 prefix "bierv6"; 139 import ietf-routing { 140 prefix "rt"; 141 } 143 import ietf-inet-types { 144 prefix "inet"; 145 } 147 import ietf-bier { 148 prefix "bier"; 149 } 151 import ietf-srv6-base { 152 prefix "srv6"; 153 } 155 organization 156 "IETF BIER(Bit Indexed Explicit Replication ) Working Group"; 158 contact 159 "WG List: 161 WG Chair: Tony Przygienda 162 164 WG Chair: Greg Shepherd 165 167 Editor: Xuesong Geng 168 170 Feng Zheng 171 173 Jingrong Xie 174 "; 176 Zhuangzhuang Qin 177 "; 179 description 180 "The YANG Module defines configuration model for Bierv6"; 181 revision 2020-04-02 { 182 description 183 "Initial vision"; 184 reference 185 "RFC XXX: YANG Data Model for Bierv6"; 186 } 187 typedef bierv6-address-len { 188 type uint8 { 189 range "32 .. 96"; 190 } 191 description 192 "This type defines a Bierv6-address-len with range constraints"; 193 } 195 typedef bierv6-status-type { 196 type enumeration { 197 enum up { value 1; description "State is Up"; } 198 enum down { description "State is Down"; } 199 } 200 description 201 "Status type"; 202 } 204 //Identifications 206 identity bierv6 { 207 base "bier:bier-encapsulation"; 208 description 209 "This identity represents bierv6 encapsulation"; 210 } 212 identity ipv6-address-block { 213 description 214 "A dedicated group of Ipv6 addresses"; 215 } 217 identity bierv6-address-block { 218 base "ipv6-address-block"; 219 description 220 "Ipv6 address block for bierv6"; 221 } 223 identity bierv6-srv6-locator { 224 base "ipv6-address-block"; 225 description 226 "SRv6 locators for bierv6"; 227 } 229 //Groupings 230 grouping end-bier-address-state { 231 description "end.bier address state "; 232 leaf operational-status { 233 type bierv6-status-type; 234 config false; 235 description 236 "Indicates whether bierv6 ipv6 address state is UP"; 237 } 239 leaf is-in-address-conflict { 240 type boolean; 241 config false; 242 description 243 "Indicates whether locator address conflicts with 244 some other IPv6 address on the box"; 245 } 246 } 248 grouping bierv6-ipv6-block-state { 249 description "SRv6 grouping Locastateor "; 250 leaf operational-status { 251 type bierv6-status-type; 252 config false; 253 description 254 "Indicates whether bierv6 ipv6 address state is UP"; 255 } 257 leaf is-in-address-conflict { 258 type boolean; 259 config false; 260 description 261 "Indicates whether locator address conflicts with 262 some other IPv6 address on the box"; 263 } 264 } 266 grouping bierv6-address-blocks { 267 description 268 "ipv6 address block for bierv6"; 269 container bierv6-address-blocks { 270 description 271 "ipv6 address block for bierv6"; 272 list bierv6-address-block { 273 key "name"; 274 description 275 "Configure a bierv6 ipv6 address"; 276 leaf name { 277 type string; 278 description "Bierv6 ipv6 address name"; 279 } 280 leaf enable { 281 type boolean; 282 default false; 283 description "Enable a Bierv6 ipv6 address"; 284 } 285 leaf is-default { 286 type boolean; 287 mandatory true; 288 description "Indicates if the Bierv6 ipv6 address is a default address"; 289 } 290 container prefix { 291 description "Specify Bierv6 ipv6 address prefix value"; 292 leaf address { 293 type inet:ipv6-address; 294 mandatory true; 295 description "IPv6 address"; 296 } 297 leaf length { 298 type bierv6-address-len; 299 mandatory true; 300 description "Bierv6 ipv6 address (prefix) length"; 301 } 302 } 303 uses bierv6-ipv6-block-state; 304 } 305 } 306 } 308 grouping end-bier { 309 description 310 "end.bier"; 311 choice end-bier-address { 312 description 313 "Two kinds of possible bier address"; 314 case bierv6-address-block { 315 leaf bierv6-block-name { 316 type leafref { 317 path "/rt:routing/bier:bier/bierv6:bierv6/bierv6:bierv6-address-blocks/bierv6:bierv6-address-block/bierv6:name"; 318 } 319 description 320 "bierv6-block-name"; 321 } 322 leaf offset { 323 type inet:ipv6-address-no-zone; 324 description 325 "bierv6 ipv6 address block offset"; 326 } 327 } 329 case bierv6-srv6-locator { 330 leaf srv6-locator-name { 331 type leafref { 332 path "/rt:routing/srv6:srv6/srv6:locators/srv6:locator/srv6:name"; 333 } 334 description 335 "SRv6 locator name"; 336 } 337 leaf opcode { 338 type inet:ipv6-address-no-zone; 339 description 340 "SRv6 function opcode."; 341 } 342 } 343 } 344 uses end-bier-address-state; 345 } 347 augment "/rt:routing/bier:bier" { 348 container bierv6{ 349 description 350 "bier global configuration."; 351 uses bierv6-address-blocks; 352 } 353 } 355 augment "/rt:routing/bier:bier/bier:sub-domain" { 356 when "../encapsulation/encapsulation-type='bierv6'"; 357 container bierv6{ 358 uses end-bier; 359 description 360 "end.bier configuration"; 361 } 362 } 363 } 364 366 6. IANA Considerations 368 This document makes no request of IANA. 370 Note to RFC Editor: this section may be removed on publication as an 371 RFC. 373 7. Security Considerations 374 8. Acknowledgements 376 The authors wish to thank Jingrong for his useful technical 377 suggestions for the draft. 379 9. Normative References 381 [I-D.ietf-bier-bier-yang] 382 Chen, R., hu, f., Zhang, Z., dai.xianxian@zte.com.cn, d., 383 and M. Sivakumar, "YANG Data Model for BIER Protocol", 384 draft-ietf-bier-bier-yang-06 (work in progress), February 385 2020. 387 [I-D.xie-bier-ipv6-encapsulation] 388 Xie, J., Geng, L., McBride, M., Asati, R., and S. 389 Dhanaraj, "Encapsulation for BIER in Non-MPLS IPv6 390 Networks", draft-xie-bier-ipv6-encapsulation-06 (work in 391 progress), March 2020. 393 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 394 Requirement Levels", BCP 14, RFC 2119, 395 DOI 10.17487/RFC2119, March 1997, 396 . 398 [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 399 Przygienda, T., and S. Aldrin, "Multicast Using Bit Index 400 Explicit Replication (BIER)", RFC 8279, 401 DOI 10.17487/RFC8279, November 2017, 402 . 404 [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., 405 Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation 406 for Bit Index Explicit Replication (BIER) in MPLS and Non- 407 MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 408 2018, . 410 Authors' Addresses 412 Xuesong Geng 413 Huawei 415 Email: gengxuesong@huawei.com 417 Zhuangzhuang Qin 418 China Unicom 420 Email: qinzhuangzhuang@chinaunicom.cn 421 Feng Zheng 422 Huawei 424 Email: habby.zheng@huawei.com