Internet DRAFT - draft-tsingh-bess-pbb-evpn-yang-cfg

draft-tsingh-bess-pbb-evpn-yang-cfg







BESS Working Group                             Kishore Tiruveedhula, Ed.
Internet-Draft                                              Tapraj Singh
Intended status: Standards Track                        Juniper Networks
Expires: September 7, 2015                                   Ali Sajassi
                                                            Deepak Kumar
                                                           Cisco Systems
                                                              Luay Jalil
                                                                 Verizon
                                                           March 6, 2015


                 YANG Data Model for PBB EVPN protocol
                 draft-tsingh-bess-pbb-evpn-yang-cfg-00

Abstract

   This document defines a YANG data model that can be used to configure
   and manage PBB EVPN.

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 [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 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 September 7, 2015.

Copyright Notice

   Copyright (c) 2015 IETF Trust and the persons identified as the
   document authors.  All rights reserved.





Kishore Tiruveedhula, etExpires September 7, 2015               [Page 1]

Internet-Draft             PBB EVPN Yang Model                March 2015


   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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   2
   3.  Design of the Data Model  . . . . . . . . . . . . . . . . . .   3
   4.  B-Component Configuration . . . . . . . . . . . . . . . . . .   4
     4.1.  Backbone Bridge domain Configuration  . . . . . . . . . .   5
   5.  I-Component Configuration . . . . . . . . . . . . . . . . . .   5
     5.1.  Customer Bridge domain Configuration  . . . . . . . . . .   5
     5.2.  BMAC Configuration  . . . . . . . . . . . . . . . . . . .   6
     5.3.  PBB EVPN Interface Configuration  . . . . . . . . . . . .   6
   6.  YANG Module . . . . . . . . . . . . . . . . . . . . . . . . .   6
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  11
   8.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  12
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  12
   10. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  12
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .  12
     11.1.  Informative References . . . . . . . . . . . . . . . . .  12
     11.2.  Normative References . . . . . . . . . . . . . . . . . .  13
   Appendix A.  Example: NETCONF <get> Reply . . . . . . . . . . . .  13
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  13

1.  Introduction

   This document defines a YANG data model for PBB EVPN protocol.

   This yang data model includes both configuration of an PBB EVPN
   protocol instance as well as operational states.

2.  Terminology

   ISID : Instance Service Identifier

   ESI : Ethernet Segment Identifier

   BMAC : Backbone MAC

   C-BD : Customer Bridge domain



Kishore Tiruveedhula, etExpires September 7, 2015               [Page 2]

Internet-Draft             PBB EVPN Yang Model                March 2015


   B-BD : Backbone Bridge domain

   B-Comp: B-Component instance

   I-Comp: I-Component instance

   CE : Customer Edge device

   CIP : Customer Instance Port

   PIP : Provider Instance Port

   CBP : Customer Backbone Port

   PBP : Provider Backbone Port

3.  Design of the Data Model

   The PBB EVPN YANG module is divided into two containers.  One is
   I-Component container and other one is B-Component container.

   The I-component is responsible for mapping of traffic from CE to the
   customer bridge domain.  The customer bridge domain is mapped to an
   ISID.  Within the I-component, there are two different ports, one is
   customer instance port and other one is provider instance port.  The
   I-component container contains customer bridge domain information,
   ISID, the customer instance port (CIP) and provider instance port
   (PIP).

   The B-component is responsible to learn and forward packets based on
   the Backbone MAC addresses (BMACs).  Within the B-component, there
   are two different ports, one is customer backbone port (CBP) and
   provider backbone port (PBP).  The B-component container which
   contains PBB EVPN specific information and backbone bridge domain
   information which maps the I-component traffic to B-Component towards
   the MPLS core.

   The figure below describe the overall structure of the PBB EVPN YANG
   module:












Kishore Tiruveedhula, etExpires September 7, 2015               [Page 3]

Internet-Draft             PBB EVPN Yang Model                March 2015


   module: pbb-evpn
      +--rw interfaces
      |  +--rw interface* [name]
      |     +--rw name     leafref
      |     +--rw esi?     string
      |     +--rw redudancy-mode?   boolean
      |     +--rw auto-source-bmac?   boolean
      |     +--rw source-bmac?   yang:mac-address
      +--rw logicalinterfaces
      |  +--rw interface* [name]
      |     +--rw name     leafref
      |     +--rw encap?   uint16
      +--rw b-comp-instance
      |  +--rw instance-name    string
      |  +--rw route-distinguisher?  string
      |  +--rw auto-route-target?   boolean
      |  +--rw route-target?         string
      |  +--rw protocol?   enumeration
      |  +--rw control-word?      boolean
      |  +--rw cbp interface [name]
      |  +--rw b-bridge-domain*
      |  |  +--rw nvlanid?   uint16
      |  |  +--rw isid*
      |  |     +--rw isid?   uint32
      |  |     +--rw extended?   boolean
      |   ...
      +--rw i-comp-instance
         +--rw pip interface [name]
         +--rw cbd*
         |  +--rw member-interface
         |  |  +--rw memberifs*
         |  +--rw nvlanid?    uint16
         |  +--rw isid?       uint32
         +--rw peer-b-component?   string


4.  B-Component Configuration

   The B-component configuration contains EVPN instance name, route
   distinguisher, route target and B-component bridge domain
   configuration.










Kishore Tiruveedhula, etExpires September 7, 2015               [Page 4]

Internet-Draft             PBB EVPN Yang Model                March 2015


            +--rw b-comp-instance*
               +--rw instance-name    string
               +--rw route-distinguisher   string
               +--rw auto-route-target?   boolean
               +--rw route-target
               +--rw protocol
               +--rw control-word
               +--rw cbp-interface
                  +--rw b-bridge-domain*
                     +.......


4.1.  Backbone Bridge domain Configuration

   The Backbone bridge domain contains the ISIDs and whether those ISIDs
   are to be extended to PBB EVPN core.  The bridge domains which are
   not extended to PBB EVPN core can be used for local switching
   purpose.


        +--rw b-bridge-domain*
        |  +--rw nvlanid?   uint16
        |  +--rw isid*
        |     +--rw isid?      uint32
        |     +--rw extended?  boolean



5.  I-Component Configuration

   The I-component configuration contains customer bridge domain
   configuration and B-component instance name to map the I-component to
   B-component.


            +--rw i-comp-instance*
               +--rw pip-interface    [name]
               +--rw mapping-b-comp-instance-name [name]
                  +--rw cbd*
                     +.......


5.1.  Customer Bridge domain Configuration

   The customer bridge domain contains the mapping of interface to ISID.






Kishore Tiruveedhula, etExpires September 7, 2015               [Page 5]

Internet-Draft             PBB EVPN Yang Model                March 2015


        +--rw cbd*
        |  +--rw isid       uint32
        |  +--rw interface-name?  [name]


5.2.  BMAC Configuration

   For single home case, the multiple ISIDs in the customer bridge
   domains can share the same source BMAC.  For the multi-homing cases,
   the source BMAC is associated to interface.  The source BMAC can also
   be auto-derived based on LACP info.


        +--rw service-groups*
        |  +--rw service-group-name [uint32]
        |  +--rw isid*
        |  +--rw source-bmac


5.3.  PBB EVPN Interface Configuration

   PBB EVPN interface configuration includes the name of the interface,
   Ethernet Segment Identifier(ESI) and mode of interface, which tells
   single-active or active-active and source BMAC.

         +--rw interfaces
         |  +--rw interface*         [name]
         |     +--rw if_name         string
         |     +--rw esi_value       string
         |     +--rw redundancy-mode string
         |     +--rw source-bmac


6.  YANG Module

   <CODE BEGINS> file "ietf-pbb-evpn@2015-03-6.yang"

   module pbbevpn {
     namespace "urn:juniper:params:xml:ns:yang:pbbevpn";
     // replace with IANA namespace when assigned

     prefix pevpn;

     import ietf-interfaces {
       prefix if;
       //rfc7223-YANG Interface Management
     }
   /*



Kishore Tiruveedhula, etExpires September 7, 2015               [Page 6]

Internet-Draft             PBB EVPN Yang Model                March 2015


     import ietf-inet-types {
       prefix inet;
       //rfc6991
     }
   */

     import ietf-yang-types {
       prefix yang;
     }

     description
       "This YANG module defines the generic configuration data for
        PBB EVPN Service.

        Terms and Acronyms
        EVN: Ethernet Virtual Network
        EVPN: Ethernet VPN
        I-SID: Service Instance Identifier
        B-VID: Backbone VLAN ID
        C-MAC: Customer/Client MAC
        B-MAC: Backbone MAC
        BEB: Backbone Edge Bridge
        ES: Ethernet Segment
        ESI: Ethernet Segment Identifier
        LSP: Label Switched Path
        MP2MP: Multipoint to Multipoint
        MP2P: Multipoint to Point
        P2MP: Point to Multipoint
        P2P: Point to Point
        PE: Provider Edge
        EVPN: Ethernet VPN
        EVI: EVPN Instance
       ";

     revision 2015-03-06 {
       description
         "Initial revision.";
     }

     /*
      * Configuring Ethernet Segment
      */
     container interfaces {
       list interface {
         key "name";
         leaf name {
           type leafref {
             path "/if:interfaces/if:interface/if:name";



Kishore Tiruveedhula, etExpires September 7, 2015               [Page 7]

Internet-Draft             PBB EVPN Yang Model                March 2015


           }
         }
         leaf esi {
           description
             "Specify the ethernet segment ID.";

           config "true";
           type string {
             length "24";
             pattern "(^00([0-9a-fA-F]){2}\.(([0-9a-fA-F]){4}\.){3}
             (([0-9a-fA-F]){4})$)";
           }
         }

         leaf redudancy-mode {
           description
             "Specify Redundancy mode, value are all-active (false),
              single-active (true)";
           config "true";
           type boolean;
         }

         leaf auto-source-bmac {
           description
             "Specify auto derived mode (true) ,
              manual bmac config (false)";
           config "true";
           type boolean;
         }

         leaf source-bmac {
            type yang:mac-address;
         }
       } /* End of Interface */
     } /* End of Container */

     /*
      * Configuring Service Classification
      */
     container logicalinterfaces {
       list interface {
         key "name";
         leaf name {
           type leafref {
             path "/if:interfaces/if:interface/if:name";
           }
         }
         leaf encap {



Kishore Tiruveedhula, etExpires September 7, 2015               [Page 8]

Internet-Draft             PBB EVPN Yang Model                March 2015


           description
             "Vlan ID";
           config "true";
            type uint16 {
              range "1..4094";
            }
         } /* End encap */
       }
     }

     /*
      * Configuring I-component
      */
     container i-component {
       list bridge-domain {
         description
           "Customer Bridge Domain.";
         config "true";
         type uint16;

         container member-interface {
           description
             "member interface.";
           config true;
           list memberifs {
             description
              "member interfaces.";
              config true;
              type if:interface-ref;
           }
         } /* End of member if*/
         leaf nvlanid {
           description
             "Normalized Vlan ID";
           config "true";
            type uint16 {
              range "1..4094";
            }
         }
         leaf isid {
           description
             "I-SID";
           config "true";
            type uint32 {
              range "1..16777215";
            }
         }
       } /*End of List */



Kishore Tiruveedhula, etExpires September 7, 2015               [Page 9]

Internet-Draft             PBB EVPN Yang Model                March 2015


       leaf peer-b-component {
         description
           "Peer Backbone Component.";
         config true;
         type string {
           length "24";
           pattern "(^00([0-9a-fA-F]){2}\.(([0-9a-fA-F]){4}\.){3}
           (([0-9a-fA-F]){4})$)";
         }
       } /*end of peer-b-component */
     }

     /* Configuring Bcomponent */
     container b-component {
       list b-bridge-domain {
         description
           "Backbone Bridge Domain.";
         config "true";
         type uint16;
         leaf nvlanid {
           description
             "Normalized Vlan ID";
           config "true";
            type uint16 {
              range "1..4094";
            }
         }
         list isid {
           description
             "I-SID";
           config "true";
           leaf isid {
             description
               "I-SID";
             config "true";
              type uint32 {
                range "1..16777215";
              }
           }
         }
       } /*End of List */

       leaf route-distinguisher {
         description
           "Route Distinguisher.";
         config true;
         type string;
       } /*end of route-distinguiher */



Kishore Tiruveedhula, etExpires September 7, 2015              [Page 10]

Internet-Draft             PBB EVPN Yang Model                March 2015


       leaf auto-route-target {
           description
             "Specify auto derived route target (true) ,
              manual route target (false)";
           config "true";
           type boolean;
       }

       leaf route-target {
         description
           "Route Target.";
           config true;
           type string;
       } /* end of route target. */

       leaf protocol {
         description
           "Protocol running on Backbone B-Comp.";
         config true;
         type enumeration {
           enum "evpn" {
             value 0;
           }
           enum "pbb-evpn" {
             value 1;
           }
         }
       }

       leaf control-word {
         description
           "Control Word.";
         config true;
         type boolean;
       }
     }
   }


   <CODE ENDS>

