< draft-wang-ccamp-flexe-control-analysis-01.txt   draft-wang-ccamp-flexe-control-analysis-02.txt >
Internet Engineering Task Force Q. Wang, Ed. Internet Engineering Task Force Q. Wang, Ed.
Internet-Draft X. Niu, Ed. Internet-Draft X. Niu, Ed.
Intended status: Informational ZTE Corporation Intended status: Informational ZTE Corporation
Expires: November 23, 2019 Y. Xu Expires: January 9, 2020 Y. Xu
CAICT CAICT
May 22, 2019 July 8, 2019
Analysis for FlexE control Analysis for FlexE control
draft-wang-ccamp-flexe-control-analysis-01 draft-wang-ccamp-flexe-control-analysis-02
Abstract Abstract
This document gives some analysis about the control of FlexE. This document gives some analysis about the control of FlexE.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 23, 2019. This Internet-Draft will expire on January 9, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 19 skipping to change at page 2, line 19
2.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 3
3. Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1. General Introduction of FlexE . . . . . . . . . . . . . . 3 3.1. General Introduction of FlexE . . . . . . . . . . . . . . 3
3.1.1. FlexE Group . . . . . . . . . . . . . . . . . . . . . 3 3.1.1. FlexE Group . . . . . . . . . . . . . . . . . . . . . 3
3.1.2. FlexE Client . . . . . . . . . . . . . . . . . . . . 4 3.1.2. FlexE Client . . . . . . . . . . . . . . . . . . . . 4
3.1.3. Adaptation function between FlexE Client and FlexE 3.1.3. Adaptation function between FlexE Client and FlexE
Group . . . . . . . . . . . . . . . . . . . . . . . . 4 Group . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.4. MAC Frame . . . . . . . . . . . . . . . . . . . . . . 5 3.1.4. MAC Frame . . . . . . . . . . . . . . . . . . . . . . 5
3.1.5. Adaptation between MAC frames and FlexE Client . . . 5 3.1.5. Adaptation between MAC frames and FlexE Client . . . 5
3.2. General requirements . . . . . . . . . . . . . . . . . . 5 3.2. General requirements . . . . . . . . . . . . . . . . . . 5
3.2.1. Configuration Mode . . . . . . . . . . . . . . . . . 5 3.2.1. Configuration Mode for FlexE client . . . . . . . . . 6
3.2.2. Configuration of FlexE group . . . . . . . . . . . . 6 3.2.2. Configuration of FlexE group . . . . . . . . . . . . 6
3.2.3. Allocate Resources for Client MAC flows . . . . . . . 6 3.2.3. Allocate Resources for FlexE Client . . . . . . . . . 7
3.3. Control Requirements Derived . . . . . . . . . . . . . . 7 3.3. Control Requirements Derived . . . . . . . . . . . . . . 7
4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
8.1. Normative References . . . . . . . . . . . . . . . . . . 8 8.1. Normative References . . . . . . . . . . . . . . . . . . 8
8.2. Informative References . . . . . . . . . . . . . . . . . 9 8.2. Informative References . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
skipping to change at page 2, line 43 skipping to change at page 2, line 43
OIF published the first version of FlexE Implementation Agreement in OIF published the first version of FlexE Implementation Agreement in
March 2016, aiming to provide a generic mechanism for supporting a March 2016, aiming to provide a generic mechanism for supporting a
variety of Ethernet MAC rates that may or may not correspond to any variety of Ethernet MAC rates that may or may not correspond to any
existing Ethernet PHY rate. SG15 in ITU-T has endorsed the OIF FlexE existing Ethernet PHY rate. SG15 in ITU-T has endorsed the OIF FlexE
data plane and parts of [ITU-T G.872], [ITU-T G.709], [ITU-T G.798] data plane and parts of [ITU-T G.872], [ITU-T G.709], [ITU-T G.798]
and [ITU-T G.8023]. The Recommendations depend on or are based on and [ITU-T G.8023]. The Recommendations depend on or are based on
the FlexE data plane. the FlexE data plane.
This draft is intended to trigger discussion of the FlexE control This draft is intended to trigger discussion of the FlexE control
architecture according to the analysis in section 2. What kind of requirements, which can be found in section 2. What kind of model
model should we employed when configuring FlexE capable equipments, should we employed when configuring FlexE capable equipments, how to
how to configure the FlexE group and FlexE client, and what kind of configure the FlexE group and FlexE client, and what kind of
parameters do we need to take into consideration when configuring parameters do we need to take into consideration when configuring
FlexE group and FlexE client. The analysis is based on the FlexE group and FlexE client. The analysis is based on the
description in section 7 and 8 of [ITU-T G.8023], which is about description in section 7 and 8 of [ITU-T G.8023] and FlexE IA 2.0.
"Characteristics of equipment functional blocks supporting Flex
Ethernet interfaces".
2. Terminology 2. Terminology
2.1. Requirements Language 2.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
3. Analysis 3. Analysis
skipping to change at page 3, line 42 skipping to change at page 3, line 42
PHYs in the group must operate at the same rate. PHYs in the group must operate at the same rate.
FlexE group is consisted of a number of FlexE instances, and each FlexE group is consisted of a number of FlexE instances, and each
instance is consisted of 66B blocks stream. Section monitoring instance is consisted of 66B blocks stream. Section monitoring
overhead is added/extracted as one 66B block at the FlexE group overhead is added/extracted as one 66B block at the FlexE group
source and destination (i.e., trail termination) to determine the source and destination (i.e., trail termination) to determine the
status of the FlexE group (i.e., FlexE trail in ITU-T terminology). status of the FlexE group (i.e., FlexE trail in ITU-T terminology).
Currently, only RPF (Remote PHY Fault) indication is used to report Currently, only RPF (Remote PHY Fault) indication is used to report
the state of FlexE group. the state of FlexE group.
One FlexE group exists between two FlexE shim, there is no slot The FlexE group exists between two FlexE shim, there is no slot
switching defined in FlexE. In addition, only one fault indication switching defined in FlexE. Only one fault indication is defined,
is defined, there is no other OAM function developed yet. Based on there is no other OAM function developed yet. Based on these
these analysis, we should be able to understand that FlexE is just an analysis, we should be able to understand that FlexE is just an
interface technology, and once a FlexE group is configured, it only interface technology, and once a FlexE group is configured, it only
functions as one Ethernet link, similar to Ethernet PHY. functions as one Ethernet link, similar to Ethernet PHY.
3.1.2. FlexE Client 3.1.2. FlexE Client
A FlexE Client is an Ethernet flow based on a MAC data rate that may A FlexE Client is an Ethernet flow based on a MAC data rate that may
or may not correspond to any Ethernet PHY rate. The FlexE Client MAC or may not correspond to any Ethernet PHY rate. The FlexE Client MAC
rates supported by a FlexE Groups could be 10Gb/s, 40Gb/s, or m*25Gb/ rates supported by a FlexE Groups could be 10Gb/s, 40Gb/s, or m*25Gb/
s. The FlexE Client MAC rates supported by FlexE Groups may support s. The FlexE Client MAC rates supported by FlexE Groups may support
all, or only a subset of these FlexE Client rates. Each FlexE Client all, or only a subset of these FlexE Client rates. Each FlexE Client
is presented to the FlexE Shim as a 64B/66B encoded bit stream is presented to the FlexE Shim as a 64B/66B encoded bit stream
according to clause 82 of [IEEE 802.3]. FlexE clients have the according to clause 82 of [IEEE 802.3]. FlexE clients have the
semantics of an Ethernet PHY. There is no new layer network. Both semantics of an Ethernet PHY. There is no new layer network. Both
FlexE group and FlexE client are processed at Ethernet PHY layer. FlexE group and FlexE client are processed at Ethernet PHY layer.
From the network management perspective, the FlexE client is able to From the network management perspective, the FlexE client can be
see the calendar slots information. The FlexE client could be created and the calendar slots information of one FlexE group can be
generated internally within a system, or created from a traditional allocated to one FlexE client. The FlexE client could be generated
Ethernet PHY. What kind of FlexE clients will be created depends on internally within a system, or created from a traditional Ethernet
the operator's needs. PHY. What kind of FlexE clients will be created depends on the
operator's needs.
According to the description in clause 8.1 of [ITU-T G.8023], there According to the description in clause 8.1 of [ITU-T G.8023], there
is no overhead defined for monitoring a FlexE client, so the trail is no overhead defined for monitoring a FlexE client, so the trail
for FlexE client in the equipment does not exist. The FlexE client for FlexE client in the equipment does not exist. The FlexE client
trail termination function is a null function. Therefore, modelling trail termination function is a null function. Therefore, modelling
FlexE client as a network layer is not correct. FlexE client as a network layer is not correct.
3.1.3. Adaptation function between FlexE Client and FlexE Group 3.1.3. Adaptation function between FlexE Client and FlexE Group
In order to distribute the FlexE client over PHYs of one FlexE group, In order to distribute the FlexE client over PHYs of one FlexE group,
skipping to change at page 5, line 15 skipping to change at page 5, line 16
scope of 100G PHY. scope of 100G PHY.
The built-in function multiplexer performs the action of assigning The built-in function multiplexer performs the action of assigning
the individual FlexE Client to specific calendar slots of the FlexE the individual FlexE Client to specific calendar slots of the FlexE
group according to the input management information. group according to the input management information.
At the destination side, the Demultiplexer function could use At the destination side, the Demultiplexer function could use
activate the FlexE Client and assigns the calendar slots of the FlexE activate the FlexE Client and assigns the calendar slots of the FlexE
group payload area to the individual FlexE client accordng to group payload area to the individual FlexE client accordng to
external configuration or the client calendar information carried in external configuration or the client calendar information carried in
the overhead. the overhead. Expected group ID, PHYMAP and calendar allocation
information are needed sometimes to help verify the correctness of
FlexE configuration.
3.1.4. MAC Frame 3.1.4. MAC Frame
Defined in IEEE. Defined in IEEE.
3.1.5. Adaptation between MAC frames and FlexE Client 3.1.5. Adaptation between MAC frames and FlexE Client
It can be seen from the Figure 8-6 of [ITU-T G.8023] that the The external management information commands used as input to the
external management information commands used as input to the adaptation function are defined by [IEEE 802.3], according to the
adaptation function are defined by [IEEE 802.3]. The [IEEE 802.3] description in [ITU-T G.8023]. The [IEEE 802.3] process mainly
process mainly includes the 64B/66B encoding, as well as MAC frame includes the 64B/66B encoding, as well as MAC frame check sequence
check sequence generation and frame counting. The FlexE client generation and frame counting. The FlexE client stream is generated
stream is generated at the determined FlexE Client MAC rate and at the determined FlexE Client MAC rate and 64B/66B encoded.
64B/66B encoded.
3.2. General requirements 3.2. General requirements
It can be inferred from section 2.1.2 and section 2.1.5 that process It can be inferred from section 2.1.2 and section 2.1.5 that process
involved when producing the FlexE Client from MAC frames is 64b/66b involved when producing the FlexE Client from MAC frames is 64b/66b
encoding, and this encoding has already been defined by [IEEE 802.3]. encoding, and this encoding has already been defined by [IEEE 802.3],
as no extra overhead is added during this process. Therefore, no extra overhead is added during this process. Therefore,
configuration for mapping MAC frames into FlexE client from external configuration for mapping MAC frames into FlexE client from external
management system is not needed. Based on the above analysis, two management system is not needed.
high-level requirements for control/management of FlexE are
considered in this draft. Based on the above analysis, two high-level requirements for control/
management of FlexE are considered in this draft.
Configuration mode
Configuration of FlexE group Configuration of FlexE group
Allocation of one or more FlexE group calendar slot resources to a Creation of FlexE client and allocation of one or more FlexE group
client MAC flow. calendar slot resources to a FlexE client.
3.2.1. Configuration Mode 3.2.1. Configuration Mode for FlexE client
There are two different configuration modes for bring one FlexE link There are two different configuration modes for bring one FlexE
into service. The first one is static model, which is to use client into service. The first one is static model, which is to use
external management system to configure the source and destination external management system to configure the FlexE client and
FlexE shims. There is no need for the FlexE source and destination resources allocated for the FlexE client at source and destination
to coordinate through the FlexE overhead as all the configuration FlexE shims. In this case, the CR/CA mechanism does not work.
work mentioned above is finished by the external management system. Verification of configuration consistensy at FlexE source and
In this case, the CR/CA mechanism does not work; the other one is destination site by comparing the inband FlexE overhead with the
configuration at FlexE destination are needed; The other one is
MASTER/SLAVE mode, which is to use the FlexE overhead to coordinate MASTER/SLAVE mode, which is to use the FlexE overhead to coordinate
the resource configuration between FlexE source and destination, the the resource configuration between FlexE source and destination, the
external resource configuration information is only sent the source external resource configuration information is only sent the source
node. node.
3.2.2. Configuration of FlexE group 3.2.2. Configuration of FlexE group
It can be concluded from the above analysis that external It can be concluded from the above analysis that external
configuration tools should be involved to bring one FlexE group into configuration tools should be involved to bring one FlexE group into
service. The initial configuration commands could be from external service. The initial configuration commands could be from external
management system, SDN controller etc. management system, SDN controller etc.
A FlexE group must be configured first before any client signals are A FlexE group must be configured first before any client signals are
carried over it. When a new FlexE Group is brought into service, the carried over it. When a new FlexE Group is brought into service, the
initial configuration must be provisioned for both ends, and the initial configuration must be provisioned for both ends, and the
initial configuration must be the same. The group is configured to initial configuration must be the same for both direction. The group
be consist of from 1 to n 100G FlexE Instances carried over from 1 to is configured to be consist of from 1 to n 100G FlexE Instances
m PHYs of the same rate (100GBASE-R, 200GBASE-R, or 400GBASE-R). A carried over from 1 to m PHYs of the same rate (100GBASE-R, 200GBASE-
PHY number may correspond to the physical port ordering on equipment, R, or 400GBASE-R). A PHY number may correspond to the physical port
but the FlexE Shim at each end of the group must identify each PHY in ordering on equipment, but the FlexE Shim at each end of the group
the group using the same PHY number, and each 100G FlexE Instance must identify each PHY in the group using the same PHY number, and
with the same 100G FlexE Instance number. In certain cases, it may each 100G FlexE Instance with the same 100G FlexE Instance number.
be desirable not to populate all 100G FlexE instances on a 200G or In certain cases, it may be desirable not to populate all 100G FlexE
400G PHY, and these so-called unequipped FlexE instance should also instances on a 200G or 400G PHY, and these so-called unequipped FlexE
be configured. Unequipped instances must always be the highest instance should also be configured. Unequipped instances must always
numbered instance(s) on a PHY of the FlexE Group, and there must be the highest numbered instance(s) on a PHY of the FlexE Group, and
always be at least one equipped 100G FlexE Instance on every PHY. there must always be at least one equipped 100G FlexE Instance on
every PHY.
If aware case is needed to be considered, unavailable slot If aware case is needed to be considered, unavailable slot
information should be configured at FlexE aware node to discard information should be configured at FlexE aware node to discard
unavailable slot first, so as to put the rest of available slots onto unavailable slot first, so as to put the rest of available slots onto
the lower rate physical port. the lower rate physical port.
3.2.3. Allocate Resources for Client MAC flows 3.2.3. Allocate Resources for FlexE Client
The FlexE client MAC flows are encapsulated in one or more FlexE The FlexE client MAC flows are encapsulated in one or more FlexE
calendar slots. calendar slots.
According to the analysis in section 3.2.1, there are two different According to the analysis in section 3.2.1, there are two different
configuration modes. For the first one, static mode, the FlexE group configuration modes. For the first one, static mode, after the FlexE
bonding information and resource allocation information are sent both group is configured, the FlexE client resource allocation information
to FlexE souce and destination to help enable the FlexE link. are sent both to FlexE souce and destination to help create the FlexE
Information sent is described in section 3.3.1, 3.3.2 and 3.3.3, client. A number of expected configuration parameters are sent to
which can also be found in [draft-xiaobn-ccamp-flexe-yang-mod]. A FlexE destination to help verify the correctness of configuration at
FlexE group and a number of FlexE clients are created according to both sides. Information sent can be found in [draft-xiaobn-ccamp-
the configuration information. For the Master/slave mode, the FlexE flexe-yang-mod]. For the Master/slave mode, the FlexE client
group bonding information and resource allocation information are resource allocation information are only sent to the FlexE source
only sent to the FlexE source site. The FlexE source site first site. The FlexE source site first create the FlexE clients, and then
create the corresponding FlexE group and FlexE clients, and then the the built-in multiplexer at the FlexE source site allocates the
built-in multiplexer at the FlexE source site allocates the calendar calendar slots to a specific FlexE client according to the input from
slots to a specific FlexE client according to the input from external external management system, and insert these configuration
management system, and insert these configuration information into information into the FlexE overhead. When these overheads arrives at
the FlexE overhead. When these overheads arrives at the destination the destination site, the demultiplexer function at the destination
site, the demultiplexer function at the destination site extracts site extracts FlexE overhead first and get the information of
FlexE overhead first and get the information of calendar slot calendar slot allocation information. Based on these information,
allocation information. Based on these information, the FlexE the FlexE destination site finish the configuration of FlexE clients.
destination site finish the configuration of FlexE group and FlexE In order to verify the correctness of the resource configuration, the
clients. In order to verify the correctness of the resource expected FlexE group ID, PHY number and instance number information,
configuration, the expected FlexE group ID, PHY number and instance FlexE client number and slot allocation information for a specific
number information, FlexE client number and slot allocation FlexE client should also be configured to FlexE destination site.
information for a specific FlexE client should also be configured to
FlexE destination site.
The FlexE client port is an internal port which only perform the The FlexE client port is an internal port which only perform the
function of encapsulating upper layer packets into MAC frames, function of encapsulating upper layer packets into MAC frames,
64b/66b encoding. The bandwidth capability of these internal ports 64b/66b encoding. The bandwidth capability of these internal ports
should be known by external management/control tools in order to be should be known by external management/control tools in order to be
used by the upper layer (e.g., MPLS-TP) flow correctly. used by the upper layer (e.g., MPLS-TP) flow correctly.
3.3. Control Requirements Derived 3.3. Control Requirements Derived
a. Using external control/management system to configure FlexE a. Using external control/management system to configure FlexE
group, which may include the configuration of group number, PHY group, which may include the configuration of group number, PHY
number and instance number, as well as correlation between number and instance number, as well as correlation between
logical PHY number and physical port number. logical PHY number and physical port number. A number of
expected configuration parameters are also needed to help verify
the consisten between FlexE source and destination.
b. Using eternal control/management system to configure the FlexE b. Using eternal control/management system to create the FlexE
client, which include the FlexE client number, FlexE client type client, which include the FlexE client number, FlexE client type
and slots allocation information. and slots allocation information. Different configuration mode
for FlexE client are needed.
c. External control command could be provide to trigger the switch c. External control command could be provide to trigger the switch
of calendar slots. of calendar slots.
d. Interworking between 5G slot granularity capable node and 25G d. Interworking between 5G slot granularity capable node and 25G
slot granularity node. slot granularity node.
e. Configuration of unequipped instance, unavailable slots, which e. Configuration of unequipped instance, unavailable slots, which
include the number of unequipped instance and number of include the number of unequipped instance and number of
unavailable slots on each instances unavailable slots on each instances
 End of changes. 23 change blocks. 
83 lines changed or deleted 89 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/