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]. 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: WG List: WG Chair:Jim Guichard WG Chair:Joel M. Halpern Editor: Ran Chen Editor: Joel M. Halpern Editor: Ting Ao Editor: Wei Wei Editor: Xufeng Liu "; 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; } } } } } 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, . [RFC8300] Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed., "Network Service Header (NSH)", RFC 8300, DOI 10.17487/RFC8300, January 2018, . 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]