[Docs] [txt|pdf] [Tracker] [Email] [Nits]

Versions: 00

NVO3 WG                                                        Ran. Chen
Internet-Draft                                               Fangwei. Hu
Intended status: Standards Track                         ZTE Corporation
Expires: May 11, 2019                                    November 7, 2018


                   YANG Data Model for NVO3 Protocol
                      draft-chen-nvo3-yang-00.txt

Abstract

   This document defines a YANG data model for NVO3 configuration and
   operation.  This YANG model covers two types of encapsulations:
   Geneve, and VXLAN-GPE

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 May 11, 2019.

Copyright Notice

   Copyright (c) 2018 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
   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 & Hu                  Expires May 11, 2019                  [Page 1]


Internet-Draft                  NVO3 YANG                  November 2018


Table of Contents

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

1.  Introduction

   This document defines a YANG data model for NVO3 configuration and
   operation.  This YANG model covers two types of encapsulations:
   Geneve, and VXLAN-GPE.

2.  Design of the Data Model

     module: ietf-nvo3
         +--rw nvo3
         |  +--rw vxlan-enable?       boolean
         |  +--rw geneve-enable?      boolean
         |  +--rw nvo3-instance* [vni]
         |  |  +--rw vni                 vni
         |  |  +--rw protocol-type?      enumeration
         |  |  +--rw bridge-interface?   if:interface-ref
         |  |  +--rw accesspoint* [ac-name]
         |  |  |  +--rw ac-name             ac-name
         |  |  |  +--rw l2interface-name?   if:interface-ref
         |  |  +--rw unicast-tunnel* [unicast-tunnel-name]
         |  |  |  +--rw unicast-tunnel-name    unicast-tunnel-name
         |  |  +--rw multicast-tunnel* [multicast-tunnel-name]
         |  |     +--rw multicast-tunnel-name    multicast-tunnel-name
         |  +--rw unicast-tunnel* [unicast-tunnel-name]
         |  |  +--rw unicast-tunnel-name        unicast-tunnel-name
         |  |  +--rw encaptype?                 enumeration
         |  |  +--rw tunnel-source-ipv4?        inet:ipv4-prefix
         |  |  +--rw tunnel-source-ipv6?        inet:ipv6-prefix
         |  |  +--rw tunnel-destination-ipv4?   inet:ipv4-prefix
         |  |  +--rw tunnel-destination-ipv6?   inet:ipv6-prefix
         |  +--rw multicast-tunnel* [multicast-tunnel-name]
         |     +--rw multicast-tunnel-name      multicast-tunnel-name
         |     +--rw encaptype?                 enumeration
         |     +--rw tunnel-source-ipv4?        inet:ipv4-prefix
         |     +--rw tunnel-source-ipv6?        inet:ipv6-prefix



Chen & Hu                  Expires May 11, 2019                  [Page 2]


Internet-Draft                  NVO3 YANG                  November 2018


         |     +--rw tunnel-destination-ipv4?   inet:ipv4-prefix
         |     +--rw tunnel-destination-ipv6?   inet:ipv6-prefix
         +--ro nvo3-state
            +--ro nvo3-instance* [vni]
            |  +--ro vni                 vni
            |  +--ro protocol-type?      enumeration
            |  +--ro bridge-interface?   if:interface-ref
            |  +--ro accesspoint* [ac-name]
            |  |  +--ro ac-name             ac-name
            |  |  +--ro l2interface-name?   if:interface-ref
            |  +--ro unicast-tunnel* [unicast-tunnel-name]
            |  |  +--ro unicast-tunnel-name    unicast-tunnel-name
            |  +--ro multicast-tunnel* [multicast-tunnel-name]
            |     +--ro multicast-tunnel-name    multicast-tunnel-name
            +--ro unicast-tunnel* [unicast-tunnel-name]
            |  +--ro unicast-tunnel-name        unicast-tunnel-name
            |  +--ro encaptype?                 enumeration
            |  +--ro tunnel-source-ipv4?        inet:ipv4-prefix
            |  +--ro tunnel-source-ipv6?        inet:ipv6-prefix
            |  +--ro tunnel-destination-ipv4?   inet:ipv4-prefix
            |  +--ro tunnel-destination-ipv6?   inet:ipv6-prefix
            +--ro multicast-tunnel* [multicast-tunnel-name]
               +--ro multicast-tunnel-name      multicast-tunnel-name
               +--ro encaptype?                 enumeration
               +--ro tunnel-source-ipv4?        inet:ipv4-prefix
               +--ro tunnel-source-ipv6?        inet:ipv6-prefix
               +--ro tunnel-destination-ipv4?   inet:ipv4-prefix
               +--ro tunnel-destination-ipv6?   inet:ipv6-prefix


