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

Versions: 00 01

SFC WG                                                             T. Ao
Internet-Draft                                                   R. Chen
Intended status: Standards Track                                  W. Wei
Expires: December 5, 2019                                ZTE Corporation
                                                            June 3, 2019


                        YANG data model for SFC
                          draft-ao-sfc-yang-01

Abstract

   This document is to define the YANG data model for SFC 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 December 5, 2019.

Copyright Notice

   Copyright (c) 2019 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.






Ao, et al.              Expires December 5, 2019                [Page 1]


Internet-Draft           YANG data model for SFC               June 2019


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Design tree for SFC YANG data model . . . . . . . . . . . . .   2
   3.  YANG data model for SFC configuration . . . . . . . . . . . .   3
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .   8
     6.2.  Information References  . . . . . . . . . . . . . . . . .   8
   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 SFC which data plane has
   been defined in [RFC8300].

2.  Design tree for SFC YANG data model

     module: ietf-sfc
     +--rw sfc-config
     |  +--rw sfc-enable?   boolean
     |  +--rw sfc-domain* [sfc-domain-id]
     |     +--rw sfc-domain-id    uint32
     |     +--rw ipv4-prefix?     inet:ipv4-prefix
     |     +--rw ipv6-prefix?     inet:ipv6-prefix
     |     +--rw sfc-sfp* [sfpid si]
     |        +--rw sfpid                   uint32
     |        +--rw si                      uint16
     |        +--rw metric?                 uint16
     |        +--rw (nexthop-trans-type)?
     |        |  +--:(ipv4-nexthop)
     |        |  |  +--rw nh-node-type?     sfp-nexthop-type
     |        |  |  +--rw remote-ipv4?      inet:ipv4-address
     |        |  +--:(ipv6-nexthop)
     |        |  |  +--rw nh-node-type?     sfp-nexthop-type
     |        |  |  +--rw remote-ipv6?      inet:ipv6-address
     |        |  +--:(mac-nexthops)
     |        |  |  +--rw nh-node-type?     sfp-nexthop-type
     |        |  |  +--rw remote-mac?       yang:mac-address
     |        |  +--:(vxlan-gpe-nexthop)
     |        |     +--rw nh-node-type?     sfp-nexthop-type
     |        |     +--rw remote-ip?        inet:ipv4-address
     |        |     +--rw source-ip?        inet:ipv4-address
     |        |     +--rw destination-ip?   inet:ipv4-address



Ao, et al.              Expires December 5, 2019                [Page 2]


Internet-Draft           YANG data model for SFC               June 2019


     |        |     +--rw vni               uint32
     |        +--rw last-sff                boolean
     +--ro sfc-state
        +--ro sfc-enable?      boolean
        +--ro sfc-domain * [sfc-domain-id]
           +--ro sfc-domain-id               uint32
           +--ro ipv4-prefix?        inet:ipv4-prefix
           +--ro ipv6-prefix?        inet:ipv6-prefix
           +--ro sfc-sfp-state
              +--ro sfc-sfp*[sfpid si]
              +--ro sfpid?                 uint32
              +--ro si?                    uint16
              +--ro metric?                uint16
              +--ro nexthop-trans-type?    enumeration
              |  +--:(ipv4-nexthop)
              |  |  +--ro nx-node-type?    node-type
              |  |  +--ro remote-ipv4?     inet:ipv4-address
              |  +--:(ipv6-nexthop)
              |  |  +--ro nx-node-type?    node-type
              |  |  +--ro remote-ipv6?     inet:ipv6-address
              |  +--:(mac-nexthop)
              |  |  +--ro nx-node-type?    node-type
              |  |  +--ro remote-mac?      yang:mac-address
              |  +--:(vxlan-gpe-nexthop)
              |  |  +--ro nx-node-type?    node-type
              |  |  +--ro remote-ip?       inet:ipv4-address
              |  |  +--ro source-ip?       inet:ipv4-address
              |  |  +--ro destination-ip?  inet:ipv4-address
              |  |  +--ro vni?             uint32
              +--ro last-sff?              boolean

