<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ccamp-layer1-types-20" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.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-20"/>
    <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="September" day="14"/>
    <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>This section is modeled after the template described in <xref section="3.7.1" sectionFormat="of" target="RFC9907"/>.</t>
      <t>The "ietf-layer1-types" YANG module defines a data model that is
designed to be accessed via YANG-based management protocols, such as
Network Configuration Protocol (NETCONF) <xref target="RFC6241"/> and RESTCONF <xref target="RFC8040"/>.
These YANG-based management protocols (1) have to use a secure transport
layer (e.g., SSH <xref target="RFC4252"/>, TLS <xref target="RFC8446"/>, and
QUIC <xref target="RFC9000"/>) and (2) have to use mutual authentication.</t>
      <t>The Network Configuration Access Control Model (NACM) <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 defines a set of identities, types, and
groupings. These nodes are intended to be reused by other YANG
modules. The module by itselft does not expose any data nodes that
are writable, data nodes that contain read-only state, or RPCs.
As such, there are no additional security issues related to
the YANG module that need to be considered.</t>
      <t>Modules that use the groupings that are defined in this document
should identify the corresponding security considerations.
For example using 'otn-link-bandwidth', 'otn-label-range-info' or 'otn-label-start-end' groupings
may expose sensitive OTN topology information.</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="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>Individual</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="16" month="June" year="2026"/>
            <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-21"/>
        </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="13" month="August" 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-26"/>
        </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="5" month="August" 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-18"/>
        </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>CRU</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="17" month="June" year="2026"/>
            <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.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-l1csm-yang-28"/>
        </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="RFC9907">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="March" year="2026"/>
            <abstract>
              <t>This document provides guidelines for authors and reviewers of specifications containing YANG data models, including IANA-maintained YANG modules. Recommendations and procedures are defined, which are intended to increase interoperability and usability of Network Configuration Protocol (NETCONF) and RESTCONF protocol implementations that utilize YANG modules.</t>
              <t>This document obsoletes RFC 8407; it also updates RFC 8126 by providing additional guidelines for writing the IANA considerations for RFCs that specify IANA-maintained YANG modules.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="216"/>
          <seriesInfo name="RFC" value="9907"/>
          <seriesInfo name="DOI" value="10.17487/RFC9907"/>
        </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="RFC4252">
          <front>
            <title>The Secure Shell (SSH) Authentication Protocol</title>
            <author fullname="T. Ylonen" initials="T." surname="Ylonen"/>
            <author fullname="C. Lonvick" initials="C." role="editor" surname="Lonvick"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>The Secure Shell Protocol (SSH) is a protocol for secure remote login and other secure network services over an insecure network. This document describes the SSH authentication protocol framework and public key, password, and host-based client authentication methods. Additional authentication methods are described in separate documents. The SSH authentication protocol runs on top of the SSH transport layer protocol and provides a single authenticated tunnel for the SSH connection protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4252"/>
          <seriesInfo name="DOI" value="10.17487/RFC4252"/>
        </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="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </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 2030?>

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

-->

</rfc>
