Internet DRAFT - draft-ao-sfc-yang

draft-ao-sfc-yang







SFC WG                                                           R. Chen
Internet-Draft                                           ZTE Corporation
Intended status: Standards Track                         Joel M. Halpern
Expires: August 10, 2020                                        Ericsson
                                                                   T. Ao
                                                              individual
                                                                  W. Wei
                                                         ZTE Corporation
                                                                  X. Liu
                                                          Volta Networks
                                                        February 7, 2020


                        YANG data model for SFF
                          draft-ao-sfc-yang-02

Abstract

   This document is to define the YANG data model for SFF configuration.

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 August 10, 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
   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



Chen, et al.             Expires August 10, 2020                [Page 1]

Internet-Draft           YANG data model for SFF           February 2020


   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.  Design tree for SFF YANG data model . . . . . . . . . . . . .   2
   3.  YANG data model for SFF configuration . . . . . . . . . . . .   3
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     6.2.  Information References  . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   YANG[RFC6020]is a data definition language that was introduced to
   define the contents of a conceptual data store that allows networked
   devices to be managed using NETCONF [RFC6241].  This document defines
   a YANG data model for the configuration of SFF which data plane has
   been defined in [RFC8300].

2.  Design tree for SFF YANG data model


























Chen, et al.             Expires August 10, 2020                [Page 2]

Internet-Draft           YANG data model for SFF           February 2020


   module: ietf-sff
     +--rw sff-config
     |  +--rw sfc-enable?   boolean
     |  +--rw sff* [sff-name]
     |  |  +--rw sff-name         string
     |  |  +--rw interface*[interface-id]
     |  |     +--rw interface-id          if:interface-ref
     |--+--rw sfc-sfp* [sfpid service-index]
           +--rw sfpid                   uint32
           +--rw service-index*[ serivice-index]
           |  +--rw serivice-index               uint16
           +--rw sfp-nexthop[nh-node-name]
                 +--rw nh-node-name             sff:sff-name-ref
                 +--rw nh-node-type?            identityref
                 +--sff-nexthop-transport-type  identityref
                 +--(sff-nexthop-transport-type)?
                 |  +--:(ipv4-nexthop)
                 |  |  +--rw remote-ipv4?      inet:ipv4-address
                 |  +--:(ipv6-nexthop)
                 |  |  +--rw remote-ipv6?      inet:ipv6-address
                 |  +--:(mac-nexthop)
                 |  |  +--rw remote-mac?       yang:mac-address
                 |  +--:(vxlan-gpe-nexthop)
                 |     +--rw source-ip?        inet:ipv4-address
                 |     +--rw destination-ip?   inet:ipv4-address
                 |     +--rw vni               uint32
                 |--+--:(mpls-nexhop)
                       +--rw mpls-label-stack
                         +--rw entry* [id]
                            +--rw id               uint8
                            +--rw label?           rt-types:mpls-label
                            +--rw ttl?             uint8
                            +--rw traffic-class?   uint8