3.  Configuration

   This Container defines the configuration parameters related to NVO3.

   The configuration includes vxlan enable,geneve enable, parameters
   associated with nvo3-instance, parameters associated with unicast-
   tunnel and multicast-tunnel.

   In this document, we contains two types of encapsulation:
   GENEVE[I-D.ietf-nvo3-geneve]and VXLAN-GPE[I-D.ietf-nvo3-vxlan-gpe].

4.  Control plane configuration

   This Module will be defined in the next version.







Chen & Hu                  Expires May 11, 2019                  [Page 3]


Internet-Draft                  NVO3 YANG                  November 2018


5.  States

   The operational states contains basic parameters associated with
   nvo3, such as parameters associated with nvo3-instance ,unicast-
   tunnel and multicast-tunnel.

6.  NVO3 YANG Data Model

<CODE BEGINS> file "ietf-NVO3@2018-10-31.yang"
module ietf-nvo3{
        namespace "urn:ietf:params:xml:ns:yang:ietf-nvo3";
        prefix nvo3;

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

        import ietf-interfaces {
          prefix if;
        }

        organization
          "IETF Nvo3( Network Virtualization Overlays) Working Group";

        contact
       "WG List:  <mailto:nvo3@ietf.org>
        WG Chair: Matthew Bocci
                  <mailto:matthew.bocci@nokia.com>
        WG Chair: Sam Aldrin
                  <mailto:aldrin.ietf@gmail.com>

        Editor: Ran Chen
                <mailto:chen.ran@zte.com.cn>
        Editor: Fangwei Hu
                <mailto:hu.fangwei@zte.com.cn>
                ";

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

        revision 2018-10-31{
          description
            "Initial version";
            reference "draft-chen-nvo3-yang-00";
        }




Chen & Hu                  Expires May 11, 2019                  [Page 4]


Internet-Draft                  NVO3 YANG                  November 2018


        /*Typedefs*/

        typedef vni{
          type uint32;
          description
            "Virtual Network Identifier";
         }


        typedef unicast-tunnel-name{
          type string;
          description
            "the name for unicast tunnel";
         }
        typedef multicast-tunnel-name{
          type string;
          description
            "the name for multicast tunnel";
         }

        typedef ac-name{
          type string;
          description
            "the name for ac";
         }

        typedef interface-name{
          type string;
          description
            "the name for interface";
         }


