Internet Engineering Task Force                                  M. Wang
Internet-Draft                                                    L. Han
Intended status: Informational                              China Mobile
Expires: 8 September 2022                                    X. Niu, Ed.
                                                            Q. Wang, Ed.
                                                         ZTE Corporation
                                                            7 March 2022


                Application of FlexE Configuration Model
               draft-xiaobn-ccamp-application-flexe-cm-00

Abstract

   This document gives some application of FlexE configuration model,
   including the configuration of the FlexE group and the FlexE client.
   It is useful for the deployment of FlexE configuration model in
   related network devices.

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 8 September 2022.

Copyright Notice

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











Wang, et al.            Expires 8 September 2022                [Page 1]


Internet-Draft            Application FlexE-cm                March 2022


   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
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
     2.2.  FlexE terminology used in this document . . . . . . . . .   4
   3.  Requirements of FlexE configuration . . . . . . . . . . . . .   4
     3.1.  Requirements  . . . . . . . . . . . . . . . . . . . . . .   4
   4.  FlexE configuration model and configuration illustration  . .   5
     4.1.  Configuration of the FlexE group  . . . . . . . . . . . .   6
     4.2.  Configuration of the FlexE client . . . . . . . . . . . .   8
   5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  11
   6.  Authors (Full List) . . . . . . . . . . . . . . . . . . . . .  11
   7.  Contributors  . . . . . . . . . . . . . . . . . . . . . . . .  12
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  12
   9.  Security Considerations . . . . . . . . . . . . . . . . . . .  12
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  12
     10.1.  Normative References . . . . . . . . . . . . . . . . . .  12
     10.2.  Informative References . . . . . . . . . . . . . . . . .  14
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  14

1.  Introduction

   Flex Ethernet (FlexE) implementation agreement version 1.1
   [OIFFLEXE1] , 2.0 [OIFFLEXE2], 2.1 [OIFFLEXE2.1] and 2.2
   [OIFFLEXE2.2]have been published by OIF.  FlexE provides a generic
   mechanism for supporting a variety of Ethernet MAC rates that may or
   may not correspond to any existing Ethernet PHY rate.  This includes
   MAC rates that are both greater than (through bonding) and less than
   (through sub-rate and channelization) the Ethernet PHY rates used to
   carry FlexE.

   In ITU-T, Recommendation [ITU-T_G8023_2018] specifies the functions
   required to insert and extract information to/from an Ethernet
   physical layer (PHY) as defined in IEEE 802.3, including the FlexE
   shim as defined in the FLEXE IA (currently based on version 1.1 ).
   Recommendation [ITU-T_G8312_2020] specifies the rates and formats for
   use in metro transport network (MTN) digital layer networks, and the
   MTNS frame format is specified in a way that maximizes reuse of OIF



Wang, et al.            Expires 8 September 2022                [Page 2]


Internet-Draft            Application FlexE-cm                March 2022


   FLEXE IA ( version 2.1 at present) implementation logic, including
   support for bonding homogenous groups of 50GBASE-R, 100GBASE-R,
   200GBASE-R, 400GBASE-R interfaces.

   In IETF, some drafts discussed FlexE framework, controls, and
   configurations.  The draft [FlexE-cm] defines a FlexE configuration
   YANG model for the configuration and management of FlexE devices.

   Based on current FlexE standards above and the FlexE configuration
   model, applications of FlexE configuration model, including the
   configuration of the FlexE group and the FlexE client are
   illustrated, and it is useful for the deployment of FlexE
   configuration model in related network devices.

2.  Terminology

   A simplified graphical representation of the data model is 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 is found in
   [RFC7950].

2.1.  Requirements Language

   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.




Wang, et al.            Expires 8 September 2022                [Page 3]


Internet-Draft            Application FlexE-cm                March 2022


2.2.  FlexE terminology used in this document

   FlexE Group: A FlexE group is composed of from 1 to m bonded Ethernet
   PHYs.

   FlexE Client: An Ethernet flow based on a MAC data rate that may or
   may not correspond to any Ethernet PHY rate.

   FlexE Calendar: The total capacity of a FlexE group is represented as
   a collection of slots which have a granularity of 5G or 25G.  The
   calendar for a FlexE group composed of n 100G PHYs is represented as
   an array of 20n slots (each representing 5G of bandwidth).  This
   calendar is partitioned into sub-calendars, with 20 slots per 100G
   PHY.

   Detailed description of these terms can be found in [OIFFLEXE2.2].