3.  YANG data model for SFC configuration

   This container defines a YANG model to configurate of SFC.  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-sfc@2019-03-10.yang"
        module ietf-sfc {
        namespace "urn:ietf:params:xml:ns:yang:ietf-sfc";
        prefix "sfc";
        import ietf-inet-types {
        prefix "inet";
        }

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



Ao, et al.              Expires December 5, 2019                [Page 3]


Internet-Draft           YANG data model for SFC               June 2019


        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: Ting Ao
            <mailto:ao.ting@zte.com.cn>
        Editor: Ran Chen
                    <mailto:chen.ran@zte.com.cn>
        Editor: Wei Wei
                    <mailto:wei.wei@zte.com.cn>
                        ";
        description
         "The YANG module defines a generic configuration
          model for SFC.";

       revision 2019-03-07{
             description
           "Initial revision.";
         reference "RFC XXXX: YANG Data Model for SFC Protocol.";
     }
   /*Typedefs*/
        typedef sfp-nexthop-type {

                type enumeration {
            enum sff {
                value 1 ;
                                }
            enum sf-firewall {
                value 2 ;
                                }
                        enum sf-dpi {
                value 3 ;
                                }
                        enum sf-ids {
                value 4 ;
                                }
                        enum sf-edgefw {
                value 5 ;
                                }
                        enum sf-segfw {
                value 6 ;
                                }



Ao, et al.              Expires December 5, 2019                [Page 4]


Internet-Draft           YANG data model for SFC               June 2019


                        enum sf-appfw {
                value 7 ;
                                }
                        enum sf-adc {
                value 8 ;
                                }
                        enum sf-woc {
                value 9 ;
                                }
                        enum sf-mon {
                value 10 ;
                                }
                        enum sf-sgw {
                value 11 ;
                                }
                        enum sf-pgw {
                value 12 ;
                                }
                        enum sf-hss {
                value 13 ;
                                }
                        enum sf-mme {
                value 14 ;
                                }
                        enum sf-pcrf {
                value 15 ;
                                }
                        enum sf-pcef {
                value 16 ;
                                }
                        enum sf-tdf {
                value 17 ;
                                }
                        enum sf-tssf {
                value 18 ;
                                }
                        enum sf-tds {
                value 19 ;
                                }
                        enum sf-pep {
                value 20 ;
                                }
                        enum sf-ims {
                value 21 ;
                                }
                        enum sf-li {
                value 22 ;
                                }



Ao, et al.              Expires December 5, 2019                [Page 5]


Internet-Draft           YANG data model for SFC               June 2019


                        enum sf-proxy {
                                value 23;
                                }
                        }
                description "The nexthop node type.";
                }

    container sfc-config {
        leaf sfc-enable {
            type boolean;
            default false ;
            description "Enable SFC." ;
            }
        list sfc-domain {
            key "sfc-domain-id";
            leaf sfc-domain-id {
                type uint32;
                description "The identifier of the sfc domain." ;
                }
            leaf ipv4-prefix {
                type inet:ipv4-prefix ;
                description "The IPv4 address of the sff.";
                }
            leaf ipv6-prefix {
                type inet:ipv6-prefix ;
                description "The IPv6 address of the sff.";
                }
            list sfc-sfp {
                key "sfpid si";
                leaf sfpid {
                    type uint32;
                    description "The identifier of the SFP";
                    }
                leaf si {
                    type uint16;
                    description "Service index.";
                    }
                leaf metric {
                    type uint16;
                    description "Forwarding metric.";
                    }
                choice nexthop-trans-type {
                    case ipv4-nexthop {
                        leaf nh-node-type {
                            type sfp-nexthop-type ;
                            description "Nexthop node type.";
                            }
                        leaf remote-ipv4 {



Ao, et al.              Expires December 5, 2019                [Page 6]


Internet-Draft           YANG data model for SFC               June 2019


                            type inet:ipv4-address ;
                            description "Remote IPv4 address.";
                            }
                        description "The configuration for SFP nexthop which encapsulation type is ethernet&ipv4.";
                        }

                    case ipv6-nexthop {
                        leaf nh-node-type {
                            type sfp-nexthop-type ;
                            description "Nexthop node type." ;
                            }
                        leaf remote-ipv6 {
                            type inet:ipv6-address ;
                            description "Remote IPv6 address.";
                            }
                        description "The configuration for SFP nexthop which encapsulation type is ethernet&ipv6.";
                        }

                    case mac-nexthops {
                        leaf nh-node-type {
                            type sfp-nexthop-type ;
                            description "Nexthop node type.";
                            }
                        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 nh-node-type {
                            type sfp-nexthop-type ;
                            description "Nexthop node type.";
                            }
                        leaf remote-ip   {
                            type inet:ip-address ;
                            description "Remote IP address.";
                            }
                        leaf source-ip {
                            description "The source IP address.";
                            type inet:ipv4-address ;
                            }
                        leaf destination-ip {
                            description "The destination address.";
                            type inet:ipv4-address ;
                            }
                        leaf vni {



Ao, et al.              Expires December 5, 2019                [Page 7]


Internet-Draft           YANG data model for SFC               June 2019


                            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." ;
                    }

                leaf last-sff {
                    type boolean ;
                    default false ;
                    description "This is the SFP terminal.";
                    }
                }
            }
        }
    }
        <CODE ENDS>

4.  Security Considerations

   TBD.

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-11 (work in progress), May 2019.



Ao, et al.              Expires December 5, 2019                [Page 8]


Internet-Draft           YANG data model for SFC               June 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

   Ting Ao
   ZTE Corporation
   No.889, BiBo Road
   Shanghai  201203
   China

   Phone: +86 17721209283
   Email: 18555817@qq.com


   Ran Chen
   ZTE Corporation

   Email: ran.chen@zte.com.cn


   Wei Wei
   ZTE Corporation

   Email: wei.wei@zte.com.cn

















Ao, et al.              Expires December 5, 2019                [Page 9]


Html markup produced by rfcmarkup 1.129c, available from https://tools.ietf.org/tools/rfcmarkup/