Skip to main content

YANG Data Model for FlexE Management
draft-ietf-ccamp-flexe-yang-cm-04

Document Type Active Internet-Draft (ccamp WG)
Authors Minxue Wang , Liuyan Han , Xuesong Geng , Jin Zhou , Luis M. Contreras , Xufeng Liu
Last updated 2024-02-27
Replaces draft-wang-ccamp-flexe-yang-cm
RFC stream Internet Engineering Task Force (IETF)
Intended RFC status (None)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd (None)
IESG IESG state I-D Exists
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-ccamp-flexe-yang-cm-04
CCAMP Working Group                                              M. Wang
Internet-Draft                                                    L. Han
Intended status: Standards Track                            China Mobile
Expires: 30 August 2024                                          X. Geng
                                                     Huawei Technologies
                                                                 J. Zhou
                                                                     ZTE
                                                           LM. Contreras
                                                              Telefonica
                                                                  X. Liu
                                                         IBM Corporation
                                                        27 February 2024

                  YANG Data Model for FlexE Management
                   draft-ietf-ccamp-flexe-yang-cm-04

Abstract

   This document defines a service provider targeted YANG data model for
   the configuration and management of a Flex Ethernet (FlexE) network,
   including FlexE group and FlexE client.  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 30 August 2024.

Copyright Notice

   Copyright (c) 2024 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Wang, et al.             Expires 30 August 2024                 [Page 1]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

   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 Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Conventions used in this document . . . . . . . . . . . .   3
     1.2.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
       1.2.1.  FlexE terminology used in this document . . . . . . .   3
   2.  Requirements of FlexE configuration . . . . . . . . . . . . .   4
   3.  Tree Diagram of FlexE YANG Model  . . . . . . . . . . . . . .   4
   4.  YANG Module of FlexE Management . . . . . . . . . . . . . . .   5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .  11
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  11
   7.  Acknowledgement . . . . . . . . . . . . . . . . . . . . . . .  12
   8.  Normative References  . . . . . . . . . . . . . . . . . . . .  12
   Appendix A.  Appendix: FlexE configuration model illustration . .  13
     A.1.  Configuration Example of the FlexE group  . . . . . . . .  14
     A.2.  Configuration Example of the FlexE client . . . . . . . .  16
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  19

1.  Introduction

   From a service provider's point of view, a transport network with
   Flex Ethernet (FlexE) support is 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 out of the scope of this document.

Wang, et al.             Expires 30 August 2024                 [Page 2]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

   The YANG modules in this document conform 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

   A simplified graphical representation of the data model can be used
   in this document.  The meaning of the symbols in the YANG data tree
   presented later in this document is defined in [RFC8340].  They are
   provided below for reference.

   o Brackets "[" and "]" enclose list keys.

   o Abbreviations before data node names: "rw" means configuration
   (read-write) and "ro" state data (read-only).

   o Symbols after data node names: "?" means an optional node, "!"
   means a presence container, and "*" denotes a list and leaf-list

   o Parentheses enclose choice and case nodes, and case nodes are also
   marked with a colon (":").

   o Ellipsis ("...") stands for contents of subtrees that are not
   shown.

   o Some of the key terms used in this document are listed as follow.

   The terminology for describing YANG data models can be found in
   [RFC6020].

1.2.1.  FlexE terminology used in this document

   The following terminologies used in this document are defined in
   [IEEE802.3] and [FLEXE].  The following terminologies are listed in
   alphabetical order.

   *  Calendar

   *  Ethernet PHY

   *  Flex Ethernet (FlexE)

Wang, et al.             Expires 30 August 2024                 [Page 3]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

   *  FlexE Client

   *  FlexE Group

   *  FlexE PHY