         grouping tunnel-cfg{
            leaf encaptype{
                  type enumeration{
                    enum "vxlan"{
                      description
                        "vxlan type";
                            }
                    enum "geneve"{
                      description
                        "geneve type";
                            }
                    }
             description
                           "the type for encapsulation.";
             }
             leaf tunnel-source-ipv4{



Chen & Hu                  Expires May 11, 2019                  [Page 5]


Internet-Draft                  NVO3 YANG                  November 2018


                type inet:ipv4-prefix;
                description
                  "tunnel source ipv4 prefix.";
                }
             leaf tunnel-source-ipv6{
               type inet:ipv6-prefix;
               description
                 "tunnel source ipv6 prefix.";
                }
              leaf tunnel-destination-ipv4{
                type inet:ipv4-prefix;
                description
                   "tunnel destination ipv4 prefix.";
                }
             leaf tunnel-destination-ipv6{
               type inet:ipv6-prefix;
               description
                 "tunnel destination ipv6 prefix.";
                }
               description
                 "defines the tunnel configuration.";
                }
        container nvo3{
          leaf vxlan-enable{
                type boolean;
            default false;
            description
              "Enables vxlan protocol.";
                  }
          leaf geneve-enable{
                type boolean;
            default false;
            description
              "Enables geneve protocol.";
                  }
           list nvo3-instance {
           key "vni";
           leaf vni {
             type vni;
             description
                           "Virtual Network Identifier.";
           }
           leaf protocol-type{
             type enumeration{
                       enum "ipv4"{
                         description
                           "ipv4 protocol";
                              }
                       enum "ipv6"{



Chen & Hu                  Expires May 11, 2019                  [Page 6]


Internet-Draft                  NVO3 YANG                  November 2018


                         description
                           "ipv6 protocol";
                               }
                       enum "ethernet"{
                         description
                           "ethernet protocol";
                              }
                       enum "mpls"{
                         description
                           "mpls protocol";
                              }
                       enum "GBP"{
                         description
                           "gbp";
                          }
                      enum "vBNG"{
                        description
                          "vbng";
                              }
                        }
             description
                           "the next protocol type";
             }
        leaf bridge-interface {
          type if:interface-ref;
          description
                        "bridge interface.";
         }
        list accesspoint{
          key "ac-name";
          leaf ac-name {
            type ac-name;
            description
                          "the name for ac.";
           }
          leaf l2interface-name{
            type if:interface-ref;
            description
                          "L2 interface.";
             }
           description
                     "access point.";
           }
         list unicast-tunnel{
           key "unicast-tunnel-name";
           leaf unicast-tunnel-name {
             type unicast-tunnel-name;
             description
                           "the name for unicast tunnel.";
            }
             description
                           "the information for the unicast tunnel configuration.";
           }



Chen & Hu                  Expires May 11, 2019                  [Page 7]


Internet-Draft                  NVO3 YANG                  November 2018


        list multicast-tunnel{
           key "multicast-tunnel-name";
           leaf multicast-tunnel-name {
             type multicast-tunnel-name;
             description
                           "the name for multicast tunnel.";
           }
        description
                  "the information for the multicast tunnel.";
                }
        description
                  "defines the nvo3 instance configuration.";
       }

        list unicast-tunnel{
          key "unicast-tunnel-name";
          leaf unicast-tunnel-name {
            type unicast-tunnel-name;
            description "the name for unicast tunnel.";
           }
            uses nvo3:tunnel-cfg;
            description
                          "defines the unicast tunnel configuration.";
                }


        list multicast-tunnel{
          key "multicast-tunnel-name";
          leaf multicast-tunnel-name {
            type multicast-tunnel-name;
            description "the name for multicast tunnel.";
          }
        uses nvo3:tunnel-cfg;
        description
          "defines the multicast tunnel configuration.";
                }
                description
                    "defines the nvo3 configuration.";
                }

