<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ccamp-layer1-types-19" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="L1 Common YANG Types">Common YANG Data Types for Layer 1 Networks</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-layer1-types-19"/>
    <author initials="H." surname="Zheng" fullname="Haomian Zheng">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>H1, Huawei Xiliu Beipo Village, Songshan Lake</street>
          <city>Dongguan</city>
          <region>Guangdong</region>
          <code>523808</code>
          <country>China</country>
        </postal>
        <email>zhenghaomian@huawei.com</email>
      </address>
    </author>
    <author initials="I." surname="Busi" fullname="Italo Busi">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <city>Milan</city>
          <country>Italy</country>
        </postal>
        <email>italo.busi@huawei.com</email>
      </address>
    </author>
    <date year="2026" month="June" day="16"/>
    <area>Routing</area>
    <workgroup>CCAMP Working Group</workgroup>
    <abstract>
      <?line 183?>

<t>This document defines a collection of common data types,
identities, and groupings in the YANG data modeling language. These
derived common data types, identities, and groupings are
intended to be imported by modules that model Layer 1 configuration
and state capabilities. The Layer 1 types are representative of
Layer 1 client signals applicable to transport networks, such as
Optical Transport Networks (OTN). The Optical Transport Network
(OTN) data structures are included in this document as Layer 1 types.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://haomianzheng.github.io/IETF-ACTN-YANG-Model/draft-ietf-ccamp-layer1-types.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-ccamp-layer1-types/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        CCAMP Working Group Working Group mailing list (<eref target="mailto:ccamp@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ccamp/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ccamp/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/haomianzheng/IETF-ACTN-YANG-Model"/>.</t>
    </note>
  </front>
  <middle>
    <?line 195?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document specifies common data types, groupings, and identities
for use in YANG <xref target="RFC7950"/> data models of Layer 1 networks. The
derived types and groupings apply to Traffic Engineered (TE) Layer 1
networks.</t>
      <t>The Layer 1 (L1) Optical Transport Network (OTN) is specified in
<xref target="RFC7062"/>. The corresponding routing and signaling protocols are
specified in <xref target="RFC7138"/> and <xref target="RFC7139"/>. The types and groupings
defined in this document are consistent with those documents, and can
be imported into other Layer 1 data models, including but not limited
to, <xref target="I-D.ietf-ccamp-otn-topo-yang"/>,
<xref target="I-D.ietf-ccamp-otn-tunnel-model"/>,
<xref target="I-D.ietf-ccamp-client-signal-yang"/> and <xref target="I-D.ietf-ccamp-l1csm-yang"/>.</t>
      <t>The document is consistent with other specifications, including
<xref target="MEF_63"/> for Layer 1 service attributes, <xref target="ITU-T_G.709"/> and
<xref target="ITU-T_G.Sup43"/> for OTN data plane definitions.</t>
    </section>
    <section anchor="terminology-and-notations">
      <name>Terminology and Notations</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>Specific terms used within this document are as follows:</t>
      <dl>
        <dt>OTN:</dt>
        <dd>
          <t>Optical Transport Network.</t>
        </dd>
        <dt>ODU:</dt>
        <dd>
          <t>Optical Data Unit. An ODU has the frame structure and
overhead, as defined in Figure 12-1 of <xref target="ITU-T_G.709"/>. ODUs can be
formed in two ways: a) by encapsulating a single non-OTN client,
such as SONET/SDH (Synchronous Optical Network / Synchronous
Digital Hierarchy) or Ethernet, or b) by multiplexing lower-rate
ODUs. In general, the ODU layer represents the path layer in OTN.
The only exception is the ODUCn signal (defined below), which is
defined to be a section-layer signal. In the classification based
on bitrates of the ODU signals, ODUs are of two types: fixed rate
and flexible rate. Flexible-rate ODUs, called "ODUflex", have a
rate that is 239/238 times the bitrate of the client signal they
encapsulate.</t>
        </dd>
        <dt>ODUCn:</dt>
        <dd>
          <t>Optical Data Unit-C. This signal has a bandwidth of
approximately 100 Gbit/s and is of a slightly higher bitrate than
the fixed rate ODU4 signal. This signal has the format defined in
Figure 12-1 of <xref target="ITU-T_G.709"/>. This signal represents the building
block for constructing a higher-rate signal called "ODUCn".</t>
        </dd>
        <dt>ODUk:</dt>
        <dd>
          <t>Optical Data Unit-k, where k is one of {0, 1, 2, 2e, 3, 4}.
The term "ODUk" refers to an ODU whose bitrate is fully specified
by the index k. The bitrates of the ODUk signal for k = {0, 1, 2,
2e, 3, 4} are approximately 1.25 Gbit/s, 2.5 Gbit/s, 10 Gbit/s,
10.3 Gbit/s, 40 Gbit/s, and 100 Gbit/s, respectively.</t>
        </dd>
        <dt>LO ODU:</dt>
        <dd>
          <t>Lower Order ODU. The LO ODUj (j can be 0, 1, 2, 2e, 3, 4,
or flex) represents the container transporting a client of the OTN
that is either directly mapped into an OTUk (k = j) or multiplexed
into a server HO ODUk (k &gt; j) container.</t>
        </dd>
        <dt>HO ODU:</dt>
        <dd>
          <t>Higher Order ODU. The HO ODUk (k can be 1, 2, 2e, 3, or 4)
represents the entity transporting a multiplex of LO ODUj
tributary signals in its OPUk area.</t>
        </dd>
      </dl>
      <t>The reader may also refer to <xref target="RFC7062"/> and <xref target="RFC9376"/> for other key
terms used in this document. The terminology for describing YANG
data models can be found in <xref target="RFC7950"/>.</t>
    </section>
    <section anchor="prefix-in-data-node-names">
      <name>Prefix in Data Node Names</name>
      <t>In this document, the names of data nodes and other data model
objects are prefixed using the standard prefix associated with the
corresponding YANG imported modules, as shown in <xref target="tab-prefixes"/>.</t>
      <table anchor="tab-prefixes">
        <name>Prefixes and Corresponding YANG Modules</name>
        <thead>
          <tr>
            <th align="left">Prefix</th>
            <th align="left">YANG module</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">rt-types</td>
            <td align="left">ietf-routing-types</td>
            <td align="left">
              <xref target="RFC8294"/></td>
          </tr>
          <tr>
            <td align="left">l1-types</td>
            <td align="left">ietf-layer1-types</td>
            <td align="left">RFC XXXX</td>
          </tr>
        </tbody>
      </table>
      <ul empty="true">
        <li>
          <t>RFC Editor Note:
Please replace XXXX with the number assigned to the RFC once this draft becomes an RFC.</t>
        </li>
      </ul>
    </section>
    <section anchor="DM">
      <name>Layer 1 Types Overview</name>
      <section anchor="relationship-with-other-modules">
        <name>Relationship with other Modules</name>
        <t>This document defines one YANG module for common Layer 1 types. The
aim is to specify common Layer 1 TE types (i.e., typedef, identity,
grouping) that can be imported by layer 1 specific technology, for
example, layer 1 OTN, in its technology-specific modules, such as
topology and tunnels. It is worth noting that the generic traffic-engineering (TE)
types module is specified as ietf-te-types in
<xref target="I-D.ietf-teas-rfc8776-update"/>, and both YANG modules, ietf-te-types
and ietf-layer1-types, will need importing when the OTN is
configured. Generic attributes such as te-bandwidth and te-label,
which are specified as ietf-te-types in
<xref target="I-D.ietf-teas-rfc8776-update"/>, need to be augmented with the OTN-specific
attributes, such as odu-type, which are specified as ietf-layer1-types in this document, when OTN is configured.</t>
      </section>
      <section anchor="content-in-layer-1-type-module">
        <name>Content in Layer 1 Type Module</name>
        <t>The module ietf-layer1-types contains the following YANG reusable
types and groupings:</t>
        <dl>
          <dt>tributary-slot-granularity:</dt>
          <dd>
            <t>This specifies the granularity levels for tributary slots utilized
by the server layer Optical Data Unit (ODU). Specifically, it
addresses how ODU links, including both Higher Order Optical Data
Unit-k (HO ODUk) and Optical Data Unit-Cn (ODUCn), accommodate
client layer ODUs within Label Switched Paths (LSPs). These
client layer ODUs could be Lower Order Optical Data Unit-j (LO
ODUj) or ODUk, respectively. The specified granularity levels for
these configurations are 1.25G, 2.5G, and 5G.</t>
          </dd>
          <dt>odu-type:</dt>
          <dd>
            <t>This specifies the type of ODUk LSP, including the types specified
in <xref target="ITU-T_G.709"/> and <xref target="RFC7139"/>.</t>
          </dd>
          <dt/>
          <dd>
            <t>Since, as described in <xref target="RFC7963"/>, <xref target="ITU-T_G.Sup43"/> does not
guarantee interoperability in the data plane for these containers,
the type of ODUk LSPs defined in <xref target="ITU-T_G.Sup43"/> and <xref target="RFC7963"/> can
be defined in vendor-specific YANG modules using the odu-type
identity, defined in this document, as the base.</t>
          </dd>
          <dt>client-signal:</dt>
          <dd>
            <t>This specifies the common Layer 1 client signal types, including
ETH <xref target="IEEE_802.3"/>, STM-n <xref target="ITU-T_G.707"/>, OC <xref target="ANSI_T1.105"/> and Fiber
Channel <xref target="ANSI_INCITS_230"/>. The input was based on the G-PID types
specified in <xref target="RFC7139"/>.</t>
          </dd>
          <dt>otn-label-range-type:</dt>
          <dd>
            <t>The label range type of OTN is represented in one of two ways,
tributary slots (TS) and tributary port number (TPN), as specified
in <xref target="RFC7139"/>. Two representations are enumerated in the otn-label-range-type.</t>
          </dd>
          <dt>otn-link-bandwidth:</dt>
          <dd>
            <t>This grouping defines the link bandwidth information, usually as
the number of ODUs that can be supported by the link for each ODU
type: for example an OTN link with 100G bandwidth can support
either 1xODU4, 10xODU2 or 80xODU0.</t>
          </dd>
          <dt/>
          <dd>
            <t>It is also used to represent the ODUflex resources available on a
link, as described in <xref target="ODUflex"/>.</t>
          </dd>
          <dt/>
          <dd>
            <t>This grouping could be used in the OTN topology model for link
bandwidth representation. In general, all the bandwidth-related
sections, which are defined in a generic module, e.g., using the
groupings defined in <xref target="I-D.ietf-teas-rfc8776-update"/>, need to be
augmented with this grouping when used to represent the bandwidth
of an OTN link.</t>
          </dd>
          <dt>otn-path-bandwidth:</dt>
          <dd>
            <t>This grouping defines the path bandwidth information, usually as