7.  Security Considerations

   Configuration and state data defined in this document are designed to
   be accessed via the NETCONF protocol [RFC6241].

   Authors recommends to implement NETCONF access control model
   ([RFC6536]) to restrict access to all or part of the configuration to



Kishore Tiruveedhula, etExpires September 7, 2015              [Page 11]

Internet-Draft             PBB EVPN Yang Model                March 2015


   specific users.  Access control to RPCs is also critical as RPC
   permits to clear protocol datastructures that would definitively
   impact the network service.  This kind of RPC needs only to be used
   in specific cases by well-known experienced users.

   Authors consider that all the configuration is considered as
   sensitive/vulnerable as well as RPCs.  But security teams can decide
   to open some part of the configuration to less experienced users
   depending on the internal organization, for example:

   o  User FullWrite: would access to the whole data model.  This kind
      of profile may be restricted to few experienced people.

   o  User PartialWrite: would only access to configuration part within
      /interfaces/interface.  So this kind of profile is restricted to
      creation/modification/deletion of interfaces.  This profile does
      not have access to RPC.

   o  User Read: would only access to state part.

   Unauthorized access to configuration or RPC may cause high damages to
   the network service.

   When configuring ISIS using the NETCONF protocol, authors recommends
   the usage of secure transport of NETCONF using SSH ([RFC6242]).

