Network Working Group X. Geng Internet-Draft Huawei Intended status: Experimental Z. Qin Expires: December 20, 2020 China Unicom F. Zheng Huawei June 18, 2020 YANG Data Model for Bierv6 draft-geng-bier-bierv6-yang-00 Abstract This draft defines a YANG data model for Bierv6 (Bit indexed explicit replication over IPv6). Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on December 20, 2020. Copyright Notice Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of Geng, et al. Expires December 20, 2020 [Page 1] Internet-Draft draft June 2020 publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminologies . . . . . . . . . . . . . . . . . . . . . . . . 2 3. Considerations . . . . . . . . . . . . . . . . . . . . . . . 2 4. Bierv6 YANG Tree . . . . . . . . . . . . . . . . . . . . . . 3 5. Bierv6 YANG . . . . . . . . . . . . . . . . . . . . . . . . . 3 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 9. Normative References . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 1. Introduction Bierv6 provides stateless bier multicast service over Ipv6 , which is defined in [I-D.xie-bier-ipv6-encapsulation]. This draft specifies YANG data model for Bierv6. 2. Terminologies The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. Bier: Bit indexed explicit replication, referring to [RFC8279] and [RFC8296]. Bierv6: Bit indexed explicit replication using IPv6 data plane, referring to [I-D.xie-bier-ipv6-encapsulation]. 3. Considerations Based on the Bierv6 design, the following attributes are necessary for Bierv6 configuration, besides the current parameters defined in [I-D.ietf-bier-bier-yang]: o Bierv6 address block Geng, et al. Expires December 20, 2020 [Page 2] Internet-Draft draft June 2020 Ipv6 address block which are used for End.BIER allocation and ACL configuration for BIERv6 boundary. Bierv6 address block could be part of SRv6 locater, or it could also be defined independently. o End.Bier Ipv6 address indicating Bierv6 forwarding behavior, coming from Bierv6 address block. 4. Bierv6 YANG Tree module: ietf-bierv6 augment /rt:routing/bier:bier: +--rw bierv6 +--rw bierv6-address-blocks +--rw bierv6-address-block* [name] +--rw name string +--rw enable? boolean +--rw is-default boolean +--rw prefix | +--rw address inet:ipv6-address | +--rw length bierv6-address-len +--ro operational-status? bierv6-status-type +--ro is-in-address-conflict? boolean augment /rt:routing/bier:bier/bier:sub-domain: +--rw bierv6 +--rw (end-bier-address)? | +--:(bierv6-address-block) | | +--rw bierv6-block-name? -> /rt:routing/bier:bier/bierv6:bierv6/bierv6-address-blocks/bierv6-address-block/name | | +--rw offset? inet:ipv6-address-no-zone | +--:(bierv6-srv6-locator) | +--rw srv6-locator-name? -> /rt:routing/srv6:srv6/locators/locator/name | +--rw opcode? inet:ipv6-address-no-zone +--ro operational-status? bierv6-status-type +--ro is-in-address-conflict? boolean 5. Bierv6 YANG module ietf-bierv6 { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-bierv6"; prefix "bierv6"; import ietf-routing { prefix "rt"; Geng, et al. Expires December 20, 2020 [Page 3] Internet-Draft draft June 2020 } import ietf-inet-types { prefix "inet"; } import ietf-bier { prefix "bier"; } import ietf-srv6-base { prefix "srv6"; } organization "IETF BIER(Bit Indexed Explicit Replication ) Working Group"; contact "WG List: WG Chair: Tony Przygienda WG Chair: Greg Shepherd Editor: Xuesong Geng Feng Zheng Jingrong Xie "; Zhuangzhuang Qin "; description "The YANG Module defines configuration model for Bierv6"; revision 2020-04-02 { description "Initial vision"; reference "RFC XXX: YANG Data Model for Bierv6"; } Geng, et al. Expires December 20, 2020 [Page 4] Internet-Draft draft June 2020 typedef bierv6-address-len { type uint8 { range "32 .. 96"; } description "This type defines a Bierv6-address-len with range constraints"; } typedef bierv6-status-type { type enumeration { enum up { value 1; description "State is Up"; } enum down { description "State is Down"; } } description "Status type"; } //Identifications identity bierv6 { base "bier:bier-encapsulation"; description "This identity represents bierv6 encapsulation"; } identity ipv6-address-block { description "A dedicated group of Ipv6 addresses"; } identity bierv6-address-block { base "ipv6-address-block"; description "Ipv6 address block for bierv6"; } identity bierv6-srv6-locator { base "ipv6-address-block"; description "SRv6 locators for bierv6"; } //Groupings grouping end-bier-address-state { description "end.bier address state "; leaf operational-status { type bierv6-status-type; Geng, et al. Expires December 20, 2020 [Page 5] Internet-Draft draft June 2020 config false; description "Indicates whether bierv6 ipv6 address state is UP"; } leaf is-in-address-conflict { type boolean; config false; description "Indicates whether locator address conflicts with some other IPv6 address on the box"; } } grouping bierv6-ipv6-block-state { description "SRv6 grouping Locastateor "; leaf operational-status { type bierv6-status-type; config false; description "Indicates whether bierv6 ipv6 address state is UP"; } leaf is-in-address-conflict { type boolean; config false; description "Indicates whether locator address conflicts with some other IPv6 address on the box"; } } grouping bierv6-address-blocks { description "ipv6 address block for bierv6"; container bierv6-address-blocks { description "ipv6 address block for bierv6"; list bierv6-address-block { key "name"; description "Configure a bierv6 ipv6 address"; leaf name { type string; description "Bierv6 ipv6 address name"; } leaf enable { type boolean; Geng, et al. Expires December 20, 2020 [Page 6] Internet-Draft draft June 2020 default false; description "Enable a Bierv6 ipv6 address"; } leaf is-default { type boolean; mandatory true; description "Indicates if the Bierv6 ipv6 address is a default address"; } container prefix { description "Specify Bierv6 ipv6 address prefix value"; leaf address { type inet:ipv6-address; mandatory true; description "IPv6 address"; } leaf length { type bierv6-address-len; mandatory true; description "Bierv6 ipv6 address (prefix) length"; } } uses bierv6-ipv6-block-state; } } } grouping end-bier { description "end.bier"; choice end-bier-address { description "Two kinds of possible bier address"; case bierv6-address-block { leaf bierv6-block-name { type leafref { path "/rt:routing/bier:bier/bierv6:bierv6/bierv6:bierv6-address-blocks/bierv6:bierv6-address-block/bierv6:name"; } description "bierv6-block-name"; } leaf offset { type inet:ipv6-address-no-zone; description "bierv6 ipv6 address block offset"; } } case bierv6-srv6-locator { Geng, et al. Expires December 20, 2020 [Page 7] Internet-Draft draft June 2020 leaf srv6-locator-name { type leafref { path "/rt:routing/srv6:srv6/srv6:locators/srv6:locator/srv6:name"; } description "SRv6 locator name"; } leaf opcode { type inet:ipv6-address-no-zone; description "SRv6 function opcode."; } } } uses end-bier-address-state; } augment "/rt:routing/bier:bier" { container bierv6{ description "bier global configuration."; uses bierv6-address-blocks; } } augment "/rt:routing/bier:bier/bier:sub-domain" { when "../encapsulation/encapsulation-type='bierv6'"; container bierv6{ uses end-bier; description "end.bier configuration"; } } } 6. IANA Considerations This document makes no request of IANA. Note to RFC Editor: this section may be removed on publication as an RFC. 7. Security Considerations Geng, et al. Expires December 20, 2020 [Page 8] Internet-Draft draft June 2020 8. Acknowledgements The authors wish to thank Jingrong for his useful technical suggestions for the draft. 9. Normative References [I-D.ietf-bier-bier-yang] Chen, R., hu, f., Zhang, Z., dai.xianxian@zte.com.cn, d., and M. Sivakumar, "YANG Data Model for BIER Protocol", draft-ietf-bier-bier-yang-06 (work in progress), February 2020. [I-D.xie-bier-ipv6-encapsulation] Xie, J., Geng, L., McBride, M., Asati, R., and S. Dhanaraj, "Encapsulation for BIER in Non-MPLS IPv6 Networks", draft-xie-bier-ipv6-encapsulation-06 (work in progress), March 2020. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., Przygienda, T., and S. Aldrin, "Multicast Using Bit Index Explicit Replication (BIER)", RFC 8279, DOI 10.17487/RFC8279, November 2017, . [RFC8296] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A., Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation for Bit Index Explicit Replication (BIER) in MPLS and Non- MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January 2018, . Authors' Addresses Xuesong Geng Huawei Email: gengxuesong@huawei.com Zhuangzhuang Qin China Unicom Email: qinzhuangzhuang@chinaunicom.cn Geng, et al. Expires December 20, 2020 [Page 9] Internet-Draft draft June 2020 Feng Zheng Huawei Email: habby.zheng@huawei.com Geng, et al. Expires December 20, 2020 [Page 10]