3.  YANG data model for SFF configuration

   This container defines a YANG model to configurate of SFF.The SF Type
   listed in this YANG model is referenced by
   [I-D.ietf-sfc-use-case-mobility] and [I-D.ietf-sfc-dc-use-cases].

        <CODEBEGINS> file "ietf-sff@2020-01-22.yang"

        module ietf-sff {
        yang-version 1.1;

        namespace "urn:ietf:params:xml:ns:yang:ietf-sff";
        prefix "sff";




Chen, et al.             Expires August 10, 2020                [Page 3]

Internet-Draft           YANG data model for SFF           February 2020


        import ietf-inet-types {
        prefix "inet";
                reference "RFC6991: Common YANG Data Types";
        }
    import ietf-routing-types {
        prefix "rt-types";
        reference "RFC8294:Common YANG Data Types for the Routing Area";
           }
        import ietf-yang-types {
        prefix "yang";
                reference "RFC6991: Common YANG Data Types";
        }
        import ietf-interfaces {
       prefix "if";
       reference "RFC8343: A YANG Data Model for Interface Management";
        }
        organization "IETF SFC Working Group";

        contact
       "WG Web:   <http://tools.ietf.org/wg/sfc/>
        WG List:  <mailto:sfc@ietf.org>
            WG Chair:Jim Guichard
             <mailto:james.n.guichard@huawei.com>
        WG Chair:Joel M. Halpern
             <mailto:jmh@joelhalpern.com>
        Editor: Ran Chen
                    <mailto:150387479@qq.com>
            Editor: Joel M. Halpern
                    <mailto:jmh@joelhalpern.com>
        Editor: Ting Ao
            <mailto:ao.ting@zte.com.cn>
        Editor: Wei Wei
                    <mailto:wei.wei26@zte.com.cn>
                Editor: Xufeng Liu
                    <mailto: xufeng.liu.ietf@gmail.com>
                        ";
        description
         "The YANG module defines a generic configuration model for SFF.
                  Copyright (c) 2019 IETF Trust and the persons
          identified as authors of the code.  All rights reserved.

          Redistribution and use in source and binary forms, with or
          without modification, is permitted pursuant to, and subject
          to the license terms contained in, the Simplified BSD License
          set forth in Section 4.c of the IETF Trust's Legal Provisions
          Relating to IETF Documents
          (https://trustee.ietf.org/license-info).
          This version of this YANG module is part of RFC XXXX; see



Chen, et al.             Expires August 10, 2020                [Page 4]

Internet-Draft           YANG data model for SFF           February 2020


          the RFC itself for full legal notices.";

       revision "2020-01-20"{
             description "Initial revision.";
         reference "RFC XXXX: YANG Data Model for SFC Protocol.";
     }

         revision "2020-02-06"{
             description "01 revision.";
         reference "RFC XXXX: YANG Data Model for SFC Protocol.";
     }


          /* Identities */
     identity sfp-nexthop-transport-type{
       description
         "Base identity for sfp-nexthop-transport-type.";
     }
     identity sfp-nexthop-transport-ipv4 {
       base sfp-nexthop-transport-type;
       description
         "This identity represents sfp nexthop transpor is IPv4.";
     }

     identity sfp-nexthop-transport-ipv6 {
       base sfp-nexthop-transport-type;
       description
         "This identity represents sfp nexthop transpor is IPv6.";
     }
        identity sfp-nexthop-transport-mac {
       base sfp-nexthop-transport-type;
       description
         "This identity represents sfp nexthop transpor is mac.";
     }
        identity sfp-nexthop-transport-vxlan-gpe {
       base sfp-nexthop-transport-type;
       description
         "This identity represents sfp nexthop transpor is vxlan-gpe.";
     }
         identity sfp-nexthop-transport-mpls {
       base sfp-nexthop-transport-type;
       description
         "This identity represents sfp nexthop transpor is mpls.";
     }

         identity sfp-nexthop-node-type{
       description
         "Base identity for sfp-nexthop-node-type.";



Chen, et al.             Expires August 10, 2020                [Page 5]

Internet-Draft           YANG data model for SFF           February 2020


     }
     identity sfp-nexthop-node-sff {
       base sfp-nexthop-node-type;
       description
         "This identity represents sfp nexthop node is sff.";
     }

         identity sfp-nexthop-node-sf{
       base sfp-nexthop-node-type;
       description
         "This identity represents sfp nexthop node is sf.";
     }
         identity sfp-nexthop-node-sf-proxy{
       base sfp-nexthop-node-type;
       description
         "This identity represents sfp nexthop node is sf-proxy.";
     }

     typedef sff-name-ref {
    type leafref {
      path "/sff:sff-config/sff:sff/sff:sff-name";
    }
    description "A type that is a reference to a sff-name";
  }
        /*grouping*/
          grouping sff{
                   description "Grouping for sff.";
                   list sff{
                     key"sff-name";
             leaf sff-name{
                  type string;
                  description
                        "the name of the SFF.";
                                                }
                     list interface{
                            key"interface-id";
                leaf interface-id{
                  type if:interface-ref;
                  description
                        "the sff interface-id.";
                 }
                                 }
                   }
                                     }

    container sff-config {
        leaf sfc-enable {
            type boolean;



Chen, et al.             Expires August 10, 2020                [Page 6]

Internet-Draft           YANG data model for SFF           February 2020


            default false ;
            description "Enable SFC." ;
            }
                        uses sff;
           list sfc-sfp{
            key "sfp-id serivice-index";
            leaf sfp-id {
                type uint32;
                description "The identifier of the sfp." ;
                }
            list serivice-index {
                key "service-index";
                leaf service-index {
                    type uint16;
                    description "The index of the SFC Service";
                    }

                                        }
                        list sfp-nexthop {
                key "nh-node-name";
                leaf nh-node-name{
                    type sff:sff-name-ref;
                    description "The name of the nh-node";
                    }
                leaf nh-node-type{
                         type identityref {
                     base sfp-nexthop-node-type;
                      }
                     description "The nexthop node type,it could be sff, sf, and sf proxy";
                          }
                leaf sff-nexthop-transport-type{
                         type identityref {
                     base sfp-nexthop-transport-type;
                      }
                     description " The nexhop transport type,it could be ipv4, ipv6, mac, vxlan-gpe, and mpls";
                          }
            choice sff-nexthop-transport-type {
                    case ipv4-nexthop {
                        leaf remote-ipv4 {
                            type inet:ipv4-address ;
                            description "Remote IPv4 address.";
                            }
                        description "The configuration for SFP nexthop which encapsulation type is ethernet&ipv4.";
                        }

                    case ipv6-nexthop {
                        leaf remote-ipv6 {
                            type inet:ipv6-address ;



Chen, et al.             Expires August 10, 2020                [Page 7]

Internet-Draft           YANG data model for SFF           February 2020


                            description "Remote IPv6 address.";
                            }
                        description "The configuration for SFP nexthop which encapsulation type is ethernet&ipv6.";
                        }

                    case mac-nexthop {
                        leaf remote-mac {
                            type yang:mac-address ;
                            description "MAC address.";
                            }
                        description "The configuration for SFP nexthop which specifies the MAC address." ;
                        }

                    case vxlan-gpe-nexthop {
                        leaf source-ip {
                            description "The source IP address.";
                            type inet:ipv4-address ;
                            }
                        leaf destination-ip { v f
                            description "The destination address.";
                            type inet:ipv4-address ;
                            }
                        leaf vni {
                            type uint32;
                            mandatory true;
                            description "VNI value of the tunnel.";
                            }
                        description "The configuration for SFP nexthop is vxlan-gpe." ;
                        }
                    description "The configuration for SFP nexthop." ;
                    }

               case     mpls-nexhop{
                     description"MPLS simple NHLFE contents";
                                        uses rt-types:mpls-label-stack;
                }
            }
        }
    }
}
        <CODE ENDS>

4.  Security Considerations

   TBD.






Chen, et al.             Expires August 10, 2020                [Page 8]

Internet-Draft           YANG data model for SFF           February 2020


5.  IANA Considerations

   TBD.

6.  References

6.1.  Normative References

   [RFC7665]  Halpern, J., Ed. and C. Pignataro, Ed., "Service Function
              Chaining (SFC) Architecture", RFC 7665,
              DOI 10.17487/RFC7665, October 2015,
              <https://www.rfc-editor.org/info/rfc7665>.

   [RFC8300]  Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed.,
              "Network Service Header (NSH)", RFC 8300,
              DOI 10.17487/RFC8300, January 2018,
              <https://www.rfc-editor.org/info/rfc8300>.

6.2.  Information References

   [I-D.ietf-bess-nsh-bgp-control-plane]
              Farrel, A., Drake, J., Rosen, E., Uttaro, J., and L.
              Jalil, "BGP Control Plane for NSH SFC", draft-ietf-bess-
              nsh-bgp-control-plane-13 (work in progress), December
              2019.

   [I-D.ietf-sfc-dc-use-cases]
              Kumar, S., Tufail, M., Majee, S., Captari, C., and S.
              Homma, "Service Function Chaining Use Cases In Data
              Centers", draft-ietf-sfc-dc-use-cases-06 (work in
              progress), February 2017.

   [I-D.ietf-sfc-use-case-mobility]
              Haeffner, W., Napper, J., Stiemerling, M., Lopez, D., and
              J. Uttaro, "Service Function Chaining Use Cases in Mobile
              Networks", draft-ietf-sfc-use-case-mobility-09 (work in
              progress), January 2019.

Authors' Addresses

   Ran Chen
   ZTE Corporation

   Email: 150387479@qq.com







Chen, et al.             Expires August 10, 2020                [Page 9]

Internet-Draft           YANG data model for SFF           February 2020


    Joel M. Halpern
   Ericsson

   Email: jmh@joelhalpern.com


   Ting Ao
   individual

   Email: 18555817@qq.com


   Wei Wei
   ZTE Corporation

   Email: wei.wei26@zte.com.cn


   Xufeng Liu
   Volta Networks

   Email: xufeng.liu.ietf@gmail.com





























Chen, et al.             Expires August 10, 2020               [Page 10]