8.  Contributors

   Authors would like to thank Wen Lin for their major contributions to
   the draft.

9.  Acknowledgements

   TBD.

10.  IANA Considerations

   TBD.

11.  References

11.1.  Informative References

   [I-D.ietf-l2vpn-evpn]
              Sajassi, A., Aggarwal, R., Bitar, N., Isaac, A., and J.
              Uttaro, "BGP MPLS Based Ethernet VPN", draft-ietf-l2vpn-
              evpn-11 (work in progress), October 2014.




Kishore Tiruveedhula, etExpires September 7, 2015              [Page 12]

Internet-Draft             PBB EVPN Yang Model                March 2015


   [I-D.ietf-l2vpn-pbb-evpn]
              Sajassi, A., Salam, S., Bitar, N., Isaac, A., Henderickx,
              W., and L. Jin, "PBB-EVPN", draft-ietf-l2vpn-pbb-evpn-09
              (work in progress), October 2014.

11.2.  Normative References

   [I-D.ietf-netmod-routing-cfg]
              Lhotka, L., "A YANG Data Model for Routing Management",
              draft-ietf-netmod-routing-cfg-15 (work in progress), May
              2014.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [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.

   [RFC6242]  Wasserman, M., "Using the NETCONF Protocol over Secure
              Shell (SSH)", RFC 6242, June 2011.

   [RFC6536]  Bierman, A. and M. Bjorklund, "Network Configuration
              Protocol (NETCONF) Access Control Model", RFC 6536, March
              2012.

Appendix A.  Example: NETCONF <get> Reply

   This section gives an example of a reply to the NETCONF <get> request
   for a device that implements the data model defined in this document.
   The example is written in XML.

Authors' Addresses

   Kishore Tiruveedhula (editor)
   Juniper Networks
   10 Technology Park Drive
   Westford MA  01886
   USA

   Email: kishoret@juniper.net






Kishore Tiruveedhula, etExpires September 7, 2015              [Page 13]

Internet-Draft             PBB EVPN Yang Model                March 2015


   Tapraj Singh
   Juniper Networks
   1194 N Mathilda Ave
   Sunnyvale CA  94089
   USA

   Email: tsingh@juniper.net


   Ali Sajassi
   Cisco Systems
   170 West Tasman Drive
   San Jose, CA  95134
   USA

   Email: sajassi@cisco.com


   Deepak Kumar
   Cisco Systems
   510 McCarthy Blvd
   Milpitas CA  95035
   USA

   Email: dekumar@cisco.com


   Luay Jalil
   Verizon
   400 International Parkway
   Richardson, TX  75081
   USA

   Email: luay.jalil@verizon.com

















Kishore Tiruveedhula, etExpires September 7, 2015              [Page 14]