CCAMP Working Group M. Wang Internet-Draft L. Han Intended status: Standards Track China Mobile Expires: September 4, 2022 F. Yang Huawei Technologies LM. Contreras Telefonica X. Liu IBM Corporation March 3, 2022 YANG Data Model for FlexE Management draft-wang-ccamp-flexe-yang-cm-02 Abstract This document defines a service provider targeted YANG data model for the configuration and management of a Flex Ethernet (FlexE) network, including FlexE groups. It also supports the configuration of each FlexE client as an interface. The YANG module in this document conforms to the Network Management Datastore Architecture (NMDA). 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 September 4, 2022. Copyright Notice Copyright (c) 2022 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 Wang, et al. Expires September 4, 2022 [Page 1] Internet-Draft draft-wang-ccamp-flexe-yang-cm March 2022 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 1.1. Conventions used in this document . . . . . . . . . . . . 3 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2. YANG Model Hierarchy for FlexE . . . . . . . . . . . . . . . 3 2.1. Tree Diagram of FlexE Group . . . . . . . . . . . . . . . 4 2.2. Tree Diagram of FlexE Client . . . . . . . . . . . . . . 4 3. YANG Module for FlexE Management . . . . . . . . . . . . . . 5 3.1. YANG Module of FlexE Group . . . . . . . . . . . . . . . 5 3.2. YANG Module of FlexE Client . . . . . . . . . . . . . . . 8 4. Security Considerations . . . . . . . . . . . . . . . . . . . 11 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 6.1. Normative References . . . . . . . . . . . . . . . . . . 12 6.2. Informative References . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 1. Introduction From a service provider's point of view, a transport network with Flex Ethernet (FlexE) support are usually deployed with all FlexE Groups configured at first, and then FlexE clients are added one by one at a later stage. This document defines a service provider targeted YANG data model for the configuration and management of FlexE, including FlexE groups and FlexE clients. It supports the configuration of FlexE client as an interface as the data model of FlexE client is augmented based on the generic interfaces data model as defined in [RFC8343]. Furthermore, when a FlexE transport network is used to backhaul 5G mobile services, synchronization channel can also be imbedded in a FlexE PHY. The specific PHY used for synchronization channel can be retrieved for management. Other FlexE attributes are based on the FlexE 2.1 Implementation Agreement as specified in [FLEXE]. Note that this document would only focus on the configuration and maintenance of the FlexE interfaces. Cross connection of FlexE timeslots in a network node is tentatively out of the scope of this document. Wang, et al. Expires September 4, 2022 [Page 2] Internet-Draft draft-wang-ccamp-flexe-yang-cm March 2022 The YANG modules in this document conforms to the Network Management Datastore Architecture (NMDA) [RFC8342]. 1.1. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 1.2. Terminology Most terminologies used in this document are extracted from [FLEXE]. Calendar: The total capacity of a FlexE Group is represented as a collection of slots. The calendar for a FlexE Group composed of n PHYs is represented in each PHY as an array of slots (e.g., each representing 5Gbps of bandwidth), i.e., timeslot-list string. Ethernet PHY: an entity representing Ethernet Physical Coding Sublayer (PCS), Physical Media Attachment (PMA), and Physical Media Dependent (PMD) layers. Each PHY is consisted of one or more FlexE Instance (e.g., a 400GBASE-R PHY has four FlexE Instances). FlexE: Flex Ethernet. FlexE Client: An Ethernet flow based on a MAC data rate that may or may not correspond to any Ethernet PHY rate. FlexE Group: A FlexE Group is composed of from 1 to n Ethernet PHYs. FlexE PHY: 50GBASE-R, 100GBASE-R, 200GBASE-R, 400GBASE-R are defined as FlexE PHY by OIF IA FlexE. 2. YANG Model Hierarchy for FlexE This section describes the hierarchy of the YANG modules for the FlexE management. Configuration management of FlexE group includes: o flexe-groups specifies management configuration of all FlexE groups o flexe-phys specifies management configuration of a list of PHYs in a specific FlexE group Wang, et al. Expires September 4, 2022 [Page 3] Internet-Draft draft-wang-ccamp-flexe-yang-cm March 2022 Configuration management of a FlexE client includes: o flexe-client specifies the FlexE slots used for the FlexE Client in FlexE group 2.1. Tree Diagram of FlexE Group A simplified YANG tree diagram [RFC8340] representing the data model is typically used by YANG modules. This document uses the same tree diagram syntax as described in [RFC8340]. A tree diagram of FlexE group is depicted as the following: module: ietf-flexe-cm +--rw flexe +--rw flexe-groups +--rw flexe-group* [group-index] +--rw index uint32 +--rw group-num uint32 +--rw negotiation-mode negotiation-mode-type +--ro total-bandwidth string +--ro free-bandwidth? string +--ro sync-phy-number uint32 +--rw flexe-phys +--rw flexe-phy-list* [port-name] +--rw port-name if:interface-ref +--rw phy-number uint32 +--ro free-timeslot-list string +--ro used-timeslot-list string 2.2. Tree Diagram of FlexE Client A tree diagram of FlexE client is depicted as the following: augment /if:interfaces/if:interface: +--rw flexe-client +--rw client-index uint32 +--rw group-index leafref +--rw client-num uint32 +--rw timeslot-lists +--rw timeslot-list* [port-name] +--rw port-name if:interface-ref +--rw time-slot string Wang, et al. Expires September 4, 2022 [Page 4] Internet-Draft draft-wang-ccamp-flexe-yang-cm March 2022 3. YANG Module for FlexE Management The following YANG data module augments the interface container defined in [RFC8343] for a FlexE group interface. It imports iana- if-type [RFC7224] and ietf-interfaces [RFC8343]. 3.1. YANG Module of FlexE Group file "ietf-flexe-cm@2022-03-03.yang" module ietf-flexe-cm { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-flexe-cm"; prefix "flexe-cm"; import iana-if-type { prefix ianaift; } import ietf-interfaces { prefix if; reference "RFC8343: A YANG Data Model for Interface Management"; } organization "IETF CCAMP Working Group"; contact "WG Web: http://tools.ietf.org/wg/ccamp/ WG List: Author: Minxue Wang Author: Liuyan Han Author: Fan Yang Author: Luis M. Contreras Author: Xufeng Liu "; description "This YANG module defines a data model for the configuration of a FlexE network."; revision "2022-03-03" { description "the second version"; reference "draft-wang-ccamp-flexe-yang-cm-02: YANG Data Model for FlexE Management"; } Wang, et al. Expires September 4, 2022 [Page 5] Internet-Draft draft-wang-ccamp-flexe-yang-cm March 2022 typedef negotiation-mode-type { type enumeration { enum "dynamic" { value 1; description "Dynamic mode."; } enum "static" { value 2; description "Static mode."; } } description "Negotiation mode of a FlexE group."; } container flexe { description "Specify FlexE configuration information."; container flexe-groups { description "List of FlexE groups."; list flexe-group { key "index"; description "Configure FlexE group."; leaf index { type uint32 { range "1..65535"; } description "FlexE group index."; } leaf group-num { type uint32 { range "1..1048574"; } description "FlexE group number, as specified in OIF FlexE 2.1."; } leaf negotiation-mode { type negotiation-mode-type; default "dynamic"; description "FlexE group calendar negotiation mode."; } leaf total-bandwidth { Wang, et al. Expires September 4, 2022 [Page 6] Internet-Draft draft-wang-ccamp-flexe-yang-cm March 2022 type string { length "1..9"; } config false; description "FlexE group total bandwidth in Gbit/s, such as 10."; } leaf free-bandwidth { type string { length "1..9"; } config false; description "FlexE group free bandwidth in Gbit/s, such as 100."; } leaf sync-phy-number { type uint32 { range "1..254"; } config false; description "The FlexE PHY number used for synchronization management channel in a FlexE group, which is one of the PHY number value in a FlexE group."; } container flexe-phys { description "List of physical port information in a FlexE Group."; list flexe-phy { key "port-name"; description "FlexE PHY port name."; leaf port-name { type if:interface-ref; description "Physical port name. "; } leaf flexe-phy-number { type uint32 { range "1..254"; } description "Number of a FlexE physical port. The PHY number of a 100G port is an integer ranging from 1 to 254. The PHY number of a 50G port is an integer ranging from 1 to 126."; } leaf free-timeslot-list { Wang, et al. Expires September 4, 2022 [Page 7] Internet-Draft draft-wang-ccamp-flexe-yang-cm March 2022 type string { length "1..199"; } config false; description "Free timeslots of a FlexE PHY. The string consists of one or more numbers separated by commas (,) or hyphens (-), e.g."1-5" indicates 1,2,3,4,5 timeslots, "0,5,7-10" indicates 0,5,7,8,9,10 timeslots."; } leaf used-timeslot-list { type string { length "1..199"; } config false; description "Used timeslots of a FlexE PHY. The string consists of one or more numbers separated by commas (,) or hyphens (-), e.g."1-5" indicates 1,2,3,4,5 timeslots, "0,5,7-10" indicates 0,5,7,8,9,10 timeslots."; } } } } } } } 3.2. YANG Module of FlexE Client file "ietf-flexe-cm@2022-03-03.yang" module ietf-flexe-cm { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-flexe-cm"; prefix "flexe-cm"; import iana-if-type { prefix ianaift; } import ietf-interfaces { prefix if; reference "RFC8343: A YANG Data Model for Interface Management"; } Wang, et al. Expires September 4, 2022 [Page 8] Internet-Draft draft-wang-ccamp-flexe-yang-cm March 2022 organization "IETF CCAMP Working Group"; contact "WG Web: http://tools.ietf.org/wg/ccamp/ WG List: Author: Minxue Wang Author: Liuyan Han Author: Fan Yang Author: Luis M. Contreras Author: Xufeng Liu "; description "This YANG module defines a data model for the configuration of a FlexE client."; revision "2022-03-03" { description "the second version"; reference "draft-wang-ccamp-flexe-yang-cm-02: YANG Data Model for FlexE Management"; } augment "/if:interfaces/if:interface" { when "if:type = 'ianaift:flexEclient'" { description "Applies to FlexE client interfaces"; } description "Augment interface model with FlexE client interface specific configuration nodes. Each flexe client interface represents a FlexE client configured in a device."; container flexe-client { description "FlexE client."; leaf client-index { type uint32 { range "1..65535"; } description "FlexE client index."; } leaf group-index { type leafref { path "/flexe-cm:flexe/flexe-cm:flexe-groups/flexe-cm:flexe-group" Wang, et al. Expires September 4, 2022 [Page 9] Internet-Draft draft-wang-ccamp-flexe-yang-cm March 2022 + "/flexe-cm:index"; } description "A local FlexE group index configured for a client on one equipment for the sake of simplicity on configuration and management."; } leaf client-num { type uint32 { range "1..65534"; } description "FlexE Client number."; } container timeslot-lists { description "List of binding timeslots."; list timeslot-list { key "port-name"; description "Configure binding timeslots."; leaf port-name { type if:interface-ref; description "FlexE physical port name."; } leaf time-slot { type string { length "1..199"; } description "Timeslot allocated for a FlexE client. The string consists of one or more numbers separated by commas (,) or hyphens (-), e.g."1-5" indicates 1,2,3,4,5 timeslots, "0,5,7-10" indicates 0,5,7,8,9,10 timeslots."; } } } } } } Wang, et al. Expires September 4, 2022 [Page 10] Internet-Draft draft-wang-ccamp-flexe-yang-cm March 2022 4. Security Considerations The YANG module specified in this document defines a schema for data that is designed to be accessed via network management protocols such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS [RFC8446]. The NETCONF access control model [RFC8341] provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. There are a number of data nodes defined in the YANG data modules in this document are writable, and the involved subtrees that are sensitive include: o /flexe/flexe-groups/flexe-group o /flexe/flexe-groups/flexe-group/flexe-phys/flexe-phy-list o /flexe-client/timeslot-lists Write operations (e.g., edit-config) to these data nodes without proper protection can have a negative effect on network operations. Specifically, an inappropriate configuration of them may cause an interrupt of a FlexE client flow, drop of all Ethernet frames of a FlexE client, or even break down of a whole FlexE group interface. 5. IANA Considerations It is proposed that IANA should assign new URIs from the "IETF XML Registry" [RFC3688] as follows: URI: urn:ietf:params:xml:ns:yang:ietf-flexe Registrant Contact: The IESG XML: N/A; the requested URI is an XML namespace URI: urn:ietf:params:xml:ns:yang:ietf-interfaces-flexe-client Registrant Contact: The IESG XML: N/A; the requested URI is an XML namespace It is proposed that IANA register the following YANG module in the "YANG Module Names" registry: Wang, et al. Expires September 4, 2022 [Page 11] Internet-Draft draft-wang-ccamp-flexe-yang-cm March 2022 Name: ietf-flexe Namespace: Prefix: flexe Reference: this document It is proposed that IANA register the following YANG module in the "YANG Module Names" registry: Name: ietf-interfaces-flexe-client Namespace: urn:ietf:params:xml:ns:yang:ietf-interfaces-flexe-client Prefix: flexecl Reference: this document It is proposed that IANA register a new IANAifType TBD for the interface type of Flex Ethernet client in the "IANA Interface Type YANG Module" [RFC7224]. 6. References 6.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, . [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, . [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, . [RFC7224] Bjorklund, M., "IANA Interface Type YANG Module", RFC 7224, DOI 10.17487/RFC7224, May 2014, . [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, . Wang, et al. Expires September 4, 2022 [Page 12] Internet-Draft draft-wang-ccamp-flexe-yang-cm March 2022 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration Access Control Model", STD 91, RFC 8341, DOI 10.17487/RFC8341, March 2018, . [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., and R. Wilton, "Network Management Datastore Architecture (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, . [RFC8343] Bjorklund, M., "A YANG Data Model for Interface Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, . [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, . 6.2. Informative References [FLEXE] OIF, "Flex Ethernet 2.1 Implementation Agreement", FlexE 2.1, July 2019 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, . Authors' Addresses Minxue Wang China Mobile No.32 Xuanwumen west street Beijing 100053 China Email: wangminxue@chinamobile.com Liuyan Han China Mobile No.32 Xuanwumen west street Beijing 100053 China Email: hanliuyan@chinamobile.com Wang, et al. Expires September 4, 2022 [Page 13] Internet-Draft draft-wang-ccamp-flexe-yang-cm March 2022 Fan Yang Huawei Technologies Huawei Campus, No. 156 Beiqing Rd. Beijing 100095 China Email: shirley.yangfan@huawei.com Luis M. Contreras Telefonica Ronda de la Comunicacion, s/n Sur-3 building, 3rd floor Madrid 28050 Spain Email: luismiguel.contrerasmurillo@telefonica.com URI: http://lmcontreras.com/ Xufeng Liu IBM Corporation 2300 Dulles Station Blvd. Herndon, VA 20171 United States of America Email: xufeng.liu.ietf@gmail.com Wang, et al. Expires September 4, 2022 [Page 14]