<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
    which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
    There has to be one entity for each item to be referenced. 
    An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC2119 SYSTEM                     "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY RFC5226 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml">]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
    please see http://xml.resource.org/authoring/README.html. -->
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<rfc category="info" docName="draft-izh-ccamp-flexe-fwk-00" ipr="trust200902">
    <!-- ***** FRONT MATTER ***** -->
    <front>
        <title abbrev="FlexE Extensions">GMPLS Routing and Signaling Framework for Flexible Ethernet (FlexE)        </title>
        <author fullname="Iftekhar Hussain" initials="I." surname="Hussain" role="editor">
            <organization>Infinera Corp</organization>
            <address>
                <postal>
                    <street> 169 Java Drive</street>
                    <city>Sunnyvale</city>
                    <region>CA</region>
                    <code>94089</code>
                    <country>USA</country>
                </postal>
                <phone></phone>
                <email>IHussain@infinera.com</email>
            </address>
        </author>
        <author fullname="Radha Valiveti" initials="R.S." surname="Valiveti">
            <organization>Infinera Corp</organization>
            <address>
                <postal>
                    <street> 169 Java Drive</street>
                    <city>Sunnyvale</city>
                    <region>CA</region>
                    <code>94089</code>
                    <country>USA</country>
                </postal>
                <phone></phone>
                <email>rvaliveti@infinera.com</email>
            </address>
        </author>
        <author fullname="Khuzema Pithewan" initials="K." surname="Pithewan">
            <organization>Infinera Corp</organization>
            <address>
                <postal>
                    <street> 169 Java Drive</street>
                    <city>Sunnyvale</city>
                    <region>CA</region>
                    <code>94089</code>
                    <country>USA</country>
                </postal>
                <phone></phone>
                <email>kpithewan@infinera.com</email>
            </address>
        </author>
        <author fullname="Qilei Wang" initials="Q." surname="Wang" role="editor">
            <organization>ZTE</organization>
            <address>
                <postal>
                    <street></street>
                    <city>Nanjing</city>
                    <region></region>
                    <code></code>
                    <country>CN</country>
                </postal>
                <phone></phone>
                <email>wang.qilei@zte.com.cn</email>
            </address>
        </author>
        <author fullname="Loa Andersson" initials="L." surname="Andersson" role="editor">
            <organization>Huawei</organization>
            <address>
                <postal>
                    <street></street>
                    <city>Stockholm</city>
                    <region></region>
                    <code></code>
                    <country>Sweden</country>
                </postal>
                <phone></phone>
                <email>loa@pi.nu</email>
            </address>
        </author>
        <author fullname="Fatai Zhang" initials="F." surname="Zhang">
            <organization>Huawei</organization>
            <address>
                <postal>
                    <street></street>
                    <city></city>
                    <region></region>
                    <code></code>
                    <country>CN</country>
                </postal>
                <phone></phone>
                <email>zhangfatai@huawei.com</email>
            </address>
        </author>
        <author fullname="Mach Chen" initials="M." surname="Chen">
            <organization>Huawei</organization>
            <address>
                <postal>
                    <street></street>
                    <city></city>
                    <region></region>
                    <code></code>
                    <country>CN</country>
                </postal>
                <phone></phone>
                <email>mach.chen@huawei.com</email>
            </address>
        </author>
        <author fullname="Jie Dong" initials="J." surname="Dong">
            <organization>Huawei</organization>
            <address>
                <postal>
                    <street></street>
                    <city></city>
                    <region></region>
                    <code></code>
                    <country>CN</country>
                </postal>
                <phone></phone>
                <email>jie.dong@huawei.com</email>
            </address>
        </author>
        <author fullname="Zongpeng Du" initials="Z." surname="Du">
            <organization>Huawei</organization>
            <address>
                <postal>
                    <street></street>
                    <city></city>
                    <region></region>
                    <code></code>
                    <country>CN</country>
                </postal>
                <phone></phone>
                <email>duzongpeng@huawei.com</email>
            </address>
        </author>
        <author fullname="Zheng Haomian" initials="Z." surname="Haomian">
            <organization>Huawei</organization>
            <address>
                <postal>
                    <street></street>
                    <city></city>
                    <region></region>
                    <code></code>
                    <country>CN</country>
                </postal>
                <phone></phone>
                <email>zhenghaomian@huawei.com</email>
            </address>
        </author>
		     <author fullname="Xian Zhang" initials="X." surname="Zhang">
            <organization>Huawei</organization>
            <address>
                <postal>
                    <street></street>
                    <city></city>
                    <region></region>
                    <code></code>
                    <country>CN</country>
                </postal>
                <phone></phone>
                <email>zhang.xian@huawei.com</email>
            </address>
        </author>
		     <author fullname="James Huang" initials="J." surname="Huang">
            <organization>Huawei</organization>
            <address>
                <postal>
                    <street></street>
                    <city></city>
                    <region></region>
                    <code></code>
                    <country>CN</country>
                </postal>
                <phone></phone>
                <email>james.huang@huawei.com</email>
            </address>
        </author>
		     <author fullname="Qiwen Zhong " initials="Q." surname="Zhong">
            <organization>Huawei</organization>
            <address>
                <postal>
                    <street></street>
                    <city></city>
                    <region></region>
                    <code></code>
                    <country>CN</country>
                </postal>
                <phone></phone>
                <email>zhongqiwen@huawei.com</email>
            </address>
        </author>
        <date month="October" year="2016"/>
        <!-- Meta-data Declarations -->
        <area>General</area>
        <workgroup>Internet Engineering Task Force</workgroup>
        <keyword>template</keyword>
        <abstract>
            <t>Traditionally, Ethernet MAC rates were constrained to match the rates of the Ethernet PHY(s). OIF's implementation agreement 
                <xref target="OIFMLG3"></xref> was  the first step in allowing MAC rates to be different than the PHY rates. OIF has recently approved another implementation agreement <xref target="OIFFLEXE1"></xref> 
				which allows complete decoupling of the MAC data rates and the Ethernet PHY(s) that support them. This includes support for (a) MAC rates which are greater than the rate of a single PHY (satisfied by bonding of multiple PHY(s)), (b) MAC rates which are less than the rate of a PHY (sub-rate), (c) support of multiple FlexE client signals carried over a single PHY, or over a collection of bonded PHY(s). The FlexE SHIM functions which bond multipe Ethernet PHY(s) to form a large "pipe" view the connectivity between two FlexE aware devices as a collection of multiple point-to-point links (one link per Ethernet PHY). These logical point-to-point links can either be direct links (without an intervening transport network), or realized via a Optical transport network. This draft catalogs the usecases that capture the FlexE deployment scenarios -- including the cases that include/exclude OTNs.             
            </t>
        </abstract>
    </front>
    <middle>
        <section title="Introduction" anchor="section-introduction">
            <t>             Traditionally, Ethernet MAC rates were constrained to match the rates of the Ethernet PHY(s). OIF's implementation agreement 
                <xref target="OIFMLG3"></xref> was the first step in allowing MAC rates to be different than the PHY rates standardized by IEEE. OIF has recently approved another implementation agreement 
                <xref target="OIFFLEXE1"></xref> which allows complete decoupling of the MAC data rates and the Ethernet PHY(s) that support them. This includes support for (a) MAC rates which are greater than the rate  of a single PHY (satisfied by bonding of multiple PHY(s)), (b) MAC rates which are less than the rate of a PHY (sub-rate), (c) support of multiple FlexE client signals carried over a single PHY, or over a collection of bonded PHY(s). The capabilities supported by the OIF FlexE implementation agreement version 1.0 are:
            </t>
            <t>
                <list style="letters">
                    <t> Support a large rate Ethernet MAC over bonded Ethernet PHYs, e.g. supporting a 200G MAC over 2 bonded 100GBASE-R PHY(s) </t>
                    <t> Support a sub-rate Ethernet MAC over a single Ethernet PHY, e.g. supportnig a 50G MAC over a 100GBASE-R PHY</t>
                    <t> Support a collection of flexible Ethernet clients over a single Ethernet PHY, e.g. supporting two MACs with the rates 25G, 50G over a single 100GBASE-R PHY</t>
                    <t> Support a sub-rate Ethernet MAC over bonded PHYs, e.g. supporting a 150G Ethernet client over 2 bonded 100GBASE-R PHY(s)</t>
                    <t> Support a collection of Ethernet MAC clients over bonded Ethernet PHYs, e.g. supporting a 50G, and 150G MAC over 2 bonded Ethernet PHY(s)</t>
                </list>
            </t>
            <t> All networks which support the bonding of Ehernet interfaces (as per <xref target="OIFFLEXE1"></xref>) include a basic building block -- which consists of two FlexE SHIM functions (located at opposite ends of a link) and the (logical) point to point links that carry the Ethernet PHY signals between the two FlexE SHIM Functions. These logical point-to-point PHY links can be realized in a variety of ways:
			    <list style="letters">
					<t> These are direct point-to-point links with no intervening transport network.</t>
					<t> The Ethernet PHY(s) are transparently transported via an Optical Transport Network. 
					Optical Transport Networks (defined by <xref target="G709"></xref> and  <xref target="G798"></xref>) 
					have recently expanded the traditional bit (or  codeword) transparent transport of Ethernet client signals, and included support for the usecases identified in the OIF FLexE implementation agreement.  </t> 
					<t> Realized by tunneling the Ethernet PHY(s) over some other type of network (e.g. IP/MPLS). Thus, for example, the Ethernet PHY(s) signals could be carried over a pseudowire (or a LSP)in the IP/MPLS network. Note that the OIF implementation agreement <xref target="OIFFLEXE1"></xref>  only includes support for 100G Ethernet PHY(s). As a result of this encapsulation into a PW, the bandwidth of the PW will be much larger than the bit rate of the Ethernet PHY (i.e. 100G), and such a pseudowire cannot be transported in networks that only include 100G Ethernet links. This scenario is realizable when (a) higher rate Ethernet PHY(s), e.g. 200G/40G are supported) or (b) OIF extends the FlexE groups to include lower rate Ethernet PHY(s), e.g. at the 25G/50G rate. Further study is needed to ensure that these scenarios are realizable, practical, and beneficial to operators. With this in mind, the current draft doesn't include any coverage for this scenario. </t>
                </list>				
				Internet-draft examines the usescases that arise when the logical links between FlexE capable devices are (a) point-to-point links without any intervening network (b) realized via Optical transport networks. This draft considers the variants in which fhe two peer FlexE devices are both customer-edge devices, or customer-edge/provider edge devices. This list of usecases will help identify the Control Plane (i.e. Routing and Signaling) extensions that may be required).
            </t>
            <section title="Requirements Language">
                <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",                    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this                    document are to be interpreted as described in 
                    <xref target="RFC2119">RFC 2119</xref>.
                </t>
            </section>
        </section>
        <section title="Terminology">
            <t>
                <list style="letters">
                    <t>Ethernet PHY: an entity representing 100G-R Physical Coding Sublayer (PCS), Physical Media Attachment (PMA), and Physical Media Dependent (PMD) layers. </t>
                    <t>FlexE Group: A FlexE Group is composed of from 1 to n 100GBASE-R Ethernet PHYs. Each PHY is identified by a number in the range [1-254].</t>
                    <t>FlexE Client: an Ethernet flow based on a MAC data rate that may or may not correspond to any Ethernet PHY rate (e.g., 10, 40, m x 25 Gb/s). </t>
                    <t>FlexE Shim: the layer that maps or demaps the FlexE clients carried over a FlexE group. </t>
                    <t>FlexE Calendar: The total capacity of a FlexE group is represented as a collection of slots which have a granularty of 5G. 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. Each FlexE client is mapped into one or more calendar slots (based on the bandwidth of the FlexE client).  </t>
                </list>
            </t>
        </section>
        <?rfc needLines="8" ?>
        <section title="Usecases">
            <section title="FlexE unware transport" anchor="section-flexe-unaware">
                <t> The FlexE shim layer in a router maps the FlexE client(s) over the FlexE group. The transport network is unware of the FlexE. Each of the FlexE group PHY is carried independently across the transport network over the same fiber route. The FlexE shim in the router tolerates end-to-end skew across the network. In this usecase, the router makes flexible use of the  full capacity of the FlexE group, and depends on legacy transport equipment to realize PCS-codeword-transparent transport of 100GbE. It allows striping of PHYs in the FlexE group over multiple line cards in the transport equipment. It is worth mentioning that in this case, the FlexE SHIM layer is terminated at the routers, and the coordination of operations related to FlexE clients, e.g. creating new FlexE clients, deleting existing FlexE clients, and resizing the bandwidth of existing FlexE clients (if desired) happens between the two routers. Note that the transport network is completely transparent to the FlexE signals, and doesn't participate in any FlexE protocols.</t>
                <figure title = "FlexE unaware transport" align="center" anchor="fig_flex_unaware">
                    <preamble>==================================================================</preamble>
                    <artwork align="center">
                        <![CDATA[
    +                            FlexE Ethernet Client(s)       +
    +-----------------------------------------------------------+
    +                                                           +
                     + FlexE skew tolerance
                     +----------------------------------------+
                     +  for end-to-distance                   +

+-----------+ 2x100GE +---------+   +----------+     +------------+
|           |         |         |   |          |     |            |
| Router1   |         |         |   |          |     |            |
|FlexE Shim +---------+ A-end   |   |  Z-end   +-----+Router 2    |
|           |         | (FlexE  |   |  (FlexE  |     |(FlexE Shim)|
|           +---^-----+ unaware)|   |  unaware)+-----+            |
|           |   |     |         |   |          |     |            |
|           |   |     |         |   |          |     |            |
+-----------+   +     +---------+   +----------+     +------------+
                 FlexE Group

                     \----------Transport----------/
                                network
+--------------+                                  +----------------+
| FlexE Clients|                                  | FlexE Client(s)|
+--------------+                                  +----------------+
| FlexE Shim   |                                  |  FlexE Shim    |
+----+----+----+                                  +----+------+----+
|PHY |  |  PHY |                                  |  PHY |   | PHY |
+---+---+--+---+                                  +---+--+   +--+--+
    |      |          +-----+           +-----+       |         |
    |      +----------+ PHY |           | PHY |-------+         |
    |                 +-----+           +-----+                 |
    |                 | ODU4+-----------+ ODU4|                 |
    |                 +-----+           +-----+                 |
    |                                                           |
    |                 +-----+           +-----+                 |
    +-----------------+ PHY |           | PHY +-----------------+
                      +-----+           +-----+
                      | ODU4+-----------+ ODU4|
                      +-----+           +-----+
                    ]]>
                    </artwork>
                    <postamble>==================================================================</postamble>
                </figure>
            </section>
            <section title="FlexE Aware" anchor="section-flexe-aware">
                <section title="FlexE Aware Case - No Resizing" anchor="section-flexe-partial-noresize">
                    <t> This scenario represents an optimization of the FlexE unaware transport presented in 
                        <xref target="section-flexe-unaware"></xref>, and illustrated in 
                        <xref target="fig_flex_unaware"></xref>.             In this application (see 
                        <xref target="fig_flexe_aware"></xref>), the devices at the edge of the transport network do not terminate the FlexE shim layer, but are aware of the (a) composition of the FlexE grpup (i.e. set of all contained Ethernet PHYs) and (b) format of the FlexE overhead. They "snoop" the FlexE overhead to determine the subset of the set of all calendar slots that are available for use (i.e. these calendar slots may be used, or unused). The transport network edge removes the unavailable calendar slots at the ingress to the network, and adds the same unavailable calendar slots back when exiting the network. The result is that the FlexE Shim layers at both routers see exactly the same input that they saw in the FlexE unware scenario -- with the added benefit that the line (or DWDM) side bandwidth has been optimized to be sufficient to carry only the available calendar slots in all of the Ethernet PHY(s) in the FlexE group. This mode may be used in cases where the bandwidth of the Ethernet PHY is greater than the bit rate supported by a wavelength (and it is known that that all calendar slots in the PHY are not "available").                    
                    </t>
                    <t>The transport network edge device could learn of the set of unavailable calendar slots in a variety of ways; a few examples are listed below:</t>
                    <t>
                        <list style="letters">
                            <t> The set of unavailable calendar slots could be configured against each Ethernet PHY in the FlexE group. The FlexE demux function in the transport network edge device (A) compares the information about calendar slots which are expected to be unavailable (as per user supplied configuration), with the corresponding information encoded by the customer edge device in the FlexE overhead (as specified in 
                                <xref target="OIFFLEXE1"></xref>). If there is a mismatch between the unavailable calendar slots in any of the PHYs within a FlexE group, the transport edge node software could raise an alarm to report the inconsistency between the provisioning information at the transport network edge, and the customer edge device.
                            </t>
                            <t> The Transport network edge could be configured to act in a "slave" mode. In this mode, the FlexE demux function at the Transport network edge (A)  receives the information about the available/unavailable calendar slots by observing the FlexE overhead (as specified in 
                                <xref target="OIFFLEXE1"></xref>) and uses this information to select (a) the set of wavelengths (with appropriate capacities) or (b) the bandwidth of the ODUflex (or fixed rate ODUs) that could carry the FlexE PCS end-to-end.
                            </t>
                            <t> The set of unavailable slots could be negotiated between FlexE Shim entity in the customer device and the partial rate ODUflex mapper located in the transport network element. Thus, for example, the transport network element could declare the maximum number of 5G slots that could be transported over a single wavelength, and the customer network device can choose the number of 5G slots that will be used between customer devices. This process could be accomplished through control protocols such as LMP,using the appropriate control channel for transporting the messages.</t>
                        </list>
                    </t>
                    <t>In the basic FlexE aware mode, the transport network edge does not expect the number of unavailable calendar slots to change dynamically.                    </t>
                    <t>Note that the process of removing unavailable calendar slots from a FlexE PHY is called "crunching" (see 
                        <xref target="OIFFLEXE1"></xref>). The following additional notes apply to 
                        <xref target="fig_flexe_aware"></xref>: 
                    </t>
                    <t>
                        <list style="letters">
                            <t> The crunched FlexE PHYs are independently transported through the transport network. The number of used (and unused) calendar slots can be different across the FlexE group. In particular, if all the calendar slots in a FlexE PHY are in use, the crunching operation leaves the original signal intact.</t>
                            <t> In this illustration, the different FlexE PHY(s) are transported using ODUflex containers in the transport network. These ODUflex connections can be of different rates.</t>
							<t> In the most general form, G.709 Section 17.12 allows for a FlexE group consisting of m Ethernet PHY(s) to be crunched, combined, and transported using n ODUFlex containers (where n can range between 1 and m). In other words, the ITU G.709 recommendation allows for (but not require the support for) the degenerate cases in which (a) each Ethernet PHY within the group is transported using its own ODUflex, and (b) all the PHY(s) are crunched, combined and transported over a single ODUflex container.  If all the sub-calendar slots in a given PHY are available, it is possible to transport the content of the PHY in one of two ways: (a) as shown in  <xref target="fig_flexe_aware"></xref>, or (b) using a FLexE unware (i.e. PCS-codeword transparent transport) mode. The latter approach (of using FlexE unaware transport) for a few select (fully-utilized) PHYs is not attractive from the perspective of skew between the PHYs that comprise the FlexE group. For simplicity, the preferred mode of operation will be one in which the same mapping procedure is used for member PHYs of a FlexE group.</t>
                            <t> When the crunched FlexE PHY(s) have a rate that is identical to that of a standard Ethernet PHY, it is possible that the transport network may utilize standard ODU containers such as ODU2e, ODU4 etc. As currently defined by ITU G.709 Section 17.12, the crunched, sub-rate signal is always mapped to an ODUflex, and the mapping to a fixed rate ODU signal is not  required. This option could be dropped if it results in any significant simplification.</t>
                        </list>
                    </t>
                    <t> Note: The figure may need further editing to accurately depict the signal hierarchy.</t>
                    <figure title = "FlexE Aware Transport" align="left" anchor="fig_flexe_aware">
                        <preamble>================================================================</preamble>
                        <artwork align="left">
                            <![CDATA[
                      FlexE Ethernet Client(s)
      +-----------------------------------------------------+
                  FlexE skew tolerance
          +---------------------------------------------+
                   for end+to+distance

  +--------+ 2 x 100GE +---------+      +---------+    +------+
  |  R1    |           |         |      |         +----+  R2  |
  |  (FlexE+-----------+  NE A   |      |  NE Z   |    |(FlexE|
  |  Shim) |           | (FlexE  |      | (FlexE  +----+ Shim |
  |        +-----^-----+ aware)  |      | aware)  |    |      |
  |        |     |     |         |      |         |    |      |
  +--------+     +     +---------+      +---------+    +------+
            FlexE Group
                       \+--------+Transport+--------+/
                                  network
 +-------------+                                +-------------+
 |FlexE clients|                                |FlexE clients|
 +-------------+                                +-------------+
 | FlexE Shim  |                                | FlexE Shim  |
 +-------------+                                +-------------+
 |  PHY |  PHY |                                |  PHY |  PHY |
 +-------------+                                +-------------+
     |     |                                         |     |
     |     |  +-------------+        +------------+  |     |
     |     |  |  FlexE-psg  |        | FlexE-psg  |  |     |
     |     |  +-------------+        +------------+  |     |
     |     +--+ PHY|ODUflex +------- |ODUFlex|PHY +--+     |
     |        +-------------+        +------------+        |
     |                                                     |
     |        +-------------+        +------------+        |
     |        |  FlexE|psg  |        | FlexE|psg  |        |
     |        +-------------+        +------------+        |
     +--------+ PHY|ODUflex +------- |ODUFlex|PHY +--------+
              +-------------+        +------------+
  
         + Legend:
         | R1, R2 + Routers (supporting the FlexE clients)
         | NE A, Z  + Transport Network Edge nodes
         + FlexE-psg: FlexE partial rate (sub) group signal
                      (per G.709:17.12)
                    ]]>
                        </artwork>
                        <postamble>===============================================================</postamble>
                    </figure>
                </section>
            </section>
            <section title="FlexE Termination - Transport">
                <t> These usecases build upon the basic router-transport equipment connectivity illustrated in 
                    <xref target="fig_flex_unaware"></xref>.                 The FlexE shim layer at the router maps to the set of FlexE clients over the FlexE group, as usual. This section considers various usecases in which the equipment located at the                 edge of the transport network instantiates the FlexE Shim function which peers with the FlexE shim on the customer device. In the router to network direction, the transport edge node terminates the FlexE shim layer, and extracts one or more FlexE                 client signals, and transports them through the network. That is, these usecases are distinguished from the FlexE unaware cases in that the FlexE group, and the FlexE shim layer                 end at the transport network edge, and only the extracted FlexE client signals transit the optical network. In the network to router direction, the transport edge node maps a set of FlexE clients to the FlexE group (i.e.                performing the same functions as the router which connects to the transport network).The various usecases differ in the combination of service endpoints in the transport                 network.                 In the FlexE termination scenarios, the distance between the FlexE Shims is limited the normal Ethernet link distance. The FlexE shims in the router, and the equipment need                to support a small amount skew.                
                </t>
                <section title="FlexE Client at Both endpoints" anchor                         ="section-flexe-client-both-ends">
                    <t> In this scenario, service consists of transporting a FlexE client through the transport network, and possibly combining this FlexE client with other FlexE clients into a                    FlexE group at the endpoints. The FlexE client signal can be transported in two manners within the OTN: (i) directly over one or more wavelengths (ii) mapped into an ODUflex (of                    the appropriate rate) and then switched across the OTN. 
                        <xref target="fig_flexe_term_1"></xref> illustrates the scenario involving the mapping of a FlexE client to an ODUflex envelope; this                    figure only shows the signal "stack" at the service endpoints, and doesn't illustrate the switching of the ODUflex entity through the OTN. The ODUflex mapping will be beneficial in scenarios                    where the rate of the FlexE client is less than the capacity of a single wavelength deployed on the DWDM side of the OTN network, and allows the network operators to packet multiple FlexE client                    signals into the same wavelength -- thereby improving the network efficiency.                     Although 
                        <xref target="fig_flexe_term_1"></xref>  illustrates the scenario in which one FlexE client is transported within the OTN, the following points should be noted: 
                    </t>
                    <t>
                        <list style="letters">
                            <t> When the FlexE Shim termination function recovers multiple FlexE client signals (at node A), the FlexE signals can be transported independently. In other words, it is not a                     requirement that all the FlexE client signals be co-routed.</t>
                            <t> Conversely, at the egress node, FlexE clients from different endpoints can be combined via the FlexE shim, eventually exiting the transport edge node over an Ethernet group.</t>
                        </list>
                    </t>
                    <figure title = "FlexE termination: FlexE clients at both endpoints" align="center" anchor="fig_flexe_term_1">
                        <preamble>==================================================================</preamble>
                        <artwork align="center">
                            <![CDATA[
 +--------+ 2 x 100GE +---------+       +----------+      +--------+
 |        |           |         |       |          |      |        |
 | Router1|           |         |       |          |      |        |
 | FlexE  +-----------+ A-end   |       |  Z-end   +------+Router2 |
 | Shim   |           | (FlexE  |       |  (FlexE  |      |FlexE   |
 |        +-----^-----+  term)          |  term)   +------+ Shim   |
 |        |     |     |         |       |          |      |        |
 |        |     |     |         |       |          |      |        |
 +--------+     +     +---------+       +----------+      +--------+
           FlexE Group
                     \+--------+Transport+--------+/
                                 network

 +-----------+   +--------------+    +-------------+   +-----------+
 | Client(s) |   | Client       |    | Client      |   | Client(s) |
 +-----------+   +--------+-----+    +------+------+   +-----------+
 | FlexE Shim|   | Shim   |     |    |      | Shim |   | FlexE Shim|
 +-----------+   +--------+ ODU |    | ODU  +------+   +-----------+
 | PHY(s)    |   | PHY(s) | flex|    | flex |PHY(s)|   | PHY(s)    |
 +---+-------+   +---+----+--+--+    +---+--+---+--+   +---+-------+
 |               |           |           |      |          |
 +---------------+           +-----------+------+----------+
                    ]]>
                        </artwork>
                        <postamble>=================================================================</postamble>
                    </figure>
                </section>
                <section title="Interworking of FlexE Client w/ Native Client at the other endpoint">
                    <t>The OIF implementation agreement 
                        <xref target="OIFFLEXE1"></xref> currently supports FlexE client signals carried over one or more 100GBASE-R PHY(s). There is a calendar of 5G timeslots                associated with each PHY, and each FlexE client can make use of a number of timeslots (possibly distributed across the members of the FlexE group. This implies that the FlexE client rates                are multiples of 5Gbps. When the rates of the FlexE client signals matches the MAC rates corresponding to existing Ethernet PHYs, i.e. 10GBASE-R/40GBASE-R/100GBASE-R, there is a need for the                FlexE client signal to interwork with the native Ethernet client received from a single (non-FlexE capable) Ethernet PHY. This capability is expected to be extended to any future Ethernet PHY                rates that the IEEE may define in future (e.g. 25G, 50G, 200G etc.). In these cases, although the bit rate of the FlexE client matches the MAC rate of other endpoint, the 64B66B PCS codewords                for the FlexE client need to be transformed (via ordered set translation) to match the specification for the specific Ethernt PHY. These details are described in Section 7.2.2 of                         
                        <xref target="OIFFLEXE1"></xref> and are not eloborated any further in this document.
                    </t>
                    <t>
                        <xref target="fig_flex_term_2"></xref> illustrates a scenario involving the interworking of a 10G FlexE client with a 10GBASE-R native Ethernet signal. In this example, the network wrapper                is ODU2e.
                    </t>
                    <figure title = "FlexE client interop with Native Ethernet Client" align="center" anchor="fig_flex_term_2">
                        <preamble>==================================================================</preamble>
                        <artwork align="center">
                            <![CDATA[
 +--------+ 2 x 100GE +-------+           +-------+      +--------+
 |        |           |       |           |       |      |        |
 | Router1|           |       |           |       |      |        |
 |(FlexE  +-----------+ A-end |           | Z-end | 10GE |Router 2|
 | Shim)  |           |(FlexE |           |       +------+        |
 |        +-----^-----+ term) |           |       |      |        |
 |        |     |     |       |           |       |      |        |
 |        |     |     |       |           |       |      |        |
 +--------+     +     +-------+           +-------+      +--------+
          FlexE Group
                     \+---------Transport---------+/
                                 network

 +-----------+   +---------------+
 | Client(s) |   | Client        |     +------------+    +---------+
 +-----------+   +-------+-------+     |   10GE PCS |    | 10GE PCS|
 | FlexE Shim|   | Shim  |       |     +-------+----+    +---------+
 +-----------+   +-------+  ODU  |     | ODU2e | PHY|    | PHY     |
 | PHY(s)    |   | PHY(s)|  2e   |     +---+---+--+-+    +-----+---+
 +---+-------+   +---+-------+---+         |      |            |
     |               |       |             |      |            |
     |               |       |             |      |            |
     +---------------+       +-------------+      +------------+
                    ]]>
                        </artwork>
                        <postamble>=================================================================</postamble>
                    </figure>
                </section>
                <section title="Interworking of FlexE client w/ Client from OIF_MLG">
                    <t> As explained in the Introduction section (
                        <xref target="section-introduction"></xref> OIFMLG3 
                        <xref target="OIFMLG3"></xref> introduced support for carrying 10GE and 40GE client signals                over a group of 100GBASE-R Ethernet PHY(s). While the most recent implementation agreement doesn't call it out explicitly, it is expected that  the FlexE clients (as                 defined in 
                        <xref target="OIFFLEXE1"></xref>), and 10GBASE-R/40GBASE-R clients supported by OIFMLG3 
                        <xref target="OIFMLG3"></xref>) will interoperate.                    
                    </t>
                    <t>
                        <xref target="fig_flexe_term_3"></xref> illustrates a scenario involving the interworking of a 10G FlexE client with a 10GBASE-R client supported by an OIFMLG3 interface.                 In this example, the network wrapper is ODU2e.
                    </t>
                    <figure title = "FlexE client interop with Ethernet Client supported by MLG3" align="center" anchor="fig_flexe_term_3">
                        <preamble>==================================================================</preamble>
                        <artwork align="center">
                            <![CDATA[
 +--------+ 2 x 100GE +---------+       +---------+      +---------+
 |        |           |         |       |         |      |         |
 | Router1|           |         |       |         |      |         |
 | FlexE  +-----------+ A-end   |       |  Z-end  +------+Router 2 |
 | Shim   |           | (FlexE  |       |         |      |(MLG-3.0)|
 |        +-----^-----+ term)   |       |         +------+         |
 |        |     |     |         |       |         |      |         |
 |        |     |     |         |       |         |      |         |
 +--------+     +     +---------+       +---------+      +---------+
           FlexE Group

                      \+--------+Transport+--------+/
                                 network

+-----------+   +-------------+      +--------------+   +----------+
| Client(s) |   | Client      |      | 10GE PCS     |   | 10GE Cl. |
+-----------+   +--------+----+      +------+-------+   +----------+
| FlexE Shim|   | Shim   |    |      |      | MLG3  |   | MLG3     |
+-----------+   +--------+ ODU|      | ODU  +-------+   +----------+
| PHY(s)    |   | PHY(s) | 2e |      | 2e   | PHY(s)|   | PHY(s)   |
+---+-------+   +---+----+--+-+      +---+--+---+---+   +---+------+
    |               |       |            |      |            |
    +---------------+       +------------+      +------------+
                    ]]>
                        </artwork>
                        <postamble>=================================================================</postamble>
                    </figure>
                </section>
                <section title="Back-to-Back FlexE">
                    <t> This section covers a degenerate FlexE termination scenario in which router1, router2, and router3 are interconnected through back-to-back FlexE groups without an intermediate transport network (see 
                        <xref target="fig_flexe_term_4"></xref>). In this example, the FlexE SHIM at Router2 extracts one or more FlexE client signals from the FlexE group connected to Router1, and mutliplexes these extracted FlexE signals into the FlexE group towards the appropriate router (e.g. Router3). Note that each of the extracted FlexE client signals can be indepdenently routed towards its respective FlexE group. </t>                  
                    <figure title = "Back-to-Back FlexE" align="center" anchor="fig_flexe_term_4">
                        <preamble>==================================================================</preamble>
                        <artwork align="center">
                            <![CDATA[
 +--------+ 2 x 100GE +---------+ 3 x 100GE +---------+
 |        |           |         |           |         |
 | Router1|           |         |           |         |
 | FlexE  +-----------+ Router2 +-----------+ Router3 |
 | Shim   |           | FlexE   +-----------+ FlexE   |
 |        +-----^-----+ Shim    +-----^-----+ Shim    |
 |        |     |     |         |     |     |         |
 |        |     |     |         |     |     |         |
 +--------+     +     +---------+     +     +---------+
           FlexE Group           FlexE Group
                    ]]>
                        </artwork>
                        <postamble>=================================================================</postamble>
                    </figure>
					
					<section title="FlexE Client BW Resizing" anchor="section-flexe-bw-resizing">
                     <t>In the scenario presented in 
                        <xref target="fig_flexe_term_4"></xref>, it is possible to support the FlexE client signal resizing on an end-to-end basis. Thus, for example, the resizing of the end-to-end FlexE client circuit with a scope of Router1-Router2-Router3 is accomplished by correctly coordinating the resizing operations across these two segments: Router1-Router2, Router2-Router3. The hop-by-hop FlexE client signal resizing operations across each of these segments (or hops) are accomplished by using the following FlexE overhead (as per <xref target="OIFFLEXE1"></xref>):</t>
                        <t>
                            <list style="letters">
                                <t> Currently active FlexE calendar (containing a list of mapping between the 5G tributary slots and the FlexE client signals </t>
                                <t> Future calendar to which the sender wants to transition to.  </t>
                                <t> Calendar switch request bit (CR) </t>
                                <t> Calendar switch acknowldege bit (CA)</t>
                            </list>
                        </t>
						<t>It is expected that the exact sequence of FlexE client resizing operations will be different for the cases involving bandwidth increase/decrease.</t>
					</section>
                </section>
	
            </section>
        </section>
        <section title="Requirements">
            <t> This section summarizes solution requirements for the usecases described in this document to help identify the Control Plane (i.e. Routing and Signaling) extensions that may be required.</t>
            <t>
                <list style="letters">
                    <t> The solution SHALL support a FlexE group to address abovementioned usecases including FlexE unaware (where FlexE mux and demux can be separated by longer distances), FlexE aware (where FlexE mux and demux can be separated by shorter distances), and FlexE partially aware.</t>
                    <t> The solution SHALL support a flexible mechanism for configuring a FlexE group --  such as a signaling protocol or a SDN controller/management system with network access to the FlexE mux/demux at each end of the FlexE group.</t>
                    <t> The solution SHOULD support the ability to add/remove Ethernet PHYs to/from a FlexE group. In the absence of this ability, it is acceptable to permit 
					changes to the group members only when the group has been administratively locked (and hence not providing any service).</t>
                    <t> The solution SHOULD allow decoupling of FlexE group's initial configuration and bring up operation from an addition (or removal) of FlexE clients to the FlexE group. For instance, it SHOULD be possible to configure and bring up a FlexE group without any FlexE client (e.g., with all calendar slots set to unused or unavailable).</t>
                    <t> The solution SHALL allow adding or removing a FlexE client to a FlexE group without affecting traffic on other clients. </t>
                    <t> The solution SHOULD allow resizing of FlexE client BW through coordination of calendar updates within a single FlexE group. There SHOULD be no expectation that FlexE client BW resizing be hitless in all network scenarios. This capability can be supported for the Back-to-Back FlexE scenario identified in
					<xref target="section-flexe-bw-resizing"></xref></t>
                    <t> For the FlexE unaware case, each of the 100GBASE-R PHYs in the FlexE group SHALL be carried independently across transport network using a PCS codeword transparent mapping. All PHYs of the FlexE group SHALL be interconnected between the same two FlexE shims. The Ethernet PHYs SHOULD be carried over the same fiber route across the transport network (i.e., co-routed)</t>
                    <t> For the FlexE aware case, each of the 100GBASE-R PHYs in the FlexE group SHALL be carried independently across transport network. All PHYs of the FlexE group SHALL be interconnected between the same two FlexE shims. The Ethernet PHYs SHOULD be carried over the same fiber route across the transport network. In the transport network, in mux direction, the OTN mapper SHALL be able to discard unavailable slots (e.g., this can be based on static configuration as the rate of a wavelength is not expected to change in-service). In the transport network, in the demux direction, the OTN mapper SHALL be able to restore unavailable slots to match the original PHY rate.</t>
                    <t> For the FlexE termination case, the FlexE group SHALL be terminated at the transport network edge. It SHOULD be possible to carry (switch) each FlexE client extracted from the FlexE group independently across transport network using OTN mapping (e.g., ODUflex). </t>
                </list>
            </t>
        </section>
        <section title="Framework"></section>
        <section title="Architecture"></section>
        <section title="Solution"></section>
        <section anchor="Acknowledgements" title="Acknowledgements">
            <t></t>
        </section>
        <!-- Possibly a 'Contributors' section ... -->
        <section anchor="IANA" title="IANA Considerations">
            <t>This memo includes no request to IANA.</t>
        </section>
        <section anchor="Security" title="Security Considerations">
            <t>None.</t>
        </section>
    </middle>
    <!--  *****BACK MATTER ***** -->
    <back>
        <!-- References split into informative and normative -->
        <!-- There are 2 ways to insert reference entries from the citation libraries:
    1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
    2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
       (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

    Both are cited textually in the same manner: by using xref elements.
    If you use the PI option, xml2rfc will, by default, try to find included files in the same
    directory as the including file. You can also define the XML_LIBRARY environment variable
    with a value containing a set of directories to search.  These can be either in the local
    filing system or remote ones accessed by http (http://domain/dir/... ).-->
        <references title="Normative References">
            <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->            &RFC2119;            
            <reference anchor="OIFFLEXE1">
                <!-- the following is the minimum to make xml2rfc happy -->
                <front>
                    <title>FLex Ethernet Implementation Agreement Version 1.0 (OIF-FLEXE-01.0)</title>
                    <author>
                        <organization> OIF</organization>
                    </author>
                    <date year="2016" month="March"/>
                </front>
            </reference>
            <reference anchor="G709">
                <!-- the following is the minimum to make xml2rfc happy -->
                <front>
                    <title>Optical Transport Network Interfaces (http://www.itu.int/rec/T-REC-G.709-201606-P/en) </title>
                    <author>
                        <organization> ITU</organization>
                    </author>
                    <date year="2016" month="July"/>
                </front>
            </reference>
            <reference anchor="G798">
                <!-- the following is the minimum to make xml2rfc happy -->
                <front>
                    <title>Characteristics of optical transport network hierarchy equipment functional blocks (http://www.itu.int/rec/T-REC-G.798-201212-I/en) </title>
                    <author>
                        <organization> ITU</organization>
                    </author>
                    <date year="2014" month="February"/>
                </front>
            </reference>
        </references>
        <references title="Informative References">
            <reference anchor="OIFMLG3">
                <!-- the following is the minimum to make xml2rfc happy -->
                <front>
                    <title>Multi-Lane Gearbox Implementation Agreement Version 3.0 (OIF-MLG-3.0)</title>
                    <author>
                        <organization> OIF</organization>
                    </author>
                    <date year="2016" month="April"/>
                </front>
            </reference>
        </references>
        <section anchor="app-additional" title="Additional Stuff">
            <t>This becomes an Appendix.</t>
        </section>
    </back>
</rfc>