Skip to main content

YANG Data Model for FlexE Management
draft-wang-ccamp-flexe-yang-cm-00

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Authors Minxue Wang , Liuyan Han , Yuanlong Jiang
Last updated 2021-07-09
Replaced by draft-ietf-ccamp-flexe-yang-cm
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-wang-ccamp-flexe-yang-cm-00
Network Working Group                                            M. Wang
Internet Draft                                                    L. Han
Intended status: Standards Track                            China Mobile
                                                                Y. Jiang
                                                                  Huawei
Expires: January 8021                                       July 8, 2021

                YANG Data Model for FlexE Management
                  draft-wang-ccamp-flexe-yang-cm-00

Abstract

   This document defines a service provider targeted YANG data model
   for the configuration and management of a Flex Ethernet (FlexE)
   network, including FlexE groups. It also supports the configuration
   of each FlexE client as an interface. The YANG module in this
   document conforms to the Network Management Datastore Architecture
   (NMDA).

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF). Note that other groups may also distribute
   working documents as Internet-Drafts. The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time.  It is inappropriate to use Internet-Drafts as
   reference material or to cite them other than as "work in progress."

   This Internet-Draft will expire on January 8, 2020.

Copyright Notice

   Copyright (c) 2021 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
   document must include Simplified BSD License text as described in

Wang, et al               Expires January 8, 2022        [Page 1]
Internet-Draft           FlexE Management YANG Model      July 2021

   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 ..................... 2
      1.2.  Terminology ........................................... 3
   2.    YANG model hierarchy for FlexE ........................... 3
   3.    YANG Module for FlexE group interface .................... 5
   4.    Security Considerations .................................. 9
   5.    IANA Considerations ..................................... 10
   6.    References .............................................. 10
      6.1.  Normative References ................................. 10
      6.2.  Informative References ............................... 10
   7.    Acknowledgments ......................................... 10

1. Introduction

   From a service provider's point of view, a transport network with
   FlexE support are usually deployed with all FlexE Groups configured
   at first, and then FlexE clients are added one by one at a later
   stage.

   Furthermore, when a FlexE transport network is used to backhaul 5G
   mobile services, synchronization channel can also be imbed in a
   FlexE PHY. The specific PHY used for synchronization channel can be
   retrieved for management.

   Thus, this document defines a service provider targeted YANG data
   model for the configuration and management of a Flex Ethernet (FlexE)
   network, including FlexE groups. It also supports the configuration
   of each FlexE client as an interface. The data model of the FlexE
   client is augmented based on the generic interfaces data model as
   defined in [RFC8343], the FlexE attributes are based on the FlexE
   2.1 Implementation Agreement as specified in [FLEXE].

   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

Wang, et al               Expires January 8, 2022        [Page 2]
Internet-Draft           FlexE Management YANG Model      July 2021

   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
   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., timeslot-list string.

2. YANG model hierarchy for FlexE

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

   Configuration management of FlexE groups include:

   - flexe-groups specifies management configuration of all FlexE
   groups, and flexe-phys further specifies management configuration of
   a list of PHYs in a specific Flex Group.

   Configuration management of a FlexE client include:

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

   A simplified YANG tree diagram [RFC8340] representing the data model
   is typically used by YANG modules. This document uses the same tree
   diagram syntax as described in [RFC8340].

Wang, et al               Expires January 8, 2022        [Page 3]
Internet-Draft           FlexE Management YANG Model      July 2021

   A tree diagram of the module is depicted as the following:

   module: ietf-flexe-cm
      +--rw flexe
         +--rw flexe-groups
            +--rw flexe-group* [group-index]
               +--rw index              uint32
               +--rw group-num?         uint32
               +--rw negotiation-mode?  negotiation-mode-type
               +--ro total-bandwidth?   string
               +--ro free-bandwidth?    string
               +--ro sync-phy-number    uint32
               +--rw flexe-phys
                 +--rw flexe-phy-list* [port-name]
                     +--rw port-name        if:interface-ref
                     +--rw phy-number?      uint32
                     +--ro free-timeslot-list? string
                     +--ro used-timeslot-list? string

     augment /if:interfaces/if:interface:
        +--rw flexe-client
           +--rw client-index?        uint32
           +--rw group-index?         leafref
           +--rw client-num?          uint32
           +--rw timeslot-lists
              +--rw timeslot-list*    [port-name]
                 +--rw port-name?     if:interface-ref
                 +--rw time-slot?     string