2.  Requirements of FlexE configuration

   In this section, the requirements are summarized according to the
   descriptions in OIF FlexE Implementation Agreement and ITU-T FlexE
   related standards e.g.  [ITU-T_G.8023].  FlexE YANG data model aims
   to provide the configurations of functions, report real states, and
   verify the consistency between the configuration and the real states.
   The requirements of FlexE groups and FlexE clients are summarized and
   illustrated as follows.

   Requirements of the FlexE group:
      *  R-Group-01 The model SHALL support the management of the FlexE
         group, consisting of one or more Ethernet PHY(s).

      *  R-Group-02 The model SHOULD be able to verify that the
         collection of Ethernet PHY(s) included in a FlexE group have
         the same characteristics (e.g. number of PHYs, timeslots of
         PHYs, etc.) at the local FlexE shims.  If inconsistency exists,
         notifications (e.g.  errors) SHOULD be invoked.

   Requirements of the FlexE client:
      *  R-Client-01 The model SHALL support to assign required calendar
         slots to transport the FlexE clients.  The assigned calendar
         slots MAY be in different FlexE timeslots with different ETH
         PHYs.

      *  R-Client-02 The model SHALL support to add FlexE client(s) into
         or remove FlexE client(s) from the FlexE group, without
         affecting the other existing FlexE clients whose size and
         calendar slot assignments are not changed.

3.  Tree Diagram of FlexE YANG Model

   This section describes the hierarchy and tree diagram of YANG modules
   for the FlexE management.

   Configuration management of FlexE group includes:

   *  flexe-groups specifies management configuration of all FlexE
      groups

Wang, et al.             Expires 30 August 2024                 [Page 4]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

   *  flexe-phys specifies management configuration of a list of PHYs in
      a specific FlexE group

   Configuration management of a FlexE client includes:

   *  flexe-client specifies the FlexE slots used for the FlexE Client
      in FlexE group

   YANG tree diagram [RFC8340] representing the data model is typically
   used by YANG modules.  A simplified FlexE tree diagram defined in
   this document follows the syntax and notation defined in [RFC8340].

   A tree diagram of IETF FlexE is depicted as the following:

   module: ietf-flexe
  +--rw flexe
     +--rw flexe-groups
     |  +--rw flexe-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* [port-name]
     |           +--rw port-name             if:interface-ref
     |           +--rw phy-number            uint32
     |           +--ro free-timeslot-list?   string
     |           +--ro used-timeslot-list?   string
     +--rw flexe-clients
        +--rw flexe-client* [client-index]
           +--rw client-index      uint32
           +--rw group-index       -> /flexe/flexe-groups/flexe-group/index
           +--rw client-num        uint32
           +--rw timeslot-lists
              +--rw timeslot-list* [port-name]
                 +--rw port-name    if:interface-ref
                 +--rw time-slot    string

4.  YANG Module of FlexE Management

   The following YANG data module augments the interface container
   defined in [RFC8343] for a FlexE group interface.  It imports ietf-
   interfaces [RFC8343].

Wang, et al.             Expires 30 August 2024                 [Page 5]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

   module ietf-flexe {
     yang-version 1.1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-flexe";
     prefix "flexe";

     import ietf-interfaces {
       prefix if;
       reference
       "RFC 8343: A YANG Data Model For Interface Management";
     }

     organization "IETF CCAMP Working Group";
     contact
      "WG Web:   http://datatracker.ietf.org/wg/ccamp/
       WG List:  <mailto:ccamp@ietf.org>
       Author:   Minxue Wang
                 <mailto: wangminxue@chinamobile.com>
       Author:   Liuyan Han
                 <mailto: hanliuyan@chinamobile.com>
       Author:   Xuesong Geng
                 <mailto:gengxuesong@huawei.com>
       Author:   Xiaobing Niu
                 <mailto: niu.xiaobing@zte.com.cn>
       Author:   Luis M. Contreras
                 <mailto:luismiguel.contrerasmurillo@telefonica.com>
       Author:   Xufeng Liu
                 <mailto:xufeng.liu.ietf@gmail.com>";
     description
      "This YANG module defines a data model for the configuration
       of FlexE, which includes the configuration of FlexE group and
       FlexE client.

       Copyright (c) 2022 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 Revised 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 the
       RFC itself for full legal notices.";

     revision "2023-09-12" {
       description "the sixth version";
       reference

Wang, et al.             Expires 30 August 2024                 [Page 6]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

       "RFC XXXX: YANG Data Model for FlexE Management";
     }

     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 group configuration information.";
       reference
         "Flex Ethernet 2.1 Implementation Agreement";
       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";
             }
             mandatory true;
             description
               "FlexE group number, as specified in OIF FlexE 2.1.";
           }
           leaf negotiation-mode {

Wang, et al.             Expires 30 August 2024                 [Page 7]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

             type negotiation-mode-type;
             mandatory true;
             description
               "FlexE group calendar negotiation mode, the default
                value is 'dynamic'.";
           }
           leaf total-bandwidth {
             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 phy-number {
                 type uint32 {
                   range "1..254";
                 }

Wang, et al.             Expires 30 August 2024                 [Page 8]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

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

      container flexe-clients {
        description
          "All the clients configured in the same FlexE group.";
        list flexe-client{
          key "client-index";
          description
             "Specify FlexE client configuration information.";
          reference
             "Flex Ethernet 2.1 Implementation Agreement";
          leaf client-index {
            type uint32 {
              range "1..65535";

Wang, et al.             Expires 30 August 2024                 [Page 9]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

            }
            mandatory true;
            description
              "FlexE client index.";
          }
          leaf group-index {
            type leafref {
              path "/flexe:flexe/flexe:flexe-groups"
                 + "/flexe:flexe-group/flexe:index";
            }
            mandatory true;
            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";
             }
             mandatory true;
             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";
                 }
                 mandatory true;
                 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 30 August 2024                [Page 10]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

               }
             }
           }
         }
       }
     }

