Network Working Group                                  Y. Jiang
Internet Draft                                            X. He
Intended status: Standards Track                         Huawei
                                                       W. Cheng
                                                   China Mobile
                                                        J. Wang
                                                         Y. Han
                                                      Fiberhome
Expires: May 2020                              November 4, 2019


            YANG Data Model for FlexE Interface Management
                   draft-jiang-ccamp-flexe-yang-02


Abstract

   This document defines YANG data models for the configuration of Flex
   Ethernet (FlexE) interfaces, including a FlexE group and its FlexE
   clients. The YANG modules 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 May 4, 2020.

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
   (http://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



Jiang, et al                Expires May 4, 2020          [Page 1]


Internet-Draft                FlexE YANG Model       November 2019


   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 interfaces ...... 4
   3.   YANG Module for FlexE group interface .......... 7
   4.   YANG Module for FlexE client interface ........ 14
   5.   Security Considerations ....................... 16
   6.   IANA Considerations ........................... 18
   7.   References .................................... 18
      7.1. Normative References ....................... 18
      7.2. Informative References ..................... 19
   8.   Acknowledgments ............................... 20



1. Introduction

   The Flex Ethernet (FlexE) 2.0 Implementation Agreement [FLEXE]
   defined by the OIF provides the support of 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. Besides 100GBASE-R PHYs,
   FlexE 2.0 further supports the bonding of 200GBASE-R PHYs or
   400GBASE-R PHYs respectively.

   In the FlexE, multiple Ethernet PHYs (each PHY can further consist
   of one or more FlexE Instances) are bonded into a FlexE Group, and
   the total capacity of the FlexE Group is represented as a collection
   of slots (e.g., each slot has a granularity of 5Gbps or 25Gbps).
   Based on their bandwidth needs, FlexE Clients are each mapped into
   one or more slots in a FlexE group. The FlexE mechanism operates
   using a calendar consisting of these slots.

   This calendar is partitioned into sub-calendars for each PHY
   (earlier than FlexE 2.0) or sub-calendars for each FlexE instance
   (FlexE 2.0 and above). For example, the calendar for a FlexE Group
   composed of n 100G PHYs is partitioned into 20n slots (each slot
   representing 5Gbps of bandwidth when the slot granularity is 5Gbps).




Jiang, et al                Expires May 4, 2020          [Page 2]


Internet-Draft                FlexE YANG Model       November 2019


   [FLEXE-PS] discusses the problem statements and requirements for
   FlexE interface management.

   This document defines a YANG data model for the configuration of a
   Flex Ethernet interface (i.e., FlexE Group). The data model is
   augmented based on the generic interfaces data model as defined in
   [RFC8343], the FlexE attributes are based on the FlexE 2.0
   Implementation Agreement as specified in [FLEXE]. With the help of
   this YANG data module, the FlexE Groups can be managed conveniently
   as ordinary network interfaces on a network device (e.g., a router
   or bridge).

   This document also defines a YANG data model for the configuration
   of a Flex Ethernet client interface (i.e., FlexE Client). The data
   model is augmented based on the generic interfaces data model as
   defined in [RFC8343], currently it only includes mac-address and
   group-number attributes for a FlexE client.

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

   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 Instance: A FlexE Instance is a unit of information consisting
   of 100G of capacity able to carry FlexE Client data, together with
   its associated overhead.

   Ethernet PHY: an entity representing Ethernet Physical Coding
   Sublayer (PCS), Physical Media Attachment (PMA), and Physical Media



Jiang, et al                Expires May 4, 2020          [Page 3]


Internet-Draft                FlexE YANG Model       November 2019


   Dependent (PMD) layers. Each PHY is consisted of one or more FlexE
   Instance (e.g., a 400GBASE-R PHY has four FlexE Instances).

   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., calendar-slot-list.

2. YANG model hierarchy for FlexE

   This section describes the hierarchy of the YANG modules for the
   FlexE interface management and the FlexE client interface.

   Configuration and status of FlexE group interface information
   include:

   - flexe-group specifies a management interface for configuration of
   a FlexE group.

   - flexe-phy-list specifies a list of PHYs in a Flex Group.

   - flexe-client-list specifies a list of FlexE client, each client is
   mapped to some slots in this FlexE group. flexe-client-if references
   to a FlexE client interface. flexe-client-status indicates whether
   there is any fault in local or remote for this client.

   Configuration and status of FlexE client interface information
   include:

   - flexe-group specifies the FlexE Group number of the FlexE group to
   which this FlexE client belongs.

   - mac-address specifies the MAC address for a FlexE client.

   A flag calendar-protocol-enable is added to indicate that whether
   FlexE calendar negotiation protocol as described in Section 7.3 of
   [FLEXE] is enabled or not.

   The readers are assumed to be familiar with FlexE 2.0, as all FlexE
   terminologies are described in details in [FLEXE].

   In order to simplify the YANG module of the FlexE interface and to
   follow the YANG style of terminology, the full calendar in FlexE is
   not modelled explicitly. However, a calendar-slot-list per PHY is
   modeled which represents all the slots in a PHY (i.e., slots in all
   sub-calendars of the FlexE instances in this PHY), and the calendar



Jiang, et al                Expires May 4, 2020          [Page 4]


Internet-Draft                FlexE YANG Model       November 2019


   is actually a conglomerate of all the slots in calendar-slot-lists
   for all FlexE PHYs of this FlexE Group.

   From FlexE 2.0 on, concept of "FlexE Instance" is introduced, which
   is equivalent to 100GBASE-R PHY, and slots for each instance is used
   and carried in the overhead. However, we decide not to model the
   instance, for the following reasons:

   - instance numbers can be inferred from the FlexE PHY, and any slot
   in an instance is corresponding to a slot in a PHY;

   - instance is an internal logical construct, there is no benefit in
   exposing it for management;

   - instance is only introduced after FlexE 2.0, its construct will
   not be compatible with the early versions of FlexE.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 the module for FlexE group interface is depicted
   as the following:

   module: ietf-flexe
     augment /if:interfaces/if:interface:
       +--rw flexe-group
          +--rw group-number?         uint32
          +--rw slot-granularity?     slot-granularity-enumeration
          +--rw flexe-phy-type?       flexe-phy-enumeration
          +--rw calendar-protocol-enable? boolean
          +--rw flexe-phy-list* [flexe-phy-if]
          |  +--rw flexe-phy-if?         if:interface-ref
          |  +--rw phy-number            uint8
          |  +--ro flexe-phy-status?     phy-status-enumeration
          |  +--rw calendar-slot-list*   [slot-id]
          |     +--rw slot-id              uint8
          |     +--rw flexe-slot-status?   slot-status-enumeration
          +--rw flexe-client-list* [client-id]
          |  +--rw client-id              uint16
          |  +--rw flexe-client-if?       if:interface-ref
          |  +--rw client-slot-list* [client-slot-id]
          |  |  +--rw client-slot-id       uint8
          |  |  +--rw mapped-phy-if?       if:interface-ref
          |  |  +--rw mapped-slot-id       uint8
          |  +--ro flexe-client-status?  client-status-enumeration
          +--ro flexe-group-status?    uint8



Jiang, et al                Expires May 4, 2020          [Page 5]


Internet-Draft                FlexE YANG Model       November 2019



   A tree diagram of the module for FlexE client interface is depicted
   as the following:
   module: ietf-interfaces-flexe-client
     augment /if:interfaces/if:interface:
       +--rw flexe-client
          +--ro mac-address
          +--rw group-number?           uint32








































Jiang, et al                Expires May 4, 2020          [Page 6]


Internet-Draft                FlexE YANG Model       November 2019


3. YANG Module for FlexE group interface

   The following YANG data module augments the interface container
   defined in RFC 8343 for a FlexE group interface. It imports iana-if-
   type [RFC7224] and ietf-interfaces [RFC8343].


   <CODE BEGINS> file "ietf-flexe@2019-10-30.yang"
   module ietf-flexe {
     yang-version 1.1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-flexe";
     prefix "flexe";

     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:  <mailto:ccamp@ietf.org>
        Author:   Yuanlong Jiang
                  <mailto:jiangyuanlong@huawei.com>
        Author:   Xiang He
                  <mailto: hexiang@huawei.com>
        Author:   Weiqiang Cheng
                  <mailto: chengweiqiang@chinamobile.com>
        Author:   Junfang Wang
                  <mailto: wjf@fiberhome.com>
        Author:   Yalei Han
                  <mailto: ylhan@fiberhome.com>";
     description
       "This YANG module defines a data model for the configuration
        of FlexE interface.";

     revision "2019-10-30" {
       description "Initial version";
       reference
        "draft-jiang-ccamp-flexe-yang-02: YANG Data Model for FlexE
         Interface Management ";
     }



Jiang, et al                Expires May 4, 2020          [Page 7]


Internet-Draft                FlexE YANG Model       November 2019


     identity flexEthernet {
       base ianaift:iana-interface-type;
       description
         "Flex Ethernet.";
     }

     typedef slot-granularity-enumeration {
       type enumeration {
         enum slot-5g {
           value 1;
           description
             "5Gbps per slot.";
         }
         enum slot-25g {
           value 2;
           description
             "25Gbps per slot.";
         }
         enum slot-others {
           value 254;
           description
             "Other type of granularities per slot.";
         }
       }
       description
         "The bandwidth granularity of a slot. Options for this
         enumeration are specified by the OIF standard, currently only
         5G and 25G are defined.";
       reference
         "OIF Flex 2.0: Section 6.7";
     }

     typedef slot-status-enumeration {
       type enumeration {
         enum unavailable {
           value 1;
           description
             "slot is unavailable for a FlexE client.";
         }
         enum unused {
           value 2;
           description
             "slot is unused.";
         }
         enum used {
           value 3;
           description


Jiang, et al                Expires May 4, 2020          [Page 8]


Internet-Draft                FlexE YANG Model       November 2019


             "slot is used.";
         }
       }
       description
         "The status of a slot in a PHY. Options for this enumeration
          are specified by the OIF standard, 'used' is implicit.";
       reference
         "OIF Flex 2.0: Section 7.3.4 and Section 7.6";
     }

     typedef flexe-phy-enumeration {
       type enumeration {
         enum 'PHY-100GBASE-R' {
           value 1;
           description
             "100GBASE-R PHY, as defined in FlexE 1.0.";
         }
         enum 'PHY-200GBASE-R' {
           value 2;
           description
             "200GBASE-R PHY, as defined in FlexE 2.0.";
         }
         enum 'PHY-400GBASE-R' {
           value 3;
           description
             "400GBASE-R PHY, as defined in FlexE 2.0.";
         }
         enum 'PHY-50GBASE-R' {
           value 4;
           description
             "50GBASE-R PHY, as defined in FlexE 2.1.";
         }
       }

       description
         "The current type of PHYs bonded in a FlexE Group. Values for
          this enumeration are specified by the OIF standard.";
       reference
         "OIF Flex 2.0 and 2.1: Section 5.2.1.5";
     }

     typedef phy-status-enumeration {
          type enumeration {
               enum phy-status-OK {
              value 0;
              description
                "The FlexE PHY status is ok";


Jiang, et al                Expires May 4, 2020          [Page 9]


Internet-Draft                FlexE YANG Model       November 2019


            }
            enum phy-status-LOF {
              value 1;
              description
                "The FlexE PHY status is Loss of Frame";
            }
            enum phy-status-RPF {
              value 2;
              description
                "The FlexE PHY status is Remote PHY Fault";
            }
            enum phy-status-LPF {
              value 3;
              description
                "The FlexE PHY status is Local PHY Fault";
            }
          }
          description
            "The current PHY status. RPF, LPF, LOF and OK are defined.";
          reference
            "OIF Flex 2.0: Section 7.3.8";
     }


     typedef client-status-enumeration {

       type enumeration {
               enum flexe-client-status-OK {
               value 0;
               description
                "The FlexE client status is OK";
               }
               enum flexe-client-status-LF {
                 value 1;
                 description
                   "The FlexE client status is Local Fault";
               }
               enum flexe-client-status-RF {
                 value 2;
                 description
                   "The FlexE client status is Remote Fault";
            }
       }
       description
         "The client status. RPF, LPF and OK are defined.";
       reference
         "OIF Flex 2.0: Section 7.3.8";


Jiang, et al                Expires May 4, 2020         [Page 10]


Internet-Draft                FlexE YANG Model       November 2019


     }

     augment "/if:interfaces/if:interface" {

       when "if:type = 'ianaift:flexEthernet'" {
         description "Applies to Flex bonded Ethernet interfaces";
       }

       description
         "Augment interface model with OIF Flex Ethernet interface
          specific configuration nodes. Each flexEthernet interface
          represents a FlexE Group configured in a device.";

       container flexe-group {
         description
           "The struct containing all FlexE related configuration
            (see OIF FlexE 2.0 Section 6.1).
            Note that max number of FlexE groups in a network is 63.";

         leaf group-number {
           type uint32 {
             range "1..1048574";
           }
           description
             "FlexE Group Number as defined in Section 7.3.6 of FlexE
              2.0.";
         }


         leaf slot-granularity {
           type slot-granularity-enumeration;
           default "slot-5g";
           description
              "The granularity of a slot in a FlexE group.";
         }
         leaf flexe-phy-type {
           type flexe-phy-enumeration;
           default "PHY-100GBASE-R";
           description
              "The type of PHYs bonded in a FlexE Group.";
         }

         leaf calendar-protocol-enable {
             type boolean;
             default true;
             description
               "Whether calendar negotiation protocol is enabled or


Jiang, et al                Expires May 4, 2020         [Page 11]


Internet-Draft                FlexE YANG Model       November 2019


                not.";
             reference
               "OIF Flex 2.0: Section 7.3.4";
         }

        list flexe-phy-list {

          key "flexe-phy-if";
          description
            "List of PHYs bonded in a FlexE group.";

          leaf flexe-phy-if {
            type if:interface-ref;
            description
              "Reference to a Flexe PHY interface.";
          }

          leaf phy-number {
            type uint8 {
              range "1 .. 254";
            }
            description
              "PHY number of a FlexE PHY.
               If PHY type is 100GBASE-R, phy-number is [1,254].
               If PHY type is 200GBASE-R, phy-number is [1,126].
               If PHY type is 400GBASE-R, phy-number is [1, 62].";
          }


          leaf flexe-phy-status {
             type phy-status-enumeration;
             default "phy-status-OK";
             config false;
            description
              "The FlexE PHY status.";
          }


          list calendar-slot-list {
            key "slot-id";
            leaf slot-id {
              type uint8;
              description
                "slot id of a slot in a PHY.";
            }
            description
              "List of slots in a FlexE PHY. Max elements of


Jiang, et al                Expires May 4, 2020         [Page 12]


Internet-Draft                FlexE YANG Model       November 2019


               slot-list for a FlexE PHY is dependent on the PHY
               bandwidth (X)G and the slot granularity (Y)G, i.e.,
               X/Y. For example, for a 400GBASE-R PHY:
               If slot-granularity=slot-5g, max-elements is 80.
               If slot-granularity=slot-25g, max-elements is 16.";

            leaf flexe-slot-status {
              type slot-status-enumeration;
              default unused;
              config false;
              description
                "Slot status of a FlexE slot.";
            }
          } //calendar-slot-list
        } //flexe-phy-list

        list flexe-client-list {

          key "client-id";
          description
            "List of FlexE clients in a FlexE Group.";
          leaf client-id {
            type uint16 {
              range "1..65534";
            }
            description
              "FlexE Client field as defined in FlexE 2.0 Section
               7.3.4.";
          }

          leaf flexe-client-if {
            type if:interface-ref;
            description
              "The type of a flexe client interface must be
               'flexeClient'.";
          }

          list client-slot-list {
            key "client-slot-id";
            min-elements 1;
            description
              "List of slots for a FlexE client.";
            leaf client-slot-id {
              type uint8;
              description
                "Client slot id of a client slot in sequence for a
                 client.";


Jiang, et al                Expires May 4, 2020         [Page 13]


Internet-Draft                FlexE YANG Model       November 2019


            }

            leaf mapped-phy-if {
              type if:interface-ref;
              description
                "Mapped PHY interface of a client slot.";
            }
            leaf mapped-slot-id {
              type uint8;
              description
                "Mapped Slot id of a client slot in the mapped PHY.
                 If a slot [i] is mapped, flexe-slot-status[i] in the
                 Mapped PHY MUST be set to 'used' ";
            }
          } // client-slot-list

          leaf flexe-client-status {
             type client-status-enumeration;
             default flexe-client-status-OK;
             config false;
            description
              "The FlexE client status.";
           }

        } //flexe-client-list

        leaf flexe-group-status {
          type uint8;
          config false;
          description
            "Status for a FlexE Group. If any PHY is in fault,
             or any FlexE configuration is mismatched, the FlexE
             Group status is indicated in fault. Status includes:
                OK, Local Fault, Remote Fault, mismatch and etc.";
        }
       } //flexe-group
     }  //augment
   }

   <CODE ENDS>
4. YANG Module for FlexE client interface

   The following YANG data module augments the interface container
   defined in RFC 8343 for a FlexE client interface.


   <CODE BEGINS> file "ietf-interfaces-flexe-client@2019-10-30.yang"


Jiang, et al                Expires May 4, 2020         [Page 14]


Internet-Draft                FlexE YANG Model       November 2019


   module ietf-interfaces-flexe-client {
     yang-version 1.1;

     namespace
       "urn:ietf:params:xml:ns:yang:ietf-interfaces-flexe-client";

     prefix flexcl;

     import ietf-interfaces {
       prefix if;
     }

     import ietf-yang-types {
       prefix yang;
     }

     import iana-if-type {
       prefix ianaift;
     }

     organization "IETF CCAMP Working Group";
     contact
       "WG Web:   http://tools.ietf.org/wg/ccamp/
        WG List:  <mailto:ccamp@ietf.org>
        Author:   Yuanlong Jiang
                  <mailto:jiangyuanlong@huawei.com>
        Author:   Xiang He
                  <mailto: hexiang@huawei.com>
        Author:   Weiqiang Cheng
                  <mailto: chengweiqiang@chinamobile.com>
        Author:   Junfang Wang
                  <mailto: wjf@fiberhome.com>
        Author:   Yalei Han
                  <mailto: ylhan@fiberhome.com>";

     description
       "This module contains YANG definitions for configuration of
        'FlexE client' interfaces.  FlexE Client is defined in
        OIF Flexible Ethernet 2.0 Implementation Agreement.";

     revision 2019-10-30 {
       description "Initial revision";

       reference
         "Internet draft: draft-jiang-ccamp-flexe-yang-02";
     }



Jiang, et al                Expires May 4, 2020         [Page 15]


Internet-Draft                FlexE YANG Model       November 2019


     identity flexeClient {
       base ianaift:iana-interface-type;
       description
         "FlexE Client.";
     }

     /*
      * Configuration parameters for FlexE client interfaces.
      */
     augment "/if:interfaces/if:interface" {
       when "derived-from-or-self(if:type, 'ianaift:flexeClient')" {
         description "Applies to FlexE client interfaces";
       }
       description
         "Augment the interface model with parameters for
          FlexE client interfaces";

       container flexe-client {
         description
           "Contains parameters for FlexE client interfaces
            which expose an Ethernet MAC layer.";
         leaf mac-address {
           type yang:mac-address;
           config false;
           description
             "The MAC address of the FlexE client.";
         }
         leaf group-number {
           type uint32 {
             range "1..1048574";
           }
           description
             "FlexE Group Number of the FlexE group to which this
              Client belongs.";
         }
         // statistics can further be defined for the MAC layer
       }
     }
   }
   <CODE ENDS>
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


Jiang, et al                Expires May 4, 2020         [Page 16]


Internet-Draft                FlexE YANG Model       November 2019


   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-group/flexe-phy-list specifies a list of FlexE PHYs.

   /flexe/flexe-group/flexe-client-list specifies a list of FlexE
   Client, and each client is mapped to some slots in a FlexE PHY.

   /flexcl/mac-address specifies a MAC address for a FlexE client.

   /flexcl/group-number specifies the group number of a FlexE Group to
   which a FlexE client belongs.

   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.





















Jiang, et al                Expires May 4, 2020         [Page 17]


Internet-Draft                FlexE YANG Model       November 2019


6. IANA Considerations

   It is proposed that IANA register the following URI in the "IETF XML
   registry" [RFC3688]:
   URI: urn:ietf:params:xml:ns:yang:ietf-flexe
   Registrant Contact: The IESG
   XML: N/A; the requested URI is an XML namespace

   It is proposed that IANA register the following URI in the "IETF XML
   registry" [RFC3688]:
   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:
   Name:         ietf-flexe
   Namespace:    urn:ietf:params:xml:ns:yang:ietf-flexe
   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:       flexcl
   Reference:    this document

   It is proposed that IANA register a new IANAifType TBD for
   the interface type of Flex Ethernet group in the "IANA Interface
   Type YANG Module" [RFC7224].

   It is proposed that IANA register a new IANAifType TBD for
   the interface type of Flex Ethernet client in the "IANA Interface
   TypeYANG Module" [RFC7224].



7. References

7.1. Normative References

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997




Jiang, et al                Expires May 4, 2020         [Page 18]


Internet-Draft                FlexE YANG Model       November 2019


   [RFC3688] Mealling, M., "The IETF XML Registry", RFC 3688,
             January 2004

   [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and Bierman,
             A., "Network Configuration Protocol (NETCONF)", RFC 6241,
             June 2011

   [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
             Shell (SSH)", RFC 6242, June 2011

   [RFC7224] Bjorklund, M., "IANA Interface Type YANG Module", RFC 7224,
             May 2014

   [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
             Protocol", RFC 8040, January 2017

   [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
             2119 Key Words", BCP 14, RFC 8174, May 2017

   [RFC8341] Bierman, A. and Bjorklund, M., "Network Configuration
             Protocol (NETCONF) Access Control Model", RFC 8341,
             March 2018

   [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
             and R. Wilton, "Network Management Datastore
             Architecture (NMDA)", RFC 8342, March 2018

   [RFC8343] Bjorklund, M., "A YANG Data Model for Interface
             Management", RFC 8343, March 2018

   [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
             Version 1.3", RFC 8446, August 2018

7.2. Informative References

   [FLEXE]   OIF, "Flex Ethernet 2.0 Implementation Agreement", FlexE
             2.0, June 2018

   [FLEXE2.1]OIF, "Flex Ethernet 2.1 Implementation Agreement", FlexE
             2.1, July 2019

   [RFC8340] Bjorklund, M., and Berger, L., "YANG Tree Diagrams", RFC
             8340, March 2018

   [FLEXE-PS] Jiang, Y., Yang, F., Busi, I., Cheng., W, Wang, J.,
             "Problem Statements of FlexE Interface Management",
             draft-jiang-ccamp-flexe-ifmps-00, Work in Progress


Jiang, et al                Expires May 4, 2020         [Page 19]


Internet-Draft                FlexE YANG Model       November 2019


8. Acknowledgments

   The authors would like to thank Yongjian Hu, Zitao Wang and
   Zhongjian Zhang for discussions on YANG.












































Jiang, et al                Expires May 4, 2020         [Page 20]


Internet-Draft                FlexE YANG Model       November 2019


   Authors' Addresses


   Yuanlong Jiang
   Huawei Technologies Co., Ltd.
   Bantian, Longgang district
   Shenzhen 518129, China
   Email: jiangyuanlong@huawei.com


   Xiang He
   Huawei Technologies Co., Ltd.
   Huawei Campus, No. 156 Beiqing Rd.
   Beijing 100095
   Email: hexiang9@huawei.com


   Weiqiang Cheng
   China Mobile
   No.32 Xuanwumen West Street
   Beijing 100053, China
   Email: chengweiqiang@chinamobile.com


   Junfang Wang
   Fiberhome
   Email: wjf@fiberhome.com


   Yalei Han
   Fiberhome
   Email: ylhan@fiberhome.com













Jiang, et al                Expires May 4, 2020         [Page 21]