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]. 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: WG List: WG Chair:Jim Guichard WG Chair:Joel M. Halpern Editor: Ting Ao Editor: Ran Chen Editor: Wei Wei "; 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."; } } } } } 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, . [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-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]