Internet DRAFT - draft-geng-bier-bierv6-yang

draft-geng-bier-bierv6-yang







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

<CODE BEGINS>
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:  <mailto:bier@ietf.org>

     WG Chair: Tony Przygienda
               <mailto:tonysietf@gmail.com>

     WG Chair: Greg Shepherd
               <mailto:gjshep@gmail.com>

     Editor:   Xuesong Geng
                <mailto:gengxuesong@huawei.com>

               Feng Zheng
                <mailto:habby.zheng@huawei.com>

               Jingrong Xie
                <mailto:xiejingrong@huawei.com>";

               Zhuangzhuang Qin
                <mailto:qinzhuangzhuang@chinaunicom.cn>";

  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";
    }
  }
}
<CODE ENDS>

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,
              <https://www.rfc-editor.org/info/rfc2119>.

   [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,
              <https://www.rfc-editor.org/info/rfc8279>.

   [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, <https://www.rfc-editor.org/info/rfc8296>.

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]