BIER WG                                                        Ran. Chen
Internet-Draft                                               Fangwei. Hu
Intended status: Standards Track                            Zheng. Zhang
Expires: January 7, 2016                                    Xianxia. Dai
                                                         ZTE Corporation
                                                            July 6, 2015


                   YANG Data Model for BIER Protocol
                    draft-chh-bier-bier-yang-00.txt

Abstract

   This document defines a YANG data model for BIER configuration and
   operation.

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 http://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 January 7, 2016.

Copyright Notice

   Copyright (c) 2015 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
   (http://trustee.ietf.org/license-info) in effect on the date of
   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.




Chen, et al.             Expires January 7, 2016                [Page 1]


Internet-Draft                  BIER YANG                      July 2015


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Design of the Data Model  . . . . . . . . . . . . . . . . . .   2
   3.  Configuration . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  Control plane configuration . . . . . . . . . . . . . . . . .   4
   5.  States  . . . . . . . . . . . . . . . . . . . . . . . . . . .   4
   6.  Notification  . . . . . . . . . . . . . . . . . . . . . . . .   5
   7.  BIER YANG Data Model  . . . . . . . . . . . . . . . . . . . .   5
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .  11
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  11
   10. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  11
   11. Normative references  . . . . . . . . . . . . . . . . . . . .  11
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   This document defines a YANG data model for BIER configuration and
   operation.

2.  Design of the Data Model



module: ietf-bier
augment /rt:routing/rt:routing-instance:
   +--rw bier
      +--rw transport-type?           identityref
      +--rw af
      |  +--rw ipv4
      |  |  +--rw bfr-prefix          inet:ipv4-prefix
      |  +--rw ipv6
      |     +--rw bfr-prefix          inet:ipv6-prefix
      |
      +--rw mt *[mt-id]
      |  +--rw mt-id                  uint16
      |  +--rw sub-domain *[sub-domain-id]
      |  |  +--rw sub-domain-id       uint16
      |  |  +--rw bfr-id              uint16
      |  |  +--rw label               uint32
      |  |  +--rw label-range-size    uint16
      |  |  +--rw bitstringlength     uint16
      |  |  +--rw frr                 boolean
      |  +--rw rpf-enable?            boolean
      +--rw interfaces
          +--rw interface* [name]
             +--rw name               if:interface-ref
             +--bfd                   boolean



Chen, et al.             Expires January 7, 2016                [Page 2]


Internet-Draft                  BIER YANG                      July 2015


augment /rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis/isis:instance:
   +--rw bier
      +--rw enabled?         boolean
      +--rw mt
         +--rw advertise?    boolean
         +--rw receive?      boolean

augment /rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance:
   +--rw bier
      +--rw enabled?        boolean
      +--rw mt
         +--rw advertise?   boolean
         +--rw receive?     boolean



 augment /rt:routing-state/rt:routing-instance:
   +--ro bier
      +--ro bfr-prefix                inet:ip-prefix
      +--ro bier-infomation
      |  +--ro mt-id                   uint16
      |  +--ro sub-domain *[sub-domain-id]
      |  |  +--ro sub-domain-id        uint16
      |  |  +--ro bfr-id               uint16
      |  |  +--ro label uint32
      |  |  +--ro label-range-size     uint16
      |  |  +--ro bitstringlength      uint16
      |  |  +--ro bitstring            uint32
      |  +--ro bier-mapping-infomation
      |     +--ro label?               uint32
      |     +--ro label-range-size     uint16
      |
      +--ro birts
      |  +--ro birt *[name]
      |     +--ro name
      |     +--ro address-family
      |        +--ro ipv4
      |        |  +--ro bfr-id       uint16
      |        |  +--ro bfr-prefix   uint16
      |        |  +--ro bfr-nbr      uint16
      |        +--ro ipv6
      |           +--ro bfr-id       uint16
      |           +--ro bfr-prefix   uint16
      |           +--ro bfr-nbr      uint16
      +--ro bifts
         +--ro bift *[name]
            +--ro name
            +--ro address-family



Chen, et al.             Expires January 7, 2016                [Page 3]


Internet-Draft                  BIER YANG                      July 2015


               +--ro ipv4
               |  +--ro bfr-id     uint16
               |  +--ro f-bm       uint16
               |  +--ro bfr-nbr    uint16
               +--ro ipv6
                  +--ro bfr-id     uint16
                  +--ro f-bm       uint16
                  +--ro bfr-nbr    uint16

notifications:
   +---n bfr-id-collision?
   |   +--ro bfr-id?             uint16
   +---n bfr-zero?
   |   +--ro bfr-id?             uint16
   +---n sub-domain-id-collision
       +--ro sub-domain-id?      uint16
          +--ro mt-id?           uint16


3.  Configuration

   This Module augments the "/rt:routing/rt:routing-instance:" with a
   BIER container.  This Container defines all the configuration
   parameters related to BIER for this particular routing-instance.

   The BIER configuration contains global routing-instance configuration
   and interface configuration.

   The global routing-instance configuration includes BIER transport
   type, AF, MT.

   The interface configuration includes name and bfd.

4.  Control plane configuration

   This Module augments routing-protocol configuration with BIER.

   This Module supports ISIS ([I-D.ietf-bier-isis-extensions])and OSPF
   ([I-D.ietf-bier-ospf-bier-extensions]) as control plane for BIER.

5.  States

   It proposes mt-id, subdomain and other information, such as bier-
   mapping-information.







Chen, et al.             Expires January 7, 2016                [Page 4]


Internet-Draft                  BIER YANG                      July 2015


6.  Notification

   This Module includes bfr-id-collision, bfr-zero, sub-domain-id-
   collision.

7.  BIER YANG Data Model


 module ietf-bier {

     namespace "urn:ietf:params:xml:ns:yang:ietf-bier";

     prefix "bier";

     import ietf-routing {
       prefix "rt";
     }

     import ietf-inet-types {
       prefix "inet";
     }

     import ietf-interfaces {
       prefix "if";
     }

     import ietf-ip {
       prefix "ip";
     }

     import ietf-isis{
       prefix "isis";
     }

     import ietf-ospf  {
       prefix "ospf";
     }
     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>



Chen, et al.             Expires January 7, 2016                [Page 5]


Internet-Draft                  BIER YANG                      July 2015


        Editor:   Ran Chen
                   <mailto:chen.ran@zte.com.cn>
        Editor:   Fangwei Hu
                   <mailto:hu.fangwei@zte.com.cn>
            Editor:   Zheng Zhang
                   <mailto:zhang.zheng@zte.com.cn>
        Editor:   Xianxian Dai
                   <mailto:dai.xianxian@zte.com.cn>

     description
       " The YANG module defines a generic configuration model for BIER.";


     revision 2015-06-22 {
       description
         "Initial revision.";
       reference
         "reference "draft-chen-bier-bier-yang-00";
     }

     /* Identities */

     identity transport-type {
       description
         "Base identity for BIER transport.";
     }
     identity Bier-transport-mpls {
       base Bier-transport;
       description
         "This identity represents MPLS transport for bier";
     }

     /* Configuration Data */
     augment "/rt:routing/rt:routing-instance" {
       description
         "This augments routing-instance configuration with bier.";
       container bier {
         leaf transport-type {
           type identityref {
             base bier-transport;
                }
           default "bier-transport-mpls";
           description "Dataplane to be used.";
                                      }

         container af {
           container ipv4 {
             list mapping-entry {



Chen, et al.             Expires January 7, 2016                [Page 6]


Internet-Draft                  BIER YANG                      July 2015


               key "bfr-prefix";
               leaf bfr-prefix {
                    type  inet:ipv4-prefix;
                    }
               leaf label {
                    type uint32;
                    }
               leaf label-range-size {
                    type uint16;
                    }
                }
            }
           container ipv6 {
             list mapping-entry {
               key "bfr-prefix";
               leaf bfr-prefix {
                    type  inet:ipv6-prefix;
                    }
               leaf label {
                    type uint32;
                    }
               leaf label-range-size {
                    type uint16;
                    }
                }
            }
          }

         list mt {
           key "mt-id";
           leaf mt-id{
             type uint16;
            }
           list sub-domain {
             key "sub-domain-id"
           leaf sub-domain-id {
               type unit16;
                    }
                }
           leaf bfr-id {
               type unit16;
                    }
           leaf label {
             type uint32;
                }
           leaf label-range-size {
             type uint16;
                }



Chen, et al.             Expires January 7, 2016                [Page 7]


Internet-Draft                  BIER YANG                      July 2015


           leaf bitstringlength {
             type uint16;
                }
           leaf frr {
               type boolean;
                }
         leaf rpf-enable{
                    type boolean;
                }

         container interfaces {
            list interface{
              key "name";
              leaf name {
                type if:interface-ref
                        }
              leaf bfd {
                type boolean;
                        }
                    }
                }

            }
          }
                }
  augment "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/isis:isis/isis:instance" {
    description
          "This augments ISIS protocol configuration with bier";
    container bier {
      leaf enable {
        type boolean;
        default false;
        description
          "Enables bier protocol extensions.";
         }
      container mt{
         leaf advertise {
            type boolean;
                        default true;
                }
         leaf receive {
            type boolean;
                        default true;
                }
            }
                }
            }
 augment "/rt:routing/rt:routing-instance/rt:routing-protocols/rt:routing-protocol/ospf:ospf/ospf:instance" {



Chen, et al.             Expires January 7, 2016                [Page 8]


Internet-Draft                  BIER YANG                      July 2015


    description
      "This augments ISIS protocol configuration with bier";
    container bier {
      leaf enable {
        type boolean;
        default false;
        description
          "Enables bier protocol extensions.";
         }
      container mt{
         leaf advertise {
            type boolean;
                        default true;
                }
         leaf receive {
            type boolean;
                        default true;
                }
            }
                }
            }

  /* Operational  data */
    augment "/rt:routing-state/rt:routing-instance" {
        description
          "This augments the operational states with bier.";

        container bier {
          leaf bfr-prefix {
            type  inet:ipv4-prefix;
            }
          container bier-infomation{
            leaf mt-id{
              type uint16;
                }
            list sub-domain{
              key "sub-domain-id"
              leaf sub-domain-id{
                type uint16;
                        }
            leaf bfr-id{
                  type uint16;
                        }
            leaf label {
              type uint32;
                        }
            leaf label-range-size {
              type uint16;



Chen, et al.             Expires January 7, 2016                [Page 9]


Internet-Draft                  BIER YANG                      July 2015


                                        }
            leaf bitstringlength{
               type uint16;
                        }
            leaf bitstring{
                          type uint32;
                        }
                }
            container bier-mapping-infomation{
              leaf label {
                type uint32;
                        }
              leaf label-range-size {
                type uint16;
                        }
                }
            }
        }

        container birts{
          list birt{
                        key "name"
                        leaf name{
              type string;
                }
            container address-family{
              container ipv4{
                leaf bfr-id{
                  type uint16;
                                }
                leaf f-bm{
                  type uint16;
                                }
                leaf bfr-nbr{
                  type uint16;
                                }
                        }
              container ipv6{
                leaf bfr-id{
                  type uint16;
                                }
                leaf f-bm{
                  type uint16;
                                }
                leaf bfr-nbr{
                  type uint16;
                                }
                        }



Chen, et al.             Expires January 7, 2016               [Page 10]


Internet-Draft                  BIER YANG                      July 2015


                }
                }
        }
    }
    /* Notifications */
    notification bfr-id-collision{
      leaf bfr-id{
        type uint16;
        }
    }

    notification bfr-zero{
      leaf bfr-id{
        type uint16;
        }
    }

    notification sub-domain-id-collision{
      leaf sub-domain-id{
        type uint16;
        }

      leaf mt-id{
        type uint16;
        }
    }
}


8.  Security Considerations

   TBD.

9.  Acknowledgements

   TBD.

10.  IANA Considerations

   This document requires no IANA Actions.  Please remove this section
   before RFC publication.

11.  Normative references








Chen, et al.             Expires January 7, 2016               [Page 11]


Internet-Draft                  BIER YANG                      July 2015


   [I-D.ietf-bier-architecture]
              Wijnands, I., Rosen, E., Dolganow, A., Przygienda, T., and
              S. Aldrin, "Multicast using Bit Index Explicit
              Replication", draft-ietf-bier-architecture-01 (work in
              progress), June 2015.

   [I-D.ietf-bier-isis-extensions]
              Ginsberg, L., Aldrin, S., Zhang, J., and T. Przygienda,
              "BIER support via ISIS", draft-ietf-bier-isis-
              extensions-00 (work in progress), April 2015.

   [I-D.ietf-bier-mpls-encapsulation]
              Wijnands, I., Rosen, E., Dolganow, A., Tantsura, J., and
              S. Aldrin, "Encapsulation for Bit Index Explicit
              Replication in MPLS Networks", draft-ietf-bier-mpls-
              encapsulation-01 (work in progress), June 2015.

   [I-D.ietf-bier-ospf-bier-extensions]
              Psenak, P., Kumar, N., Wijnands, I., Dolganow, A.,
              Przygienda, T., Zhang, J., and S. Aldrin, "OSPF Extensions
              For BIER", draft-ietf-bier-ospf-bier-extensions-00 (work
              in progress), April 2015.

   [RFC6020]  Bjorklund, M., "YANG - A Data Modeling Language for the
              Network Configuration Protocol (NETCONF)", RFC 6020,
              October 2010.

   [RFC6241]  Enns, R., Bjorklund, M., Schoenwaelder, J., and A.
              Bierman, "Network Configuration Protocol (NETCONF)", RFC
              6241, June 2011.

   [RFC6991]  Schoenwaelder, J., "Common YANG Data Types", RFC 6991,
              July 2013.

   [RFC7223]  Bjorklund, M., "A YANG Data Model for Interface
              Management", RFC 7223, May 2014.

Authors' Addresses

   Ran Chen
   ZTE Corporation
   No.50 Software Avenue,Yuhuatai District
   Nanjing, Jiangsu Province  210012
   China

   Phone: +86 025 88014636
   Email: chen.ran@zte.com.cn




Chen, et al.             Expires January 7, 2016               [Page 12]


Internet-Draft                  BIER YANG                      July 2015


   Fangwei Hu
   ZTE Corporation
   No.889 Bibo Rd
   Shanghai  201203
   China

   Phone: +86 21 68896273
   Email: hu.fangwei@zte.com.cn


   Zheng Zhang
   ZTE Corporation
   No.50 Software Avenue,Yuhuatai District
   Nanjing, Jiangsu Province  210012
   China

   Email: zhang.zheng@zte.com.cn


   Xianxian Dai
   ZTE Corporation
   No.50 Software Avenue,Yuhuatai District
   Nanjing, Jiangsu Province  210012
   China

   Email: Dai.xianxian@zte.com.cn

























Chen, et al.             Expires January 7, 2016               [Page 13]