the type of ODU (e.g., ODU0, ODU2, ODU4) being set up along the
path.</t>
          </dd>
          <dt/>
          <dd>
            <t>In the case of ODUflex paths, more information about the bandwidth
of the ODUflex needs to be provided, as described in <xref target="ODUflex"/>.</t>
          </dd>
          <dt/>
          <dd>
            <t>This grouping could be used in the OTN topology model for path
bandwidth representation as well as when setting up the OTN
tunnel. In general, all the bandwidth-related sections, which are
defined in a generic module, e.g., using the groupings defined in
<xref target="I-D.ietf-teas-rfc8776-update"/>, need to be augmented with this
grouping when used to represent the bandwidth of an OTN tunnel or
path.</t>
          </dd>
          <dt>otn-label-range-info:</dt>
          <dd>
            <t>This grouping is used to augment the label-restriction list,
defined in <xref target="I-D.ietf-teas-rfc8776-update"/>, with OTN technology-specific attributes, as defined in <xref target="label"/>.</t>
          </dd>
          <dt>otn-label-start-end:</dt>
          <dd>
            <t>This grouping is used to augment the label-start and label-end
containers within the label-restriction list, defined in
<xref target="I-D.ietf-teas-rfc8776-update"/>, with OTN technology-specific
attributes, as defined in <xref target="label"/>.</t>
          </dd>
          <dt>otn-label-step:</dt>
          <dd>
            <t>This grouping is used to augment the label-step container within
the label-restriction list, defined in
<xref target="I-D.ietf-teas-rfc8776-update"/>, with OTN technology-specific
attributes, as defined in <xref target="label"/>.</t>
          </dd>
          <dt>otn-label-hop:</dt>
          <dd>
            <t>This grouping is used to augment the label-hop container, defined
in <xref target="I-D.ietf-teas-rfc8776-update"/>, with OTN technology-specific
attributes, as defined in <xref target="label"/>.</t>
          </dd>
          <dt>optical-interface-func:</dt>
          <dd>
            <t>The optical interface function is specified in <xref target="MEF_63"/>.
Identities that describe the functionality are specified to encode
bits for transmission and to decode bits upon reception.</t>
          </dd>
        </dl>
      </section>
      <section anchor="label">
        <name>OTN Label and Label Range</name>
        <t>As described in <xref target="RFC7139"/>, the OTN label usually represents the
Tributary Port Number (TPN) and the related set of Tributary Slots
(TS) assigned to a client layer ODU LSP (LO ODUj or ODUk) on a given
server layer ODU (HO-ODU or ODUCn, respectively) Link (e.g., ODU2 LSP
over ODU3 Link). Some special OTN label values are also defined for
an ODUk LSP being set up over an OTUk Link.</t>
        <t>The same OTN label <bcp14>MUST</bcp14> be assigned to the same ODUk LSP at the two
ends of an OTN Link.</t>
        <t>As described in <xref target="RFC7139"/>, TPN can be a number from 1 to 4095 and TS
are numbered from 1 to 4095, although the actual maximum values
depend on the type of server layer ODU. For example, a server layer
ODU4 provides 80 tributary slots (numbered from 1 to 80), and the TPN
values can be any number from 1 to 80.</t>
        <t>The OTN Label Range specifies the available values for the Tributary
Port Number (TPN) and Tributary Slots (TS) for setting up ODUk Label
Switched Paths (LSPs) over an OTN Link, with priorities as defined in
<xref target="RFC4203"/>. This range is established according to the guidelines in
<xref target="RFC7139"/>.</t>
        <t>The OTN Label Range is defined by the label-restriction list, defined
in <xref target="I-D.ietf-teas-rfc8776-update"/>, which, for OTN, <bcp14>SHOULD</bcp14> be
augmented using the otn-label-range-info grouping.</t>
        <t>Each entry in the label-restriction list represents either the range
of the available TPN values or the range of the available TS values:
the range-type attribute in the otn-label-range-info grouping defines
the type of range for each list entry.</t>
        <t>Each entry of the label-restriction list, as defined in
<xref target="I-D.ietf-teas-rfc8776-update"/>, defines a label-start, a label-end, a
label-step, and a range-bitmap. The label-start and label-end
definitions for OTN <bcp14>SHOULD</bcp14> be augmented using the otn-label-start-end
grouping. The label-step definition for OTN <bcp14>SHOULD</bcp14> be augmented
using the otn-label-step grouping. It is expected that the otn-label-step will always be equal to its default value (i.e., 1), which
is defined in <xref target="I-D.ietf-teas-rfc8776-update"/>.</t>
        <t>As described in <xref target="RFC7139"/>, in some cases, the TPN assignment rules
are flexible (e.g., ODU4 Link) while in other cases the TPN
assignment rules are fixed (e.g., ODU1 Link). In the former case,
both TPN and TS ranges are reported, while in the latter case, the
TPN range is not reported which indicates that the TPN <bcp14>SHALL</bcp14> be set
equal to the TS number assigned to the ODUk LSP.</t>
        <t>As described in <xref target="RFC7139"/>, in some cases, the TPN assignment rules
depend on the TS Granularity (e.g., ODU2 or ODU3 Links). Different
entries in the label-restriction list will report different TPN
ranges for each TS granularity supported by the link, as indicated by
the tsg attribute in the otn-label-range-info grouping.</t>
        <t>As described in <xref target="RFC7139"/>, in some cases the TPN ranges are different
for different types of ODUk LSPs. For example, on an ODU2 Link with
1.25G TS granularity, the TPN range is 1-4 for ODU1 but 1-8 for ODU0
and ODUflex. Therefore, different entries in the label-restriction
list will report different TPN ranges for a different set of ODUk
types, as indicated by the odu-type-list in the otn-label-range-info
grouping.</t>
        <t>Appendix A provides some examples of how the TPN and TS label ranges
described in Table 3 and Table 4 of <xref target="RFC7139"/> can be represented in
YANG using the groupings defined in this document.</t>
      </section>
      <section anchor="ODUflex">
        <name>ODUflex</name>
        <t>ODUflex is a type of ODU with a flexible bit rate which is configured
when setting up an ODUflex LSP.</t>
        <t><xref target="ITU-T_G.709"/> defines six types of ODUflex: ODUflex(CBR),
ODUflex(GFP), ODUflex(GFP,n,k), ODUflex(IMP), ODUflex(IMP,s), and
ODUflex(FlexE-aware).</t>
        <t>The main difference between these types of ODUflex is the formula
used to calculate the nominal bit rate of the ODUflex, as described
in Table 7-2 of <xref target="ITU-T_G.709"/>. A YANG choice has been defined to
describe these cases:</t>
        <artwork type="ascii-art"><![CDATA[
       +--rw (oduflex-type)?
          +--:(generic)
          |  +--rw nominal-bit-rate        union
          +--:(cbr)
          |  +--rw client-type             identityref
          +--:(gfp-n-k)
          |  +--rw gfp-n                   uint8
          |  +--rw gfp-k?                  l1-types:gfp-k
          +--:(flexe-client)
          |  +--rw flexe-client
          |          l1-types:flexe-client-rate
          +--:(flexe-aware)
          |  +--rw flexe-aware-n           uint16
          +--:(packet)
             +--rw opuflex-payload-rate    union
]]></artwork>
        <t>The OPUflex payload rate can be expressed either in a floating point
notation or a scientific notation, as defined in <xref target="IEEE_754"/> and
<xref target="ISO_IEC_9899"/>.</t>
        <t>The 'generic' case has been added to allow the ODUflex nominal bit
rate to be defined independently of the type of ODUflex. This could
be useful for forward compatibility in the transit domain/nodes where
the set up of ODUflex LSPs does not depend on the ODUflex type.</t>
        <t>In order to simplify interoperability the 'generic' case <bcp14>SHOULD</bcp14> be
used only when needed; the ODUflex type-specific case <bcp14>SHOULD</bcp14> be used
whenever possible.</t>
        <t>The 'cbr' case is used for Constant Bit Rate (CBR) client signals.
The client-type indicates which CBR client signal is carried by the
ODUflex and, implicitly, the client signal bit rate, which is then
used to calculate the ODUflex(CBR) nominal bit rate as described in
Table 7-2 of <xref target="ITU-T_G.709"/>.</t>
        <t>The 'gfp-n-k' case is used for GFP-F mapped client signals based on
ODUk.ts and 'n' 1.25G tributary slots. 'gfp-k' defines the nominal
bit-rate of the ODUk.ts which, together with the value of 'gfp-n', is
used to calculate the ODUflex(GFP,n,k) nominal bit rate as described
in Table 7-8 and Table L-7 of <xref target="ITU-T_G.709"/> . With a few exceptions,
shown in Table L-7 of <xref target="ITU-T_G.709"/>, the nominal bit-rate of the
ODUk.ts could be inferred from the value of 'n', as shown in
Table 7-8 of <xref target="ITU-T_G.709"/> and therefore the 'gfp-k' is optional.</t>
        <t>The 'flexe-client' case is used for Idle Mapping Procedure (IMP)
mapped FlexE client signals, The 'flexe-client' represents the type
of FlexE client carried by the ODUflex which implicitly defines the
value of 's' used to calculate the ODUflex(s) nominal bit rate as
described in Table 7-2 of <xref target="ITU-T_G.709"/>. The '10G' and '40G'
enumeration values are used for 10G and 40G FlexE clients to
implicitly define the values of s=2 and s=8. For the 'n x 25G' FlexE
Clients the value of 'n' is used to define the value of s=5 x n.</t>
        <t>The 'flexe-aware' case is used for FlexE-aware client signals. The
flexe-aware-n represents the value n (n = n1 + n2 + ... + np) which
is used to calculate the ODUflex(FlexE-aware) nominal bit rate as
described in Table 7-2 of <xref target="ITU-T_G.709"/>.</t>
        <t>The 'packet' case is used for both the GFP-F mapped client signals
and the IMP mapped client signals. The opuflex-payload-rate is
either the GFP-F encapsulated-packet client nominal bit rate or the
64b/66b encoded-packet client nominal bit rate. The calculation of
ODUflex(GFP) nominal bit rate is defined in Section 12.2.5 of
<xref target="ITU-T_G.709"/>, and the calculation of ODUflex(IMP) nominal bit rate
is defined in Section 12.2.6 of <xref target="ITU-T_G.709"/>. The same formula is
used in both cases.</t>
        <t>Sections 5.1 and 5.2 of <xref target="RFC7139"/> defines two rules to compute the