Wang, et al               Expires January 8, 2022        [Page 4]
Internet-Draft           FlexE Management YANG Model      July 2021

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-cm@2021-06-18.yang"
   module ietf-flexe-cm {
     yang-version 1.1;
     namespace "urn:ietf:params:xml:ns:yang:ietf-flexe-cm";
     prefix "flexe-cm";

     import iana-if-type {
       prefix ianaift;
     }
     import ietf-interfaces {
       prefix if;
       reference
       "RFC8343: A YANG Data Model for Interface Management";
     }

     organization "IETF CCAMP Working Group";
     contact
      "WG Web:   http://tools.ietf.org/wg/ccamp/
       WG List:  <mailto:ccamp@ietf.org>
       Author:   Minxue Wang
                 <mailto: wangminxue@chinamobile.com>
       Author:   Liuyan Han
                 <mailto: hanliuyan@chinamobile.com>
       Author:   Yuanlong Jiang
                 <mailto:jiangyuanlong@huawei.com>";
     description
      "This YANG module defines a data model for the configuration
       of a FlexE network and its clients.";

     revision "2021-06-18" {
       description "Initial version";
       reference
       "draft-wang-ccamp-flexe-yang-cm-00: YANG Data Model for FlexE
        Management";
     }

     typedef negotiation-mode-type {
       type enumeration {
         enum "dynamic" {
           value 1;

Wang, et al               Expires January 8, 2022        [Page 5]
Internet-Draft           FlexE Management YANG Model      July 2021

           description
             "Dynamic mode.";
         }
         enum "static" {
           value 2;
           description
             "Static mode.";
         }
       }
       description
         "Negotiation mode of a FlexE group.";
     }

     container flexe {
       description
         "Specify FlexE configuration information.";
       container flexe-groups {
         description
           "List of FlexE groups.";
         list flexe-group {
           key "index";
           description
             "Configure FlexE group.";
           leaf index {
             type uint32 {
               range "1..65535";
             }
             description
               "FlexE group index.";
           }
           leaf group-num {
             type uint32 {
               range "1..1048574";
             }
             description
               "FlexE group number, as specified in OIF FlexE 2.1.";
           }
           leaf negotiation-mode {
             type negotiation-mode-type;
             default "dynamic";
             description
               "FlexE group calendar negotiation mode.";
           }
           leaf total-bandwidth {
             type string {
               length "1..9";
             }

Wang, et al               Expires January 8, 2022        [Page 6]
Internet-Draft           FlexE Management YANG Model      July 2021

             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
               "Current FlexE PHY number used for synchronization.";
           }
           container flexe-phys {
             description
               "List of physical port information in a FlexE Group.";
             list flexe-phy {
               key "port-name";
               description
                 "FlexE PHY port name.";
               leaf port-name {
                 type if:interface-ref;
                 description
                   "Physical port name. ";
               }
               leaf flexe-phy-number {
                 type uint32 {
                   range "1..254";
                 }
                 description
                   "Number of a FlexE physical port. The PHY number of
                 a 100G port is an integer ranging from 1 to 254.
                 The PHY number of a 50G port is an integer ranging
                 from 1 to 126.";
               }
               leaf free-timeslot-list {
                 type string {
                   length "1..199";
                 }
                 config false;

Wang, et al               Expires January 8, 2022        [Page 7]
Internet-Draft           FlexE Management YANG Model      July 2021

                 description
                   "Free timeslots.";
               }
               leaf used-timeslot-list {
                 type string {
                   length "1..199";
                 }
                 config false;
                 description
                   "Timeslots that have been used.";
               }
             }
           }
         }
       }
     }

     augment "/if:interfaces/if:interface" {
       when "if:type = 'ianaift:flexEclient'" {
         description "Applies to FlexE client interfaces";
       }

       description
         "Augment interface model with FlexE client interface specific
         configuration nodes. Each flexEclient interface represents a
         FlexE Client configured in a device.";

       container flexe-client {
         description
           "FlexE client.";
         leaf client-index {
           type uint32 {
             range "1..65535";
           }
           description
             "FlexE client index.";
         }
         leaf group-index {
           type leafref {
           path "/flexe-cm:flexe/flexe-cm:flexe-groups/flexe-cm:flexe-group"
            + "/flexe-cm:index";
           }
           description
             "FlexE group index configured for a client.";
         }
         leaf client-num {
           type uint32 {

Wang, et al               Expires January 8, 2022        [Page 8]
Internet-Draft           FlexE Management YANG Model      July 2021

             range "1..65534";
           }
           description
             "FlexE Client number.";
         }
         container timeslot-lists {
           description
             "List of binding timeslots.";
           list timeslot-list {
             key "port-name";
             description
               "Configure binding timeslots.";
             leaf port-name {
               type if:interface-ref;
               description
                 "FlexE physical port name.";
             }
             leaf time-slot {
               type string {
                 length "1..199";
               }
               description
                 "Set timeslot. The string consists of one or more
               numbers separated by commas (,) or hyphens (-).";
             }
           }
         }
       }
     }
   }
   <CODE ENDS>

4. Security Considerations

   TBD.

Wang, et al               Expires January 8, 2022        [Page 9]
Internet-Draft           FlexE Management YANG Model      July 2021

5. IANA Considerations

   TBD.

6. References

6.1. Normative References

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

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

   [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

6.2. Informative References

   [FLEXE]   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

7. Acknowledgments

   TBD.

Wang, et al               Expires January 8, 2022       [Page 10]
Internet-Draft           FlexE Management YANG Model      July 2021

   Authors' Addresses

   Minxue Wang
   China Mobile
   No.32 Xuanwumen West Street
   Beijing 100053, China
   Email: wangminxue@chinamobile.com

   Liuyan Han
   China Mobile
   No.32 Xuanwumen West Street
   Beijing 100053, China
   Email: hanliuyan@chinamobile.com

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

Wang, et al               Expires January 8, 2022       [Page 11]