3.  Requirements of FlexE configuration

   To model the FlexE YANG model, it need some analysis of the
   requirements of FlexE configuration, and give more priority to the
   fundamental configuration.  Based on that, proper augments and
   extensions can be made in future.

   In following sections, the requirements are summarized according to
   the descriptions in OIF FlexE and ITU-T FlexE related standards.  In
   [ITU-T_G8023_2018] and [ITU-T_G8312_2020], some MI (Management
   Information), such as MI_TxGID, MI_TxFlexEMAP, are defined for
   specific network atomic functions in order to configure the
   functions.  Some MIs are reported from the atomic functions which are
   useful for monitoring the real states and verifying the consistency
   between the configuration and the real states.

   Here configuration requirements of FlexE groups, FlexE clients, FlexE
   calendar and calendar slots are summarized and illustrated.

3.1.  Requirements

   Requirements of the FlexE group include,

   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, rate of PHYs, etc.) at the
   local FlexE shims.  If inconsistency exists, notifications (e.g.
   errors) SHOULD be invoked.



Wang, et al.            Expires 8 September 2022                [Page 4]


Internet-Draft            Application FlexE-cm                March 2022


   Requirements of the calendar slot include,

   R-Calendar-01 The model SHALL support the updates of usage of
   calendar slots in the FlexE calendar, and support the notification of
   the usage.

   R-Calendar-02 The model SHALL support the verification of assignment
   of calendar slots in the FlexE calendar.  If inconsistency exists,
   notifications (e.g. errors) SHOULD be invoked.

   R-Calendar-03 The model MAY support the configuration of calendar A
   and B.

   R-Calendar-04 The model MAY support the switching of a calendar
   configuration between calendar A and B.


   Requirements of the FlexE client include,

   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 calendars 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.

4.  FlexE configuration model and configuration 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, the 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.

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










Wang, et al.            Expires 8 September 2022                [Page 5]


Internet-Draft            Application FlexE-cm                March 2022


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



                               Figure 1


4.1.  Configuration of the FlexE group

   Following YANG tree is an excerpt from the FlexE-cm YANG model.



                    +--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


                               Figure 2


   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.




Wang, et al.            Expires 8 September 2022                [Page 6]


Internet-Draft            Application FlexE-cm                March 2022


   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 fault 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.

   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.



                         <flexe-group>
                             <index>20221</index>
                             <group-num>2222</group-num>
                             <negotiation-mode>static</negotiation-mode>
                             <sync-phy-number>1</sync-phy-number>
                             <flexe-phys>
                                 <flexe-phy-list>
                                     <port-name>ifa001</port-name>
                                     <phy-number>1</phy-number>
                                 </flexe-phy-list>
                                 <flexe-phy-list>
                                     <port-name>ifa002</port-name>
                                     <phy-number>2</phy-number>
                                  </flexe-phy-list>
                                  <flexe-phy-list>
                                     <port-name>ifa003</port-name>
                                     <phy-number>3</phy-number>
                                  </flexe-phy-list>
                                  <flexe-phy-list>
                                     <port-name>ifa004</port-name>
                                     <phy-number>4</phy-number>
                                  </flexe-phy-list>
                             </flexe-phys>
                         </flexe-group>


                                Figure 3




Wang, et al.            Expires 8 September 2022                [Page 7]


Internet-Draft            Application FlexE-cm                March 2022


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



                         <flexe-group>
                             <index>3001</index>
                             <group-num>2222</group-num>
                             <negotiation-mode>static</negotiation-mode>
                             <sync-phy-number>1</sync-phy-number>
                             <flexe-phys>
                                 <flexe-phy-list>
                                     <port-name>ifb001</port-name>
                                     <phy-number>1</phy-number>
                                  </flexe-phy-list>
                                  <flexe-phy-list>
                                     <port-name>ifb002</port-name>
                                     <phy-number>2</phy-number>
                                  </flexe-phy-list>
                                  <flexe-phy-list>
                                     <port-name>ifb003</port-name>
                                     <phy-number>3</phy-number>
                                  </flexe-phy-list>
                                  <flexe-phy-list>
                                     <port-name>ifb004</port-name>
                                     <phy-number>4</phy-number>
                                  </flexe-phy-list>
                             </flexe-phys>
                         </flexe-group>


                                Figure 4


   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.

4.2.  Configuration of the FlexE client

   Following YANG tree is an excerpt from the FlexE-cm YANG model.








Wang, et al.            Expires 8 September 2022                [Page 8]


Internet-Draft            Application FlexE-cm                March 2022


                          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


                                 Figure 5


   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.

   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 8 September 2022                [Page 9]