number of tributary slots to be allocated to ODUflex(CBR) and
ODUflex(GFP) LSPs when carried over a HO-ODUk link. According to
Section 19.6 of <xref target="ITU-T_G.709"/>, the rules in Section 5.2 apply only to
ODUflex(GFP,n,k) while the rules defined in Section 5.1 apply to any
other ODUflex type, including, but not limited, to ODUflex(CBR).
Section 20.5 of <xref target="ITU-T_G.709"/> defines the rules for computing the
number of tributary slots to be allocated to ODUflex LSPs when
carried over an ODUCn link.</t>
        <t>In order to compute the number of tributary slots required to set up
an ODUflex LSP, or ODUflex LSPs, the type of Optical channel Data
Tributary Unit (ODTU) is reported for the OTN Links or the OTN LTPs
(Link Termination Points).</t>
        <t>Following the <xref target="ITU-T_G.709"/> definitions, the rules defined for
ODUflex(GFP,n,k) are used only when the 'gfp-n-k' case is used. In
all the other cases, including the (generic) case, the rules defined
for any other ODUflex type are used.</t>
        <t>The number of available ODUs, defined for each ODUk type, including
ODUflex, does not provide sufficient information to infer the OTN
link bandwidth availability for ODUflex LSPs.</t>
        <t>The OTN link bandwidth definitions for ODUflex LSPs also depend on
the number of tributary slots (TS) and on the type of ODTU used to
compute the number of TS required to set up an ODUflex LSP, according
to the rules defined in Section 19.6 and Section 20.5 of
<xref target="ITU-T_G.709"/>, as described above.</t>
        <t>Similarly, bandwidth constraints for ODUflex LSPs of the OTN
connectivity matrix and of the OTN local link connectivity entries
depend also on the number of tributary slots (TS) and on the type of
ODTU used to compute the number of TS required to set up an ODUflex
LSP along the underlay path, according to the rules defined in
Section 19.6 and Section 20.5 of <xref target="ITU-T_G.709"/>, as described above.
For example, with reference to Figure 1 of <xref target="RFC7139"/>, the
connectivity matrix entry or the local link connectivity entry
corresponding to the A-C underlay path, would report 2 Tributary
Slots (TS) with ODTU4.ts ODTU type.</t>
        <section anchor="Resize">
          <name>Resizable ODUflex</name>
          <t>Resizable ODUflex is a special type of ODUflex that supports the
procedures defined in <xref target="ITU-T_G.7044"/> for hitless resizing of the
ODUflex nominal bit rate.</t>
          <t>Two odu-type identities have been defined for ODUflex:</t>
          <ul spacing="normal">
            <li>
              <t>The ODUflex identity, which is used with any type of non-resizable
ODUflex, as defined in Table 7-2 of <xref target="ITU-T_G.709"/>.</t>
            </li>
            <li>
              <t>The ODUflex-resizable identity, which is used only with resizable
ODUflex(GFP,n,k).</t>
            </li>
          </ul>
          <t>These two identities are used to identify whether an ODUflex(GFP,n,k)