5.  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:

   *  /flexe/flexe-groups/flexe-group

   *  /flexe/flexe-groups/flexe-group/flexe-phys/flexe-phy-list

   *  /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 may interrupt a FlexE
   client flow, drop all Ethernet frames of a FlexE client, or even
   break down a whole FlexE group interface.

6.  IANA Considerations

   IANA is asked to 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

Wang, et al.             Expires 30 August 2024                [Page 11]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

   The following YANG modules are requested to be registered in the IANA
   "YANG Module Names" [RFC6020] registry:

      Name: ietf-flexe
      Namespace: urn:ietf:params:xml:ns:yang:ietf-flexe
      Prefix: flexe
      Reference: this document

7.  Acknowledgement

   The authors would like to thank Weiqiang Cheng and Yuanlong Jiang for
   their valuable suggestions.

8.  Normative References

   [FLEXE]    OIF, "Flex Ethernet 2.1 Implementation Agreement",  , July
              2019.

   [IEEE802.3]
              IEEE, "IEEE 802.3 IEEE Standard for
              Ethernet",  https://ieeexplore.ieee.org/document/8457469,
              2018.

   [ITU-T_G.8023]
              ITU-T, "ITU-T G.8023: Characteristics of equipment
              functional blocks supporting Ethernet physical layer and
              Flex Ethernet interfaces;
              11/2018",  https://www.itu.int/rec/T-REC-G.8023, November
              2018.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
              DOI 10.17487/RFC3688, January 2004,
              <https://www.rfc-editor.org/info/rfc3688>.

   [RFC6020]  Bjorklund, M., Ed., "YANG - A Data Modeling Language for
              the Network Configuration Protocol (NETCONF)", RFC 6020,
              DOI 10.17487/RFC6020, October 2010,
              <https://www.rfc-editor.org/info/rfc6020>.