Internet-Draft            Application FlexE-cm                March 2022


                           <flexe-client>
                               <client-index>6001</client-index>
                               <group-index>20221</group-index>
                               <client-num>1001</client-num>
                               <timeslot-lists>
                                   <timeslot-list>
                                       <port-num>ifa001</port-num>
                                       <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-num>ifa002</port-num>
                                       <time-slot>1-20</time-slot>
                                   </timeslot-list>

                                   <timeslot-list>
                                       <port-num>ifa003</port-num>
                                       <time-slot>1-20</time-slot>
                                   </timeslot-list>
                               </timeslot-lists>
                           </flexe-client>



                                  Figure 6


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















Wang, et al.            Expires 8 September 2022               [Page 10]


Internet-Draft            Application FlexE-cm                March 2022


                           <flexe-client>
                               <client-index>7001</client-index>
                               <group-index>3001</group-index>
                               <client-num>1001</client-num>
                               <timeslot-lists>
                                   <timeslot-list>
                                       <port-num>ifb001</port-num>
                                       <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-num>ifb002</port-num>
                                       <time-slot>1-20</time-slot>
                                   </timeslot-list>

                                   <timeslot-list>
                                       <port-num>ifb003</port-num>
                                       <time-slot>1-20</time-slot>
                                   </timeslot-list>
                               </timeslot-lists>
                           </flexe-client>



                                  Figure 7


5.  Acknowledgements


6.  Authors (Full List)

      Minxue Wang

      China Mobile

      No.32 Xuanwumen west street

      Beijing, China

      Email: wangminxue@chinamobile.com



Wang, et al.            Expires 8 September 2022               [Page 11]


Internet-Draft            Application FlexE-cm                March 2022


      Liuyan Han

      China Mobile

      No.32 Xuanwumen west street

      Beijing, China

      Email: hanliuyan@chinamobile.com


      Xiaobing Niu (editor)

      ZTE

      Beijing, China

      Email: niu.xiaobing@zte.com.cn


      Qilei Wang (editor)

      ZTE

      Nanjing, China

      Email: wang.qilei@zte.com.cn

7.  Contributors


8.  IANA Considerations

   This memo includes no request to IANA.

9.  Security Considerations

   TBD.

10.  References

10.1.  Normative References









Wang, et al.            Expires 8 September 2022               [Page 12]


Internet-Draft            Application FlexE-cm                March 2022


   [ITU-T_G8023_2018]
              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.

   [ITU-T_G8312_2020]
              ITU-T, "ITU-T G.8312: Interfaces for metro transport
              networks; 12/2020",  https://www.itu.int/rec/T-REC-
              G.8312-202012-I, December 2020.

   [OIFFLEXE1]
              OIF, "Flex Ethernet Implementation Agreement 1.1(OIF-
              FLEXE-01.1); 06/2017",  https://www.oiforum.com/wp-
              content/uploads/2019/01/FLEXE1.1.pdf, June 2017.

   [OIFFLEXE2]
              OIF, "Flex Ethernet Implementation Agreement 2.0(OIF-
              FLEXE-02.0); 06/2018",  https://www.oiforum.com/wp-
              content/uploads/2019/01/OIF-FLEXE-02.0-1.pdf, June 2018.

   [OIFFLEXE2.1]
              OIF, "Flex Ethernet Implementation Agreement 2.1(OIF-
              FLEXE-02.1); 07/2019",  https://www.oiforum.com/wp-
              content/uploads/OIF-FLEXE02.1.pdf, July 2019.

   [OIFFLEXE2.2]
              OIF, "Flex Ethernet Implementation Agreement 2.2(OIF-
              FLEXE-02.2); 10/2021",  https://www.oiforum.com/wp-
              content/uploads/OIF-FLEXE-02.2.pdf, October 2021.

   [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 8 September 2022               [Page 13]


Internet-Draft            Application FlexE-cm                March 2022


   [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>.

   [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>.

10.2.  Informative References

   [FlexE-cm] IETF, "IETF CCAMP draft, YANG Data Model for FlexE
              Management; 03/2022",
              https://datatracker.ietf.org/doc/draft-wang-ccamp-flexe-
              yang-cm/, March 2022.

Authors' Addresses

   Minxue Wang
   China Mobile
   No.32 Xuanwumen west street
   Beijing
   China
   Email: wangminxue@chinamobile.com


   Liuyan Han
   China Mobile
   No.32 Xuanwumen west street
   Beijing
   China
   Email: hanliuyan@chinamobile.com


   Xiaobing Niu (editor)
   ZTE Corporation
   Beijing
   China
   Email: niu.xiaobing@zte.com.cn








Wang, et al.            Expires 8 September 2022               [Page 14]


Internet-Draft            Application FlexE-cm                March 2022


   Qilei Wang (editor)
   ZTE Corporation
   Nanjing
   China
   Email: wang.qilei@zte.com.cn














































Wang, et al.            Expires 8 September 2022               [Page 15]