        container nvo3-state{
           config false;
           description
             "nvo3 operational state.";
             list nvo3-instance {
               key "vni";
               leaf vni {
                 type vni;
                 description
                               "Virtual Network Identifier.";



Chen & Hu                  Expires May 11, 2019                  [Page 8]


Internet-Draft                  NVO3 YANG                  November 2018


           }
              leaf protocol-type{
                type enumeration{
                       enum "ipv4"{
                         description
                           "ipv4 protocol";
                              }
                       enum "ipv6"{
                         description
                           "ipv6 protocol";
                               }
                       enum "ethernet"{
                         description
                           "ethernet protocol";
                              }
                       enum "mpls"{
                         description
                           "mpls protocol";
                              }
                       enum "GBP"{
                         description
                           "gbp";
                          }
                      enum "vBNG"{
                        description
                          "vbng";
                              }
                        }
             description
                           "the next protocol type";
             }

           leaf bridge-interface {
            type if:interface-ref;
            description
                          "bridge interface.";
                }
           list accesspoint{
           key "ac-name";
           leaf ac-name {
             type ac-name;
             description
                           "the name for ac.";
           }
           leaf l2interface-name{
             type if:interface-ref;
            description
                          "L2 interface.";
                }
           description
             "access point.";
                }



Chen & Hu                  Expires May 11, 2019                  [Page 9]


Internet-Draft                  NVO3 YANG                  November 2018


         list unicast-tunnel{
           key "unicast-tunnel-name";
           leaf unicast-tunnel-name {
             type unicast-tunnel-name;
             description
                           "the name for unicast tunnel.";
           }
            description
              "the information for the unicast tunnel.";
                }

        list multicast-tunnel{
           key "multicast-tunnel-name";
           leaf multicast-tunnel-name {
             type multicast-tunnel-name;
             description "the name for multicast tunnel.";
           }
        description
          "the state for multicast tunnel.";
                }
        description
          "the state for nvo3 instance.";
       }

         list unicast-tunnel{
           key "unicast-tunnel-name";
           leaf unicast-tunnel-name {
             type unicast-tunnel-name;
             description "the name for unicast tunnel.";
            }
           uses nvo3:tunnel-cfg;
           description
             "the state for the unicast tunnel.";
                }

              list multicast-tunnel{
           key "multicast-tunnel-name";
           leaf multicast-tunnel-name {
             type multicast-tunnel-name;
             description "the name for multicast tunnel.";
           }
                    uses nvo3:tunnel-cfg;
        description
          "the state for the multicast tunnel.";
                }
            }
        }





Chen & Hu                  Expires May 11, 2019                 [Page 10]


Internet-Draft                  NVO3 YANG                  November 2018


 <CODE ENDS>

7.  Security Considerations

   TBD.

8.  IANA Considerations

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

9.  Normative references

   [I-D.ietf-nvo3-encap]
              Boutros, S., "NVO3 Encapsulation Considerations", draft-
              ietf-nvo3-encap-02 (work in progress), September 2018.

   [I-D.ietf-nvo3-geneve]
              Gross, J., Ganga, I., and T. Sridhar, "Geneve: Generic
              Network Virtualization Encapsulation", draft-ietf-
              nvo3-geneve-08 (work in progress), October 2018.

   [I-D.ietf-nvo3-vxlan-gpe]
              Maino, F., Kreeger, L., and U. Elzur, "Generic Protocol
              Extension for VXLAN", draft-ietf-nvo3-vxlan-gpe-06 (work
              in progress), April 2018.

   [RFC6020]  Bjorklund, M., Ed., "YANG - A Data Modeling Language for
              the Network Configuration Protocol (NETCONF)", RFC 6020,
              DOI 10.17487/RFC6020, October 2010,
              <https://www.rfc-editor.org/info/rfc6020>.

   [RFC6241]  Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
              and A. Bierman, Ed., "Network Configuration Protocol
              (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
              <https://www.rfc-editor.org/info/rfc6241>.

   [RFC6991]  Schoenwaelder, J., Ed., "Common YANG Data Types",
              RFC 6991, DOI 10.17487/RFC6991, July 2013,
              <https://www.rfc-editor.org/info/rfc6991>.

   [RFC7223]  Bjorklund, M., "A YANG Data Model for Interface
              Management", RFC 7223, DOI 10.17487/RFC7223, May 2014,
              <https://www.rfc-editor.org/info/rfc7223>.







Chen & Hu                  Expires May 11, 2019                 [Page 11]


Internet-Draft                  NVO3 YANG                  November 2018


   [RFC7348]  Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger,
              L., Sridhar, T., Bursell, M., and C. Wright, "Virtual
              eXtensible Local Area Network (VXLAN): A Framework for
              Overlaying Virtualized Layer 2 Networks over Layer 3
              Networks", RFC 7348, DOI 10.17487/RFC7348, August 2014,
              <https://www.rfc-editor.org/info/rfc7348>.

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


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

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
























Chen & Hu                  Expires May 11, 2019                 [Page 12]


Html markup produced by rfcmarkup 1.128b, available from https://tools.ietf.org/tools/rfcmarkup/