Wang, et al.             Expires 30 August 2024                [Page 12]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

   [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,
              <https://www.rfc-editor.org/info/rfc6241>.

   [RFC6242]  Wasserman, M., "Using the NETCONF Protocol over Secure
              Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
              <https://www.rfc-editor.org/info/rfc6242>.

   [RFC8040]  Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
              Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
              <https://www.rfc-editor.org/info/rfc8040>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8340]  Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
              BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
              <https://www.rfc-editor.org/info/rfc8340>.

   [RFC8341]  Bierman, A. and M. Bjorklund, "Network Configuration
              Access Control Model", STD 91, RFC 8341,
              DOI 10.17487/RFC8341, March 2018,
              <https://www.rfc-editor.org/info/rfc8341>.

   [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,
              <https://www.rfc-editor.org/info/rfc8342>.

   [RFC8343]  Bjorklund, M., "A YANG Data Model for Interface
              Management", RFC 8343, DOI 10.17487/RFC8343, March 2018,
              <https://www.rfc-editor.org/info/rfc8343>.

   [RFC8446]  Rescorla, E., "The Transport Layer Security (TLS) Protocol
              Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
              <https://www.rfc-editor.org/info/rfc8446>.

Appendix A.  Appendix: FlexE configuration model illustration

   A FlexE group must be configured first before any client signals are
   carried over it.  The initial configuration commands could be from
   external management system, SDN controller etc.

   Currently, t he FlexE configuration model shows the necessary
   parameters about the FlexE group and the FlexE client.  That is the
   base model for further augments or extensions.

Wang, et al.             Expires 30 August 2024                [Page 13]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

   In this section, more details about parameters in the model are
   elaborated, and some examples are illustrated based on following
   figure.

               +--------+                      +---------+
               |        | 1    FlexE group   1 |         |
 FlexE client1-|        +----------------------+         |-FlexE client1
               |  FlexE | 2                  2 |  FlexE  |
 FlexE client2-|   mux  +----------------------+  demux  |-FlexE client2
               |        | 3                  3 |         |
               |        +----------------------+         |
               |        | 4                  4 |         |
               |        +----------------------+         |
               +--------+                      +---------+

                                Figure 1

A.1.  Configuration Example of the FlexE group

   The FlexE group YANG tree is shown in section 4.  More explanations
   for the flexe-group data node include,

   a.  The leaf index provides an index to the FlexE group.  The value
       of the index may be generated by local network device or network
       management system, so the values in FlexE mux and demux may be
       different.

   b.  The leaf group-num is transported between FlexE mux and FlexE
       demux.

   c.  The leaf negotiation-mode includes dynamic mode and static mode,
       and the default value is dynamic mode.  For the dynamic mode, the
       calendar slot information for the FlexE client is only sent to
       the FlexE mux.  While for the static mode, the calendar slot
       information for the FlexE client is configured both to the FlexE
       mux and demux.

   d.  The leaf sync-phy-number is used for the synchronization
       management channel.

Wang, et al.             Expires 30 August 2024                [Page 14]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

   e.  The list flexe-phys includes all the PHYs bonded in a FlexE
       group.  Each of the PHYs is identified by the port-name and phy-
       number in the group.  Both ends of each PHY in the FlexE group
       should use the same PHY number.

   f.  In this example, it is assumed that the FlexE mux is configured
       with 1# slot with 4 100G PHYs, and the FlexE demux is configured
       with 2# slot with 4 100G PHYs.

       <flexe-group>
           <index>20221</index>
           <group-num>2222</group-num>
           <negotiation-mode>static</negotiation-mode>
           <flexe-phys>
               <flexe-phy>
                   <port-name>flexe-1/1</port-name>
                   <phy-number>1</phy-number>
               </flexe-phy>
               <flexe-phy>
                   <port-name>flexe-1/2</port-name>
                   <phy-number>2</phy-number>
               </flexe-phy>
               <flexe-phy>
                   <port-name>flexe-1/3</port-name>
                   <phy-number>3</phy-number>
               </flexe-phy>
               <flexe-phy>
                   <port-name>flexe-1/4</port-name>
                   <phy-number>4</phy-number>
               </flexe-phy>
           </flexe-phys>
       </flexe-group>

                                  Figure 2

   While in the FlexE demux, part of the configuration for FlexE group
   is shown as follows,

Wang, et al.             Expires 30 August 2024                [Page 15]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

       <flexe-group>
           <index>3001</index>
           <group-num>2222</group-num>
           <negotiation-mode>static</negotiation-mode>
           <flexe-phys>
               <flexe-phy>
                   <port-name>flexe-2/1</port-name>
                   <phy-number>1</phy-number>
               </flexe-phy>
               <flexe-phy>
                   <port-name>flexe-2/2</port-name>
                   <phy-number>2</phy-number>
               </flexe-phy>
               <flexe-phy>
                   <port-name>flexe-2/3</port-name>
                   <phy-number>3</phy-number>
               </flexe-phy>
               <flexe-phy>
                   <port-name>flexe-2/4</port-name>
                   <phy-number>4</phy-number>
               </flexe-phy>
           </flexe-phys>
       </flexe-group>

                                  Figure 3

   Based on the configuration above, the running states in the FlexE
   device can be gotten by using NETCONF Get command.  To FlexE group,
   the running states include total-bandwidth and free-bandwidth of the
   FlexE group, and free-timeslot-list and used-timeslot-list of each
   PHY in the FlexE group.

A.2.  Configuration Example of the FlexE client

   The FlexE client YANG tree is shown in section 4.  More explanations
   for the flexe-client data node include,

   a.  The leaf client-index provides an index to the FlexE client.  The
       value of the client-index may be configured by the network device
       or network management system or controller, and the values in
       FlexE mux and demux may be different.

   b.  The leafref group-index references the FlexE group with the
       specific group index.  It means that the FlexE group should be
       created before configuring the FlexE client, and the FlexE client
       will be transported by the specific FlexE group.

Wang, et al.             Expires 30 August 2024                [Page 16]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

   c.  The leaf client-num is used to indicate the FlexE client.  The
       value of the client-num should be configured by the network
       management system or controller, and the values in FlexE mux and
       demux should be the same.

   d.  The container timeslot-lists shows all the calendar slots
       assigned to the FlexE client.  In the list timeslot-list, the
       total assignment of slots in each PHY, which is indicated by the
       leaf port-name, are indicated by the slots in the leaf time-slot.

   For example, two FlexE clients are configured to be transported by
   the FlexE group in section 4.1.

   The bandwidth of the first FlexE client is 10Gb/s, and the assigned
   calendar slots include two 5G slots.

   The bandwidth of the second FlexE client is 200Gb/s, and the assigned
   calendar slots include 40 5G slots, exactly located in two 100G PHYs.
   This configuration shows the capability of FlexE bonding.

   Part of the configuration for the first and second FlexE client in
   FlexE mux is shown as follows,

Wang, et al.             Expires 30 August 2024                [Page 17]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

       <flexe-client>
           <client-index>6001</client-index>
           <group-index>20221</group-index>
           <client-num>1001</client-num>
           <timeslot-lists>
               <timeslot-list>
                   <port-name>flexe-1/1</port-name>
                   <time-slot>1-2</time-slot>
               </timeslot-list>
           </timeslot-lists>
       </flexe-client>

       <flexe-client>
           <client-index>6002</client-index>
           <group-index>20221</group-index>
           <client-num>1002</client-num>
           <timeslot-lists>
               <timeslot-list>
                   <port-name>flexe-1/2</port-name>
                   <time-slot>1-20</time-slot>
               </timeslot-list>
               <timeslot-list>
                   <port-name>flexe-1/3</port-name>
                   <time-slot>1-20</time-slot>
               </timeslot-list>
           </timeslot-lists>
       </flexe-client>

                                  Figure 4

   Part of the configuration for the first and second FlexE client in
   FlexE demux is shown as follows,

Wang, et al.             Expires 30 August 2024                [Page 18]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

       <flexe-client>
           <client-index>7001</client-index>
           <group-index>3001</group-index>
           <client-num>1001</client-num>
           <timeslot-lists>
               <timeslot-list>
                   <port-name>flexe-2/1</port-name>
                   <time-slot>1-2</time-slot>
               </timeslot-list>
           </timeslot-lists>
       </flexe-client>

       <flexe-client>
           <client-index>7002</client-index>
           <group-index>3001</group-index>
           <client-num>1002</client-num>
            <timeslot-lists>
               <timeslot-list>
                   <port-name>flexe-2/2</port-name>
                   <time-slot>1-20</time-slot>
               </timeslot-list>
               <timeslot-list>
                   <port-name>flexe-2/3</port-name>
                   <time-slot>1-20</time-slot>
               </timeslot-list>
           </timeslot-lists>
       </flexe-client>

                                  Figure 5

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

Wang, et al.             Expires 30 August 2024                [Page 19]
Internet-Draft      draft-ietf-ccamp-flexe-yang-cm-04      February 2024

   Email: hanliuyan@chinamobile.com

   Xuesong Geng
   Huawei Technologies
   Huawei Campus, No. 156 Beiqing Rd.
   Beijing
   100095
   China
   Email: gengxuesong@huawei.com

   Jin Zhou
   ZTE
   ZTE, Xili street.
   Shenzhen
   518057
   China
   Email: zhou.jin6@zte.com.cn

   Luis M. Contreras
   Telefonica
   Ronda de la Comunicacion, s/n
   Sur-3 building, 3rd floor
   28050 Madrid
   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 30 August 2024                [Page 20]