LSP does or does not support the <xref target="ITU-T_G.7044"/> hitless resizing
procedures. They also identify whether an OTN link only supports the
set up of non-resizable ODUflex LSPs or also supports the set up of
resizable ODUflex(GFP,n,k) LSP but with different capabilities (e.g.,
a lower number of LSPs).</t>
        </section>
      </section>
    </section>
    <section anchor="tree">
      <name>YANG Tree for Layer1 Types</name>
      <artwork type="ascii-art"><![CDATA[
module: ietf-layer1-types

  grouping otn-link-bandwidth:
    +-- otn-bandwidth
       +-- odulist* [odu-type]
          +-- odu-type     identityref
          +-- number?      uint16
          +-- ts-number?   uint16
  grouping otn-path-bandwidth:
    +-- otn-bandwidth
       +-- odu-type?                     identityref
       +-- (oduflex-type)?
          +--:(generic)
          |  +-- nominal-bit-rate        union
          +--:(cbr)
          |  +-- client-type             identityref
          +--:(gfp-n-k)
          |  +-- gfp-n                   uint8
          |  +-- gfp-k?                  gfp-k
          +--:(flexe-client)
          |  +-- flexe-client            flexe-client-rate
          +--:(flexe-aware)
          |  +-- flexe-aware-n           uint16
          +--:(packet)
             +-- opuflex-payload-rate    union
  grouping otn-max-path-bandwidth:
    +-- otn-bandwidth
       +-- odu-type?        identityref
       +-- max-ts-number?   uint16
  grouping otn-label-range-info:
    +-- otn-label-range
       +-- range-type?      otn-label-range-type
       +-- tsg?             identityref
       +-- odu-type-list*   identityref
       +-- priority?        uint8
  grouping otn-label-start-end:
    +-- otn-label
       +-- tpn?   otn-tpn
       +-- ts?    otn-ts
  grouping otn-label-hop:
    +-- otn-label
       +-- tpn?       otn-tpn
       +-- tsg?       identityref
       +-- ts-list?   string
  grouping otn-label-step:
    +-- otn-label-step
       +-- tpn?   otn-tpn
       +-- ts?    otn-ts
]]></artwork>
    </section>
    <section anchor="code">
      <name>YANG Code for Layer1 Types</name>
      <sourcecode type="yang" markers="true" name="ietf-layer1-types@2026-06-12.yang"><![CDATA[
module ietf-layer1-types {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-layer1-types";
  prefix l1-types;

  import ietf-routing-types {
    prefix rt-types;
    reference
      "RFC 8294: Common YANG Data Types for the Routing Area";
  }

  organization
    "IETF CCAMP Working Group";
  contact
    "WG Web: <https://datatracker.ietf.org/wg/ccamp/>
     WG List: <mailto:ccamp@ietf.org>

     Editor: Haomian Zheng
             <mailto:zhenghaomian@huawei.com>

     Editor: Italo Busi
             <mailto:Italo.Busi@huawei.com>";
  description
    "This module defines Layer 1 YANG types.

     Copyright (c) 2026 IETF Trust and the persons
     identified as authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Revised BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX; see
     the RFC itself for full legal notices.

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.";

  revision 2026-06-12 {
    description
      "Initial Version";
    reference
      "RFC XXXX: A YANG Data Model for Layer 1 Types";
    // RFC Editor: replace RFC XXXX with actual RFC number,
    // update date information and remove this note.
  }

  /*
   * Identities
   */

  identity tributary-slot-granularity {
    description
      "Tributary Slot Granularity (TSG).";
    reference
      "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity tsg-1.25G {
    base tributary-slot-granularity;
    description
      "1.25G tributary slot granularity.";
  }

  identity tsg-2.5G {
    base tributary-slot-granularity;
    description
      "2.5G tributary slot granularity.";
  }

  identity tsg-5G {
    base tributary-slot-granularity;
    description
      "5G tributary slot granularity.";
  }

  identity odu-type {
    description
      "Base identity from which specific Optical Data Unit (ODU)
       type is derived.";
    reference
      "RFC 7139: GMPLS Signaling Extensions for Control of Evolving
                 G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity ODU0 {
    base odu-type;
    description
      "ODU0 type (1.24Gb/s).";
    reference
      "RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity ODU1 {
    base odu-type;
    description
      "ODU1 type (2.49Gb/s).";
    reference
      "RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity ODU2 {
    base odu-type;
    description
      "ODU2 type (10.03Gb/s).";
    reference
      "RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity ODU2e {
    base odu-type;
    description
      "ODU2e type (10.39Gb/s).";
    reference
      "RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity ODU3 {
    base odu-type;
    description
      "ODU3 type (40.31Gb/s).";
    reference
      "RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity ODU4 {
    base odu-type;
    description
      "ODU4 type (104.79Gb/s).";
    reference
      "RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity ODUflex {
    base odu-type;
    description
      "ODUflex type (flexible bit rate, not resizable).

       It could be used for any type of ODUflex, including
       ODUflex(CBR), ODUflex(GFP), ODUflex(GFP,n,k), ODUflex(IMP,s),
       ODUflex(IMP) and ODUflex(FlexE-aware).";
    reference
      "RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity ODUflex-resizable {
    base odu-type;
    description
      "ODUflex protocol (flexible bit rate, resizable).

       It could be used only for ODUflex(GFP,n,k).";
    reference
      "RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity protocol {
    description
      "Base identity from which specific protocol is derived.";
    reference
      "MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity Ethernet {
    base protocol;
    description
      "Ethernet protocol.";
    reference
      "MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity Fibre-Channel {
    base protocol;
    description
      "Fibre-Channel (FC) protocol.";
    reference
      "MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity SDH {
    base protocol;
    description
      "SDH protocol.";
    reference
      "MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity SONET {
    base protocol;
    description
      "SONET protocol.";
    reference
      "MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity client-signal {
    description
      "Base identity from which specific Constant Bit Rate (CBR)
       client signal is derived";
  }

  identity coding-func {
    description
      "Base identity from which specific coding function
       is derived.";
    reference
      "MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity ETH-1Gb {
    base client-signal;
    description
      "Client signal type of 1GbE.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 36
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity ETH-10Gb-LAN {
    base client-signal;
    description
      "Client signal type of ETH-10Gb-LAN (10.3 Gb/s).";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 49
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity ETH-10Gb-WAN {
    base client-signal;
    description
      "Client signal type of ETH-10Gb-WAN (9.95 Gb/s).";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 50
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity ETH-40Gb {
    base client-signal;
    description
      "Client signal type of 40GbE.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 82
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity ETH-100Gb {
    base client-signal;
    description
      "Client signal type of 100GbE.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 82
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)";
  }

  identity STM-1 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of STM-1;
       STM-1 G.707 (N=1) coding function.";
    reference
      "ITU-T G.707 v7.0 (01/2007): Network node interface for the
                 synchronous digital hierarchy (SDH)
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity STM-4 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of STM-4;
       STM-4 G.707 (N=4) coding function.";
    reference
      "ITU-T G.707 v7.0 (01/2007): Network node interface for the
                 synchronous digital hierarchy (SDH)
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity STM-16 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of STM-16;
       STM-16 G.707 (N=16) coding function.";
    reference
      "ITU-T G.707 v7.0 (01/2007): Network node interface for the
                 synchronous digital hierarchy (SDH)
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity STM-64 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of STM-64;
       STM-64 G.707 (N=64) coding function.";
    reference
      "ITU-T G.707 v7.0 (01/2007): Network node interface for the
                 synchronous digital hierarchy (SDH)
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity STM-256 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of STM-256;
       STM-256 G.707 (N=256) coding function.";
    reference
      "ITU-T G.707 v7.0 (01/2007): Network node interface for the
                 synchronous digital hierarchy (SDH)
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity OC-3 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of OC3;
       OC-3 GR-253-CORE (N=3) coding function.";
    reference
      "ANSI T1.105-2001: Synchronous Optical Network (SONET)
                 Basic Description including Multiplex Structure,
                 Rates,  and Formats
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity OC-12 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of OC12;
       OC-12 GR-253-CORE (N=12) coding function.";
    reference
      "ANSI T1.105-2001: Synchronous Optical Network (SONET)
                 Basic Description including Multiplex Structure,
                 Rates,  and Formats
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity OC-48 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of OC48;
       OC-48 GR-253-CORE (N=48) coding function.";
    reference
      "ANSI T1.105-2001: Synchronous Optical Network (SONET)
                 Basic Description including Multiplex Structure,
                 Rates,  and Formats
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity OC-192 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of OC192;
       OC-192 GR-253-CORE (N=192) coding function.";
    reference
      "ANSI T1.105-2001: Synchronous Optical Network (SONET)
                 Basic Description including Multiplex Structure,
                 Rates,  and Formats
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity OC-768 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of OC768;
       OC-768 GR-253-CORE (N=768) coding function.";
    reference
      "ANSI T1.105-2001: Synchronous Optical Network (SONET)
                 Basic Description including Multiplex Structure,
                 Rates,  and Formats
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity FC-100 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of Fibre Channel FC-100;
       FC-100 FC-FS-2 (1.0625 Gb/s) coding function.";
    reference
      "ANSI INCITS 230-1994 (R1999): Information Technology -
                 Fibre Channel - Physical and Signaling Interface
                 (FC-PH)
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity FC-200 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of Fibre Channel FC-200;
       FC-200 FC-FS-2 (2.125 Gb/s) coding function.";
    reference
      "ANSI INCITS 230-1994 (R1999): Information Technology -
                 Fibre Channel - Physical and Signaling Interface
                 (FC-PH)
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity FC-400 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of Fibre Channel FC-400;
       FC-400 FC-FS-2 (4.250 Gb/s) coding function.";
    reference
      "ANSI INCITS 230-1994 (R1999): Information Technology -
                 Fibre Channel - Physical and Signaling Interface
                 (FC-PH)
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity FC-800 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of Fibre Channel FC-800;
       FC-800 FC-FS-2 (8.500 Gb/s) coding function.";
    reference
      "ANSI INCITS 230-1994 (R1999): Information Technology -
                 Fibre Channel - Physical and Signaling Interface
                 (FC-PH)
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity FC-1200 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of Fibre Channel FC-1200;
       FC-1200 FC-10GFC (10.51875 Gb/s) coding function.";
    reference
      "ANSI INCITS 230-1994 (R1999): Information Technology -
                 Fibre Channel - Physical and Signaling Interface
                 (FC-PH)
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity FC-1600 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of Fibre Channel FC-1600;
       FC-1600 FC-FS-3 (14.025 Gb/s) coding function.";
    reference
      "ANSI INCITS 230-1994 (R1999): Information Technology -
                 Fibre Channel - Physical and Signaling Interface
                 (FC-PH)
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity FC-3200 {
    base client-signal;
    base coding-func;
    description
      "Client signal type of Fibre Channel FC-3200;
       FC-3200 FC-FS-4 (28.05 Gb/s) coding function.";
    reference
      "ANSI INCITS 230-1994 (R1999): Information Technology -
                 Fibre Channel - Physical and Signaling Interface
                 (FC-PH)
       RFC 7139: GMPLS Signaling Extensions for Control of
                 Evolving G.709 Optical Transport Networks
       ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN)
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity ETH-1000X {
    base coding-func;
    description
      "1000BASE-X PCS clause 36 coding function.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 36
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity ETH-10GW {
    base coding-func;
    description
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 50

       10GBASE-W (WAN PHY) PCS clause 49 and WIS clause 50
       coding function.";
    reference
      "MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity ETH-10GR {
    base coding-func;
    description
      "10GBASE-R (LAN PHY) PCS clause 49 coding function.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 49
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity ETH-40GR {
    base coding-func;
    description
      "40GBASE-R PCS clause 82 coding function.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 82
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity ETH-100GR {
    base coding-func;
    description
      "100GBASE-R PCS clause 82 coding function.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 82
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity optical-interface-func {
    description
      "Base identity from which optical-interface-function
       is derived.";
    reference
      "MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity SX-PMD-1000 {
    base optical-interface-func;
    description
      "SX-PMD-clause-38 Optical Interface function for
       1000BASE-X PCS-36.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 38
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity LX-PMD-1000 {
    base optical-interface-func;
    description
      "LX-PMD-clause-38 Optical Interface function for
       1000BASE-X PCS-36.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 38
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity LX10-PMD-1000 {
    base optical-interface-func;
    description
      "LX10-PMD-clause-59 Optical Interface function for
       1000BASE-X PCS-36.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 59
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity BX10-PMD-1000 {
    base optical-interface-func;
    description
      "BX10-PMD-clause-59 Optical Interface function for
       1000BASE-X PCS-36.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 59
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity LW-PMD-10G {
    base optical-interface-func;
    description
      "LW-PMD-clause-52 Optical Interface function for
       10GBASE-W PCS-49-WIS-50.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 52
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity EW-PMD-10G {
    base optical-interface-func;
    description
      "EW-PMD-clause-52 Optical Interface function for
       10GBASE-W PCS-49-WIS-50.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 52
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity LR-PMD-10G {
    base optical-interface-func;
    description
      "LR-PMD-clause-52 Optical Interface function for
       10GBASE-R PCS-49.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 52
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity ER-PMD-10G {
    base optical-interface-func;
    description
      "ER-PMD-clause-52 Optical Interface function for
       10GBASE-R PCS-49.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 52
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity LR4-PMD-40G {
    base optical-interface-func;
    description
      "LR4-PMD-clause-87 Optical Interface function for
       40GBASE-R PCS-82.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 87
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity ER4-PMD-40G {
    base optical-interface-func;
    description
      "ER4-PMD-clause-87 Optical Interface function for
       40GBASE-R PCS-82.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 87
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity FR-PMD-40G {
    base optical-interface-func;
    description
      "FR-PMD-clause-89 Optical Interface function for
       40GBASE-R PCS-82.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 89
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity LR4-PMD-100G {
    base optical-interface-func;
    description
      "LR4-PMD-clause-88 Optical Interface function for
       100GBASE-R PCS-82.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 88
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  identity ER4-PMD-100G {
    base optical-interface-func;
    description
      "ER4-PMD-clause-88 Optical Interface function for
       100GBASE-R PCS-82.";
    reference
      "IEEE Std 802.3-2022: IEEE Standard for Ethernet, Clause 88
       MEF 63: Subscriber Layer 1 Service Attributes";
  }

  /*
   * Typedefs
   */

  typedef otn-tpn {
    type uint16 {
      range "1..4095";
    }
    description
      "Tributary Port Number (TPN) for OTN.";
    reference
      "RFC 7139: GMPLS Signaling Extensions for Control of Evolving
                 G.709 Optical Transport Networks.";
  }

  typedef otn-ts {
    type uint16 {
      range "1..4095";
    }
    description
      "Tributary Slot (TS) for OTN.";
    reference
      "RFC 7139: GMPLS Signaling Extensions for Control of Evolving
                 G.709 Optical Transport Networks.";
  }

  typedef otn-label-range-type {
    type enumeration {
      enum trib-slot {
        description
          "Defines a range of OTN tributary slots (TS).";
      }
      enum trib-port {
        description
          "Defines a range of OTN tributary ports (TPN).";
      }
    }
    description
      "Defines the type of OTN label range: TS or TPN.";
  }

  typedef gfp-k {
    type enumeration {
      enum 2 {
        description
          "The ODU2.ts rate (1,249,177.230 kbit/s) is used
           to compute the rate of an ODUflex(GFP,n,2).";
      }
      enum 3 {
        description
          "The ODU3.ts rate (1,254,470.354 kbit/s) is used
           to compute the rate of an ODUflex(GFP,n,3).";
      }
      enum 4 {
        description
          "The ODU4.ts rate (1,301,467.133 kbit/s) is used
           to compute the rate of an ODUflex(GFP,n,4).";
      }
    }
    description
      "The ODUk.ts used to compute the rate of an ODUflex(GFP,n,k).";
    reference
      "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN), Tables 7-8 and L.7";
  }

  typedef flexe-client-rate {
    type union {
      type uint16;
      type enumeration {
        enum 10G {
          description
            "Represents a 10G FlexE Client signal (s=2).";
        }
        enum 40G {
          description
            "Represents a 40G FlexE Client signal (s=8).";
        }
      }
    }
    description
      "The FlexE Client signal rate (s x 5,156,250.000 kbit/s)
       used to compute the rate of an ODUflex(IMP, s).

       Valid values for s are s=2 (10G), s=4 (40G) and
       s=5 x n (n x 25G).

       In the first two cases an enumeration value
       (either 10G or 40G) is used, while in the latter case
       the value of n is used.";
    reference
      "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN), Table 7-2";
  }

  typedef odtu-flex-type {
    type enumeration {
      enum 2 {
        description
          "The ODTU2.ts ODTU type.";
      }
      enum 3 {
        description
          "The ODTU3.ts ODTU type.";
      }
      enum 4 {
        description
          "The ODTU4.ts ODTU type.";
      }
      enum Cn {
        description
          "The ODTUCn.ts ODTU type.";
      }
    }
    description
      "The type of Optical Data Tributary Unit (ODTU),
       whose nominal bitrate is used to compute the number of
       Tributary Slots (TS) required by an ODUflex LSP, according to
       the (19-1a) and (20-1a) formulas defined in G.709.";
    reference
      "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                 Transport Network (OTN), clauses 19.6 and 20.5,
                 and Table 7-7";
  }

  typedef bandwidth-scientific-notation {
    type string {
      pattern
        '0(\.0?)?([eE](\+)?0?)?|'
      + '[1-9](\.[0-9]{0,6})?[eE](\+)?(9[0-6]|[1-8][0-9]|0?[0-9])?';
    }
    units "bps";
    description
      "Bandwidth values, expressed using the scientific notation
       in bits per second.

       The encoding format is the external decimal-significant
       character sequences specified in IEEE 754 and
       ISO/IEC 9899 for 32-bit decimal floating-point numbers:
       (-1)**(S) * 10**(Exponent) * (Significant),
       where Significant uses 7 digits.

       An implementation for this representation MAY use decimal32
       or binary32. The range of the Exponent is from -95 to +96
       for decimal32, and from -38 to +38 for binary32.
       As a bandwidth value, the format is restricted to be
       normalized, non-negative, and non-fraction:
       n.dddddde{+}dd, N.DDDDDDE{+}DD, 0e0 or 0E0,
       where 'd' and 'D' are decimal digits; 'n' and 'N' are
       non-zero decimal digits; 'e' and 'E' indicate a power of ten.
       Some examples are 0e0, 1e10, and 9.953e9.";
    reference
      "IEEE Std 754-2019: IEEE Standard for Floating-Point
                 Arithmetic
       ISO/IEC 9899:2024: Information technology - Programming
                 Languages - C";
  }

  /*
   * Groupings
   */

  grouping otn-link-bandwidth {
    description
      "Bandwidth attributes for OTN links.";
    container otn-bandwidth {
      description
        "Bandwidth attributes for OTN links.";
      list odulist {
        key "odu-type";
        description
          "OTN bandwidth definition";
        leaf odu-type {
          type identityref {
            base odu-type;
          }
          description
            "ODU type";
        }
        leaf number {
          type uint16;
          description
            "Number of ODUs.";
        }
        leaf ts-number {
          when "derived-from-or-self(../odu-type,'l1-types:ODUflex')
                or derived-from-or-self(../odu-type,
                'l1-types:ODUflex-resizable')" {
            description
              "Applicable when odu-type is ODUflex or
               ODUflex-resizable.";
          }
          type uint16 {
            range "1..4095";
          }
          description
            "The number of Tributary Slots (TS) that
             could be used by all the ODUflex LSPs.";
        }
      }
    }
  }

  grouping otn-path-bandwidth {
    description
      "Bandwidth attributes for OTN paths.";
    container otn-bandwidth {
      description
        "Bandwidth attributes for OTN paths.";
      leaf odu-type {
        type identityref {
          base odu-type;
        }
        description
          "ODU type";
      }
      choice oduflex-type {
        when "derived-from-or-self(./odu-type,'l1-types:ODUflex')
              or derived-from-or-self(./odu-type,
              'l1-types:ODUflex-resizable')" {
          description
            "Applicable when odu-type is ODUflex or
             ODUflex-resizable.";
        }
        description
          "Types of ODUflex used to compute the ODUflex
           nominal bit rate.";
        reference
          "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                     Transport Network (OTN), Table 7-2";
        case generic {
          leaf nominal-bit-rate {
            type union {
              type l1-types:bandwidth-scientific-notation;
              type rt-types:bandwidth-ieee-float32;
            }
            mandatory true;
            description
              "Nominal ODUflex bit rate.";
          }
        }
        case cbr {
          leaf client-type {
            type identityref {
              base client-signal;
            }
            mandatory true;
            description
              "The type of Constant Bit Rate (CBR) client signal
               of an ODUflex(CBR).";
          }
        }
        case gfp-n-k {
          leaf gfp-n {
            type uint8 {
              range "1..80";
            }
            mandatory true;
            description
              "The value of n for an ODUflex(GFP,n,k).";
            reference
              "ITU-T G.709 v6.0 (06/2020): Interfaces for the
                         Optical Transport Network (OTN),
                         Tables 7-8 and L.7";
          }
          leaf gfp-k {
            type gfp-k;
            description
              "The value of k for an ODUflex(GFP,n,k).

               If omitted, it is calculated from the value of gfp-n
               as described in Table 7-8 of G.709.";
            reference
              "ITU-T G.709 v6.0 (06/2020): Interfaces for the
                         Optical Transport Network (OTN),
                         Tables 7-8 and L.7";
          }
        }
        case flexe-client {
          leaf flexe-client {
            type flexe-client-rate;
            mandatory true;
            description
              "The rate of the FlexE-client for an ODUflex(IMP,s).";
          }
        }
        case flexe-aware {
          leaf flexe-aware-n {
            type uint16;
            mandatory true;
            description
              "The rate of FlexE-aware client signal
               for ODUflex(FlexE-aware)";
          }
        }
        case packet {
          leaf opuflex-payload-rate {
            type union {
              type l1-types:bandwidth-scientific-notation;
              type rt-types:bandwidth-ieee-float32;
            }
            mandatory true;
            description
              "Either the GFP-F encapsulated packet client nominal
               bit rate for an ODUflex(GFP) or the 64b/66b encoded
               packet client nominal bit rate for an ODUflex(IMP).";
          }
        }
      }
    }
  }

  grouping otn-max-path-bandwidth {
    description
      "Maximum bandwidth attributes for OTN paths.";
    container otn-bandwidth {
      description
        "Maximum bandwidth attributes for OTN paths.";
      leaf odu-type {
        type identityref {
          base odu-type;
        }
        description
          "ODU type.";
      }
      leaf max-ts-number {
        when "derived-from-or-self(../odu-type,'l1-types:ODUflex')
              or derived-from-or-self(../odu-type,
              'l1-types:ODUflex-resizable')" {
          description
            "Applicable when odu-type is ODUflex or
             ODUflex-resizable.";
        }
        type uint16 {
          range "1..4095";
        }
        description
          "The maximum number of Tributary Slots (TS) that could be
           used by an ODUflex LSP.";
      }
    }
  }

  grouping otn-label-range-info {
    description
      "Label range information for OTN.

       This grouping SHOULD be used together with the
       otn-label-start-end and otn-label-step groupings to provide
       OTN technology-specific label information to the models which
       use the label-restriction-info grouping defined in the module
       ietf-te-types.";
    container otn-label-range {
      description
        "Label range information for OTN.";
      leaf range-type {
        type otn-label-range-type;
        description
          "The type of range (e.g., TPN or TS)
           to which the label range applies";
      }
      leaf tsg {
        type identityref {
          base tributary-slot-granularity;
        }
        description
          "Tributary slot granularity (TSG) to which the label range
           applies.

           This leaf MUST be present when the range-type is TS.

           This leaf MAY be omitted when mapping an ODUk over an OTUk
           Link. In this case the range-type is tpn, with only one
           entry (ODUk), and the tpn range has only one value (1).";
        reference
          "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                     Transport Network (OTN)";
      }
      leaf-list odu-type-list {
        type identityref {
          base odu-type;
        }
        description
          "List of ODU types to which the label range applies.

           An Empty odu-type-list means that the label range
           applies to all the supported ODU types.";
      }
      leaf priority {
        type uint8 {
          range "0..7";
        }
        description
          "Priority in Interface Switching Capability
           Descriptor (ISCD).";
        reference
          "RFC 4203: OSPF Extensions in Support of Generalized
                     Multi-Protocol Label Switching (GMPLS)";
      }
    }
  }

  grouping otn-label-start-end {
    description
      "The OTN label-start or label-end used to specify an OTN label
       range.

       This grouping is dependent on the range-type defined in the
       otn-label-range-info grouping.

       This grouping SHOULD be used together with the
       otn-label-range-info and otn-label-step groupings to provide
       OTN technology-specific label information to the models which
       use the label-restriction-info grouping defined in the module
       ietf-te-types.";
    container otn-label {
      description
        "Label start or label end for OTN.

         It is either a TPN or a TS depending on the OTN label range
         type specified in the 'range-type' leaf defined in the
         otn-label-range-info grouping.";
      leaf tpn {
        when "../../../../otn-label-range/range-type =
              'trib-port'" {
          description
            "Valid only when range-type represented by
             trib-port.";
        }
        type otn-tpn;
        description
          "Tributary Port Number (TPN).";
        reference
          "RFC 7139: GMPLS Signaling Extensions for Control of
                     Evolving G.709 Optical Transport Networks";
      }
      leaf ts {
        when "../../../../otn-label-range/range-type =
              'trib-slot'" {
          description
            "Valid only when range-type represented by
             trib-slot.";
        }
        type otn-ts;
        description
          "Tributary Slot (TS) number.";
        reference
          "RFC 7139: GMPLS Signaling Extensions for Control of
                     Evolving G.709 Optical Transport Networks";
      }
    }
  }

  grouping otn-label-hop {
    description
      "OTN Label";
    reference
      "RFC 7139: GMPLS Signaling Extensions for Control of Evolving
                 G.709 Optical Transport Networks, section 6";
    container otn-label {
      description
        "Label hop for OTN.";
      leaf tpn {
        type otn-tpn;
        description
          "Tributary Port Number (TPN).";
        reference
          "RFC 7139: GMPLS Signaling Extensions for Control of
                     Evolving G.709 Optical Transport Networks";
      }
      leaf tsg {
        type identityref {
          base tributary-slot-granularity;
        }
        description
          "Tributary Slot Granularity (TSG).";
        reference
          "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical
                     Transport Network (OTN)";
      }
      leaf ts-list {
        type string {
          pattern '([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?'
                + '(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)';
        }
        description
          "A list of available Tributary Slots (TS) ranging
           between 1 and 4095. If multiple values or
           ranges are given, they all MUST be disjoint
           and MUST be in ascending order.
           For example 1-20,25,50-1000.";
        reference
          "RFC 7139: GMPLS Signaling Extensions for Control
                     of Evolving G.709 Optical Transport Networks";
      }
    }
  }

  grouping otn-label-step {
    description
      "Label step for OTN.

       This grouping is dependent on the range-type defined in the
       otn-label-range-info grouping.

       This grouping SHOULD be used together with the
       otn-label-range-info and otn-label-start-end groupings to
       provide OTN technology-specific label information to the
       models which use the label-restriction-info grouping defined
       in the module ietf-te-types.";
    container otn-label-step {
      description
        "Label step for OTN.

         It is either a TPN or a TS depending on the OTN label range
         type specified in the 'range-type' leaf defined in the
         otn-label-range-info grouping.";
      leaf tpn {
        when "../../../otn-label-range/range-type =
              'trib-port'" {
          description
            "Valid only when range-type represented by
             trib-port.";
        }
        type otn-tpn;
        description
          "Label step which represents possible increments for
           Tributary Port Number (TPN).";
        reference
          "RFC 7139: GMPLS Signaling Extensions for Control of
                     Evolving G.709 Optical Transport Networks";
      }
      leaf ts {
        when "../../../otn-label-range/range-type =
              'trib-slot'" {
          description
            "Valid only when range-type represented by
             trib-slot";
        }
        type otn-ts;
        description
          "Label step which represents possible increments for
           Tributary Slot (TS) number.";
        reference
          "RFC 7139: GMPLS Signaling Extensions for Control of
                     Evolving G.709 Optical Transport Networks";
      }
    }
  }
}
]]></sourcecode>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <t>The YANG module specified in this document defines a schema for data
that is designed to be accessed via network management protocols such
as NETCONF <xref target="RFC6241"/> or RESTCONF <xref target="RFC8040"/>. The lowest NETCONF layer
is the secure transport layer, and the mandatory-to-implement secure
transport is Secure Shell (SSH) <xref target="RFC6242"/>. The lowest RESTCONF layer
is HTTPS, and the mandatory-to-implement secure transport is TLS
<xref target="RFC8446"/>.</t>
      <t>If using secure channels, such as SSH for NETCONF or TLS for
RESTCONF, an array of secure validation methods are availible. These
methods range from public key and password authentication to host
identity verification. It is strongly advised to not use options
that require no authentication. However, it is important to
acknowledge that not all authentication methods offer the same level
of security. For instance, password-based authentication is notably
susceptible to security threats such as phishing attacks and password
reuse.</t>
      <t>The NETCONF access control model <xref target="RFC8341"/> provides the means to
restrict access for particular NETCONF or RESTCONF users to a
preconfigured subset of all available NETCONF or RESTCONF protocol
operations and content.</t>
      <t>The YANG module in this document defines layer 1 type definitions
(i.e., typedef, identity and grouping statements) in YANG data
modeling language to be imported and used by other layer 1
technology-specific modules. When imported and used, the resultant
schema will have data nodes that can be writable, or readable. The
access to such data nodes may be considered sensitive or vulnerable
in some network environments. Write operations (e.g., edit-config)
to these data nodes without proper protection can have a negative
effect on network operations.</t>
      <t>The security considerations spelled out in the YANG 1.1 specification
<xref target="RFC7950"/> apply for this document as well.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>It is proposed that IANA should assign new URIs from the "IETF XML
Registry" <xref target="RFC3688"/> as follows:</t>
      <artwork><![CDATA[
      URI: urn:ietf:params:xml:ns:yang:ietf-layer1-types
      Registrant Contact: The IESG
      XML: N/A; the requested URI is an XML namespace.
]]></artwork>
      <t>This document registers following YANG modules in the YANG Module Names
registry <xref target="RFC7950"/>.</t>
      <artwork><![CDATA[
      name:         ietf-layer1-types
      namespace:    urn:ietf:params:xml:ns:yang:ietf-layer1-types
      prefix:       l1-types
      reference:    RFC XXXX
]]></artwork>
      <ul empty="true">
        <li>
          <t>RFC Editor Note: Please replace XXXX with the number assigned to the
RFC once this draft becomes an RFC.</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="ANSI_INCITS_230" target="https://webstore.ansi.org/standards/incits/ansiincits2301994r1999">
          <front>
            <title>Information Technology - Fibre Channel - Physical and Signaling Interface (FC-PH)</title>
            <author>
              <organization>American National Standards Institute</organization>
            </author>
            <date year="1994" month="January"/>
          </front>
          <seriesInfo name="ANSI" value="INCITS 230-1994 (R1999)"/>
        </reference>
        <reference anchor="ANSI_T1.105" target="https://webstore.ansi.org/standards/atis/t11052001">
          <front>
            <title>Synchronous Optical Network (SONET) Basic Description including Multiplex Structure, Rates, and Formats</title>
            <author>
              <organization>American National Standards Institute</organization>
            </author>
            <date year="2001" month="May"/>
          </front>
          <seriesInfo name="ANSI" value="T1.105-2001"/>
        </reference>
        <reference anchor="IEEE_754" target="https://ieeexplore.ieee.org/document/8766229">
          <front>
            <title>IEEE Standard for Floating-Point Arithmetic</title>
            <author>
              <organization>Institute of Electrical and Electronics Engineers</organization>
            </author>
            <date year="2019" month="July"/>
          </front>
          <seriesInfo name="IEEE" value="754-2019"/>
        </reference>
        <reference anchor="IEEE_802.3" target="https://ieeexplore.ieee.org/document/9844436">
          <front>
            <title>IEEE Standard for Ethernet</title>
            <author>
              <organization>Institute of Electrical and Electronics Engineers</organization>
            </author>
            <date year="2022" month="July"/>
          </front>
          <seriesInfo name="IEEE" value="802.3-2022"/>
        </reference>
        <reference anchor="ISO_IEC_9899" target="https://www.iso.org/standard/82075.html">
          <front>
            <title>Information technology -- Programming languages -- C</title>
            <author>
              <organization>International Organization for Standardization</organization>
            </author>
            <date year="2024" month="October"/>
          </front>
          <seriesInfo name="ISO/IEC" value="9899:2024"/>
        </reference>
        <reference anchor="ITU-T_G.7044" target="https://www.itu.int/rec/T-REC-G.7044">
          <front>
            <title>Hitless adjustment of ODUflex(GFP)</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2011" month="October"/>
          </front>
          <seriesInfo name="ITU-T" value="G.7044/Y.1347 (2011)"/>
        </reference>
        <reference anchor="ITU-T_G.707" target="https://www.itu.int/rec/T-REC-G.707">
          <front>
            <title>Network node interface for the synchronous digital hierarchy (SDH)</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2007" month="January"/>
          </front>
          <seriesInfo name="ITU-T" value="G.707/Y.1322 (2007)"/>
        </reference>
        <reference anchor="ITU-T_G.709" target="https://www.itu.int/rec/T-REC-G.709">
          <front>
            <title>Interfaces for the optical transport network</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2020" month="June"/>
          </front>
          <seriesInfo name="ITU-T" value="G.709/Y.1331 (2020)"/>
        </reference>
        <reference anchor="MEF_63" target="https://www.mef.net/wp-content/uploads/2018/08/MEF-63.pdf">
          <front>
            <title>Subscriber Layer1 Service Attributes</title>
            <author>
              <organization>Metro Ethernet Forum</organization>
            </author>
            <date year="2018" month="August"/>
          </front>
          <seriesInfo name="MEF" value="63"/>
        </reference>
        <reference anchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC7139">
          <front>
            <title>GMPLS Signaling Extensions for Control of Evolving G.709 Optical Transport Networks</title>
            <author fullname="F. Zhang" initials="F." role="editor" surname="Zhang"/>
            <author fullname="G. Zhang" initials="G." surname="Zhang"/>
            <author fullname="S. Belotti" initials="S." surname="Belotti"/>
            <author fullname="D. Ceccarelli" initials="D." surname="Ceccarelli"/>
            <author fullname="K. Pithewan" initials="K." surname="Pithewan"/>
            <date month="March" year="2014"/>
            <abstract>
              <t>ITU-T Recommendation G.709 [G709-2012] introduced new Optical channel Data Unit (ODU) containers (ODU0, ODU4, ODU2e, and ODUflex) and enhanced Optical Transport Network (OTN) flexibility.</t>
              <t>This document updates the ODU-related portions of RFC 4328 to provide extensions to GMPLS signaling to control the full set of OTN features, including ODU0, ODU4, ODU2e, and ODUflex.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7139"/>
          <seriesInfo name="DOI" value="10.17487/RFC7139"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8294">
          <front>
            <title>Common YANG Data Types for the Routing Area</title>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <author fullname="C. Hopps" initials="C." surname="Hopps"/>
            <author fullname="L. Berger" initials="L." surname="Berger"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>This document defines a collection of common data types using the YANG data modeling language. These derived common types are designed to be imported by other modules defined in the routing area.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8294"/>
          <seriesInfo name="DOI" value="10.17487/RFC8294"/>
        </reference>
        <reference anchor="I-D.ietf-teas-rfc8776-update">
          <front>
            <title>Common YANG Data Types for Traffic Engineering</title>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Aihua Guo" initials="A." surname="Guo">
              <organization>Futurewei Technologies</organization>
            </author>
            <author fullname="Xufeng Liu" initials="X." surname="Liu">
              <organization>Individual</organization>
            </author>
            <author fullname="Tarek Saad" initials="T." surname="Saad">
              <organization>Cisco Systems Inc.</organization>
            </author>
            <author fullname="Igor Bryskin" initials="I." surname="Bryskin">
              <organization>Individual</organization>
            </author>
            <date day="12" month="June" year="2026"/>
            <abstract>
              <t>   This document defines a collection of commonly used Traffic
   Engineering (TE) specific data types, identities, and groupings in
   YANG data modeling language.  These derived common data types,
   identities, and groupings are intended to be imported by other
   modules that model configuration and state for TE constructs, such as
   TE Topologies, TE Tunnels, TE Policies, TE Paths, TE Label Switched
   Paths (LSPs), and TE interfaces.

   This document obsoletes RFC 8776.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teas-rfc8776-update-24"/>
        </reference>
        <reference anchor="RFC4203">
          <front>
            <title>OSPF Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)</title>
            <author fullname="K. Kompella" initials="K." role="editor" surname="Kompella"/>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <date month="October" year="2005"/>
            <abstract>
              <t>This document specifies encoding of extensions to the OSPF routing protocol in support of Generalized Multi-Protocol Label Switching (GMPLS). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4203"/>
          <seriesInfo name="DOI" value="10.17487/RFC4203"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC8040">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8040"/>
          <seriesInfo name="DOI" value="10.17487/RFC8040"/>
        </reference>
        <reference anchor="RFC6242">
          <front>
            <title>Using the NETCONF Protocol over Secure Shell (SSH)</title>
            <author fullname="M. Wasserman" initials="M." surname="Wasserman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>This document describes a method for invoking and running the Network Configuration Protocol (NETCONF) within a Secure Shell (SSH) session as an SSH subsystem. This document obsoletes RFC 4742. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6242"/>
          <seriesInfo name="DOI" value="10.17487/RFC6242"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="ITU-T_G.Sup43" target="https://www.itu.int/rec/T-REC-G.Sup43">
          <front>
            <title>Transport of IEEE 10GBASE-R in optical transport networks (OTN)</title>
            <author>
              <organization>International Telecommunication Union</organization>
            </author>
            <date year="2011" month="February"/>
          </front>
          <seriesInfo name="ITU-T" value="G.Sup43 (2011)"/>
        </reference>
        <reference anchor="RFC7062">
          <front>
            <title>Framework for GMPLS and PCE Control of G.709 Optical Transport Networks</title>
            <author fullname="F. Zhang" initials="F." role="editor" surname="Zhang"/>
            <author fullname="D. Li" initials="D." surname="Li"/>
            <author fullname="H. Li" initials="H." surname="Li"/>
            <author fullname="S. Belotti" initials="S." surname="Belotti"/>
            <author fullname="D. Ceccarelli" initials="D." surname="Ceccarelli"/>
            <date month="November" year="2013"/>
            <abstract>
              <t>This document provides a framework to allow the development of protocol extensions to support Generalized Multi-Protocol Label Switching (GMPLS) and Path Computation Element (PCE) control of Optical Transport Networks (OTNs) as specified in ITU-T Recommendation G.709 as published in 2012.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7062"/>
          <seriesInfo name="DOI" value="10.17487/RFC7062"/>
        </reference>
        <reference anchor="RFC7138">
          <front>
            <title>Traffic Engineering Extensions to OSPF for GMPLS Control of Evolving G.709 Optical Transport Networks</title>
            <author fullname="D. Ceccarelli" initials="D." role="editor" surname="Ceccarelli"/>
            <author fullname="F. Zhang" initials="F." surname="Zhang"/>
            <author fullname="S. Belotti" initials="S." surname="Belotti"/>
            <author fullname="R. Rao" initials="R." surname="Rao"/>
            <author fullname="J. Drake" initials="J." surname="Drake"/>
            <date month="March" year="2014"/>
            <abstract>
              <t>This document describes Open Shortest Path First - Traffic Engineering (OSPF-TE) routing protocol extensions to support GMPLS control of Optical Transport Networks (OTNs) specified in ITU-T Recommendation G.709 as published in 2012. It extends mechanisms defined in RFC 4203.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7138"/>
          <seriesInfo name="DOI" value="10.17487/RFC7138"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-otn-topo-yang">
          <front>
            <title>A YANG Data Model for Optical Transport Network Topology</title>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Xufeng Liu" initials="X." surname="Liu">
              <organization>Alef Edge</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <date day="7" month="November" year="2024"/>
            <abstract>
              <t>   This document defines a YANG data model for representing, retrieving,
   and manipulating Optical Transport Network (OTN) topologies.  It is
   independent of control plane protocols and captures topological and
   resource-related information pertaining to OTN.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-otn-topo-yang-20"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-otn-tunnel-model">
          <front>
            <title>A YANG Data Model for Optical Transport Network (OTN) Tunnels and Label Switched Paths</title>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Sergio Belotti" initials="S." surname="Belotti">
              <organization>Nokia</organization>
            </author>
            <author fullname="Victor Lopez" initials="V." surname="Lopez">
              <organization>Nokia</organization>
            </author>
            <author fullname="Yunbin Xu" initials="Y." surname="Xu">
              <organization>CAICT</organization>
            </author>
            <date day="27" month="May" year="2026"/>
            <abstract>
              <t>   This document describes the YANG data model for tunnels in OTN TE
   networks.  The model can be used to do the configuration in order to
   establish the tunnel in OTN network.  This work is independent with
   the control plane protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-otn-tunnel-model-25"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-client-signal-yang">
          <front>
            <title>A YANG Data Model for Transport Network Client Signals</title>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Aihua Guo" initials="A." surname="Guo">
              <organization>Futurewei</organization>
            </author>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Anton Snitser" initials="A." surname="Snitser">
              <organization>Cisco</organization>
            </author>
            <author fullname="Chaode Yu" initials="C." surname="Yu">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="4" month="February" year="2026"/>
            <abstract>
              <t>   A transport network is a server-layer network to provide connectivity
   services to its client.  The topology and tunnel information in the
   transport layer has already been defined by generic Traffic-
   engineered models and technology-specific models (e.g., OTN, WSON).
   However, how the client signals are accessing to the network has not
   been described.  These information is necessary to both client and
   provider.

   This draft describes how the client signals are carried over
   transport network and defines YANG data models which are required
   during configuration procedure.  More specifically, several client
   signal (of transport network) models including ETH, STM-n, FC and so
   on, are defined in this draft.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-client-signal-yang-17"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-l1csm-yang">
          <front>
            <title>A YANG Data Model for L1 Connectivity Service Model (L1CSM)</title>
            <author fullname="Young Lee" initials="Y." surname="Lee">
              <organization>Samsung</organization>
            </author>
            <author fullname="Kwang-koog Lee" initials="K." surname="Lee">
              <organization>Korea Telecom</organization>
            </author>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Oscar Gonzalez de Dios" initials="O. G." surname="de Dios">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Daniele Ceccarelli" initials="D." surname="Ceccarelli">
              <organization>Cisco</organization>
            </author>
            <date day="11" month="April" year="2024"/>
            <abstract>
              <t>   This document provides a YANG Layer 1 Connectivity Service Model
   (L1CSM).

   This model can be utilized by a customer network controller to
   initiate a connectivity service request as well as to retrieve
   service states for a Layer 1 network controller communicating with
   its customer network controller.  This YANG model is in compliance of
   Network Management Datastore Architecture (NMDA).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-l1csm-yang-26"/>
        </reference>
        <reference anchor="RFC9376">
          <front>
            <title>Applicability of GMPLS for beyond 100 Gbit/s Optical Transport Network</title>
            <author fullname="Q. Wang" initials="Q." role="editor" surname="Wang"/>
            <author fullname="R. Valiveti" initials="R." role="editor" surname="Valiveti"/>
            <author fullname="H. Zheng" initials="H." role="editor" surname="Zheng"/>
            <author fullname="H. van Helvoort" initials="H." surname="van Helvoort"/>
            <author fullname="S. Belotti" initials="S." surname="Belotti"/>
            <date month="March" year="2023"/>
            <abstract>
              <t>This document examines the applicability of using existing GMPLS routing and signaling mechanisms to set up Optical Data Unit-k (ODUk) Label Switched Paths (LSPs) over Optical Data Unit-Cn (ODUCn) links as defined in the 2020 version of ITU-T Recommendation G.709.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9376"/>
          <seriesInfo name="DOI" value="10.17487/RFC9376"/>
        </reference>
        <reference anchor="RFC7963">
          <front>
            <title>RSVP-TE Extension for Additional Signal Types in G.709 Optical Transport Networks (OTNs)</title>
            <author fullname="Z. Ali" initials="Z." surname="Ali"/>
            <author fullname="A. Bonfanti" initials="A." surname="Bonfanti"/>
            <author fullname="M. Hartley" initials="M." surname="Hartley"/>
            <author fullname="F. Zhang" initials="F." surname="Zhang"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>RFCs 4328 and 7139 provide signaling extensions in Resource ReserVation Protocol - Traffic Engineering (RSVP-TE) to control the full set of Optical Transport Network (OTN) features. However, these specifications do not cover the additional Optical channel Data Unit (ODU) containers defined in G.Sup43 (ODU1e, ODU3e1, and ODU3e2). This document defines new Signal Types for these additional containers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7963"/>
          <seriesInfo name="DOI" value="10.17487/RFC7963"/>
        </reference>
        <reference anchor="I-D.ietf-ccamp-transport-nbi-app-statement">
          <front>
            <title>Transport Northbound Interface Applicability Statement</title>
            <author fullname="Italo Busi" initials="I." surname="Busi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Daniel King" initials="D." surname="King">
              <organization>Old Dog Consulting</organization>
            </author>
            <author fullname="Haomian Zheng" initials="H." surname="Zheng">
              <organization>Huawei</organization>
            </author>
            <author fullname="Yunbin Xu" initials="Y." surname="Xu">
              <organization>CAICT</organization>
            </author>
            <date day="10" month="July" year="2023"/>
            <abstract>
              <t>   This document provides an analysis of the applicability of the YANG
   models defined by the IETF (in particular in the Traffic Engineering
   Architecture and Signaling (TEAS) and Common Control and Measurement
   Plane (CCAMP) working groups) to support ODU transit services,
   transparent client services, and Ethernet Private Line/Ethernet
   Virtual Private Line (EPL/EVPL) services over Optical Transport
   Network (OTN) in single and multi-domain network scenarios.

   This document also describes how existing YANG models can be used
   through several worked examples and JSON fragments.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-transport-nbi-app-statement-17"/>
        </reference>
        <reference anchor="RFC8792">
          <front>
            <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>This document defines two strategies for handling long lines in width-bounded text content. One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line. The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy. Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8792"/>
          <seriesInfo name="DOI" value="10.17487/RFC8792"/>
        </reference>
      </references>
    </references>
    <?line 2040?>

<section anchor="app1">
      <name>Examples of OTN Label Ranges</name>
      <t>This appendix provides some examples of how the TPN and TS label
ranges described in Table 3 and Table 4 of <xref target="RFC7139"/> can be
represented in YANG using the groupings defined in this document.</t>
      <t>It also considers the OTUk links in addition to HO-ODUk links.</t>
      <t>The JSON code examples provided in this appendix provides some
embedded comments following the conventions in Section 3.2 of
<xref target="I-D.ietf-ccamp-transport-nbi-app-statement"/> and have been folded
using the tool in <xref target="RFC8792"/>.</t>
      <ul empty="true">
        <li>
          <t>Note that this JSON example has been simplified for readability and therefore cannot be validated against the reference YANG model.</t>
        </li>
      </ul>
      <sourcecode type="json"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "// examples of label-restrictions for different OTN Links": [
    {
      "// example": "HO-ODU1 or OTU1 Link",
      "label-restrictions": {
        "label-restriction": [
          {
            "index ": 1,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-port",
              "// not-present tsg": "",
              "odu-type-list": "[ ODU1 ]",
              "// default priority": 7
            },
            "// tpn-range": 1,
            "// comment": "Since no TS range and no TSG are \
reported for ODU1, the link is an OTU1 Link. TS allocation is not \
needed and TPN shall be set to '1' for mapping ODU1 over OTU1. This \
            entry is not present if the OTN Link is an HO-ODU1 Link."
          },
          {
            "index ": 2,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-slot",
              "tsg": "tsg-1.25G",
              "odu-type-list": "[ ODU0 ]",
              "// default priority": 7
            },
            "// ts-range": "1-2",
            "// comment": "Since no TPN range is reported for ODU0 \
with 1.25G TSG, the TPN allocation rule is fixed (TPN = TS#) for \
mapping LO-ODU0 over HO-ODU1 with 1.25G TSG. See Table 4 of [RFC7139\
                                                                  ]."
          }
        ]
      }
    },
    {
      "// example": "HO-ODU2 or OTU2 Link",
      "label-restrictions": {
        "label-restriction": [
          {
            "index ": 1,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-port",
              "// not-present tsg": "",
              "odu-type-list": "[ ODU2 ]",
              "// default priority": 7
            },
            "// tpn-range": 1,
            "// comment": "Since no TS range and no TSG are \
reported for ODU2, the link is an OTU2 Link. TS allocation is not \
needed and TPN shall be set to '1' for mapping ODU2 over OTU2. This \
            entry is not present if the OTN Link is an HO-ODU2 Link."
          },
          {
            "index ": 2,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-slot",
              "tsg": "tsg-1.25G",
              "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, \
                                                             ODU1 ]",
              "// default priority": 7
            },
            "// ts-range": "1-8"
          },
          {
            "index ": 3,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-port",
              "tsg": "tsg-1.25G ",
              "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0 ]",
              "// default priority": 7
            },
            "// tpn-range": "1-8",
            "// comment": "Since this TPN range is reported for \
ODUflex and ODU0 with 1.25G TSG, the TPN assignment rule is \
flexible within a common range for mapping LO-ODUflex and LO-ODU0 \
              over HO-ODU2 with 1.25G TSG. See Table 4 of [RFC7139]."
          },
          {
            "index ": 4,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-port",
              "tsg": "tsg-1.25G",
              "odu-type-list": "[ ODU1 ]",
              "// default priority": 7
            },
            "// tpn-range": "1-4",
            "// comment": "Since this TPN range is reported for \
ODU1 with 1.25G TSG, the TPN assignment rule is flexible within a \
common range for mapping LO-ODU1 over HO-ODU2 with 1.25G TSG. See \
                                               Table 4 of [RFC7139]."
          },
          {
            "index ": 5,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-slot",
              "tsg": "tsg-2.5G",
              "odu-type-list": "[ ODU1 ]",
              "// default priority": 7
            },
            "// ts-range": "1-4",
            "// comment": "Since no TPN range is reported for ODU1 \
with 2.5G TSG, the TPN allocation rule is fixed (TPN = TS#) for \
mapping LO-ODU1 over HO-ODU2 with 2.5G TSG. See Table 3 of [RFC7139]\
                                                                   ."
          }
        ]
      }
    },
    {
      "// example": "HO-ODU3 or OTU3 Link",
      "label-restrictions": {
        "label-restriction": [
          {
            "index ": 1,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-port",
              "// not-present tsg": "",
              "odu-type-list": "[ ODU3 ]",
              "// default priority": 7
            },
            "// tpn-range": 1,
            "// comment": "Since no TS range and no TSG are \
reported for ODU3, the link is an OTU3 Link. TS allocation is not \
needed and TPN shall be set to '1' for mapping ODU3 over OTU3. This \
            entry is not present if the OTN Link is an HO-ODU3 Link."
          },
          {
            "index ": 2,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-slot",
              "tsg": "tsg-1.25G",
              "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, \
                                                ODU1, ODU2, ODU2e ]",
              "// default priority": 7
            },
            "// ts-range": "1-32"
          },
          {
            "index ": 3,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-port",
              "tsg": "tsg-1.25G",
              "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, \
                                                            ODU2e ]",
              "// default priority": 7
            },
            "// tpn-range": "1-32",
            "// comment": "Since this TPN range is reported for \
ODUflex, ODU0 and ODU2e with 1.25G TSG, the TPN assignment rule is \
flexible within a common range for mapping LO-ODUflex, LO-ODU0 and \
     LO-ODU2e over HO-ODU3 with 1.25G TSG. See Table 4 of [RFC7139]."
          },
          {
            "index ": 4,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-port",
              "tsg": "tsg-1.25G",
              "odu-type-list": "[ ODU1 ]",
              "// default priority": 7
            },
            "// tpn-range": "1-16",
            "// comment": "Since this TPN range is reported for \
ODU1 with 1.25G TSG, the TPN assignment rule is flexible within a \
common range for mapping LO-ODU1 over HO-ODU3 with 1.25G TSG. See \
                                               Table 4 of [RFC7139]."
          },
          {
            "index ": 5,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-port",
              "tsg": "tsg-1.25G",
              "odu-type-list": "[ ODU2 ]",
              "// default priority": 7
            },
            "// tpn-range": "1-4",
            "// comment": "Since this TPN range is reported for \
ODU2 with 1.25G TSG, the TPN assignment rule is flexible within a \
common range for mapping LO-ODU2 over HO-ODU3 with 1.25G TSG. See \
                                               Table 4 of [RFC7139]."
          },
          {
            "index ": 6,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-slot",
              "tsg": "tsg-2.5G",
              "odu-type-list": "[ ODU1, ODU2 ]",
              "// default priority": 7
            },
            "// ts-range": "1-16"
          },
          {
            "index ": 7,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-port",
              "tsg": "tsg-2.5G ",
              "odu-type-list": "[ ODU2 ]",
              "// default priority": 7
            },
            "// tpn-range": "1-4",
            "// comment": "Since this TPN range is reported for \
ODU2 with 2.5G TSG, the TPN assignment rule is flexible within a \
common range for mapping LO-ODU2 over HO-ODU3. Since no TPN range \
is reported for ODU1 with 2.5G TSG, the TPN allocation rule is \
fixed (TPN = TS#) for mapping LO-ODU1 over HO-ODU3 with 2.5G TSG. \
                                           See Table 3 of [RFC7139]."
          }
        ]
      }
    },
    {
      "// example": "HO-ODU4 or OTU4 Link",
      "label-restrictions": {
        "label-restriction": [
          {
            "index ": 1,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-port",
              "// not-present tsg": "",
              "odu-type-list": "[ ODU4 ]",
              "// default priority": 7
            },
            "// tpn-range": 1,
            "// comment": "Since no TS range and no TSG are \
reported for ODU4, the link is an OTU4 Link. TS allocation is not \
needed and TPN shall be set to '1' for mapping ODU4 over OTU4. This \
            entry is not present if the OTN Link is an HO-ODU4 Link."
          },
          {
            "index ": 2,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-slot",
              "tsg": "tsg-1.25G",
              "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, \
                                          ODU1, ODU2, ODU2e, ODU3 ]",
              "// default priority": 7
            },
            "// ts-range": "1-80"
          },
          {
            "index ": 3,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-port",
              "tsg": "tsg-1.25G",
              "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, \
                                          ODU1, ODU2, ODU2e, ODU3 ]",
              "// default priority": 7
            },
            "// tpn-range": "1-80",
            "// comment": "Since this TPN range is reported for any \
LO-ODUj with 1.25G TSG, the TPN assignment rule is flexible within \
a common range for mapping any LO-ODUj over HO-ODU4 with 1.25G TSG. \
                                           See Table 4 of [RFC7139]."
          }
        ]
      }
    },
    {
      "// example": "ODUC1 Link",
      "label-restrictions": {
        "label-restriction": [
          {
            "index ": 1,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-slot",
              "tsg": "tsg-5G",
              "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, \
                                    ODU1, ODU2, ODU2e, ODU3, ODU4 ]",
              "// default priority": 7
            },
            "// ts-range": "1-20",
            "// comment": "Since the TS range is specified for any \
                                ODUk, the OTN Link is an ODUCn Link."
          },
          {
            "index ": 2,
            "// default restriction": "inclusive",
            "otn-label-range": {
              "range-type": "label-range-trib-port",
              "tsg": "tsg-5G",
              "odu-type-list": "[ ODUFlex-cbr, ODUFlex-gfp, ODU0, \
                                    ODU1, ODU2, ODU2e, ODU3, ODU4 ]",
              "// default priority": 7
            },
            "// tpn-range": "1-10",
            "// comment": "Since this TPN range is reported for any \
ODUk with 5G TSG, the TPN assignment rule is flexible within a \
           common range for mapping any ODUk over ODUCn with 5G TSG."
          }
        ]
      }
    }
  ]
}
]]></sourcecode>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors and the working group give their sincere thanks to Robert
Wilton for the YANG doctor review, to Tom Petch for his comments
during the model and document development, and to Deborah Brungard
for her support in addressing IESG review comments on the scope of
this document.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="D." surname="Beller" fullname="Dieter Beller">
        <organization>Nokia</organization>
        <address>
          <email>dieter.beller@nokia.com</email>
        </address>
      </contact>
      <contact initials="S." surname="Belottis" fullname="Sergio Belottis">
        <organization>Nokia</organization>
        <address>
          <email>sergio.belotti@nokia.com</email>
        </address>
      </contact>
      <contact initials="Y." surname="Zheng" fullname="Yanlei Zheng">
        <organization>China Unicom</organization>
        <address>
          <email>zhengyanlei@chinaunicom.cn</email>
        </address>
      </contact>
      <contact initials="A." surname="Guo" fullname="Aihua Guo">
        <organization>Futurewei</organization>
        <address>
          <email>aihuaguo.ietf@gmail.com</email>
        </address>
      </contact>
      <contact initials="Y." surname="Lee" fullname="Young Lee">
        <organization>CRU</organization>
        <address>
          <email>younglee.tx@gmail.com</email>
        </address>
      </contact>
      <contact initials="L." surname="Wang" fullname="Lei Wang">
        <organization>China Mobile</organization>
        <address>
          <email>wangleiyj@chinamobile.com</email>
        </address>
      </contact>
      <contact initials="O." surname="Gonzalez de Dios" fullname="Oscar Gonzalez de Dios">
        <organization>Telefonica</organization>
        <address>
          <email>oscar.gonzalezdedios@telefonica.com</email>
        </address>
      </contact>
      <contact initials="X." surname="Liu" fullname="Xufeng Liu">
        <organization>Individual</organization>
        <address>
          <email>xufeng.liu.ietf@gmail.com</email>
        </address>
      </contact>
      <contact initials="Y." surname="Xu" fullname="Yunbin Xu">
        <organization>CAICT</organization>
        <address>
          <email>xuyunbin@caict.ac.cn</email>
        </address>
      </contact>
      <contact initials="A." surname="Sharma" fullname="Anurag Sharma">
        <organization>Google</organization>
        <address>
          <email>ansha@google.com</email>
        </address>
      </contact>
      <contact initials="R." surname="Rao" fullname="Rajan Rao">
        <organization>Infinera</organization>
        <address>
          <email>rrao@infinera.com</email>
        </address>
      </contact>
      <contact initials="V." surname="Lopez" fullname="Victor Lopez">
        <organization>Nokia</organization>
        <address>
          <email>victor.lopez@nokia.com</email>
        </address>
      </contact>
      <contact initials="Y." surname="Li" fullname="Yunbo Li">
        <organization>China Mobile</organization>
        <address>
          <email>liyunbo@chinamobile.com</email>
        </address>
      </contact>
      <contact initials="D." surname="King" fullname="Daniel King">
        <organization>Old Dog Consulting</organization>
        <address>
          <email>daniel@olddog.co.uk</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
Q9TxFlE/oDNscXdsek/L/wdcl1Z0qEQBAA==

-->

</rfc>
