<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std"
     docName="draft-geng-lsr-isis-te-extension-enhanced-detnet-01"
     ipr="trust200902">
  <front>
    <title abbrev="draftgeng-lsr-isis-extension-enhanced-detnet">ISIS-TE
    Extensions for Enhanced DetNet</title>

    <author fullname="Xuesong Geng" initials="X." surname="Geng">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <code/>

          <country/>
        </postal>

        <email>gengxuesong@huawei.com</email>
      </address>
    </author>

    <author fullname="Zhenbin Li" initials="Z." surname="Li">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country/>
        </postal>

        <phone/>

        <facsimile/>

        <email>lizhenbin@huawei.com</email>

        <uri/>
      </address>
    </author>

    <author fullname="Tianran Zhou" initials="T." surname="Zhou">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country/>
        </postal>

        <phone/>

        <facsimile/>

        <email>zhoutianran@huawei.com</email>

        <uri/>
      </address>
    </author>

    <date day="13" month="March" year="2023"/>

    <area>Routing Area</area>

    <workgroup>LSR Working Group</workgroup>

    <keyword>Sample</keyword>

    <keyword>Draft</keyword>

    <abstract>
      <t>This document defines extensions to ISIS to distribute the enhanced
      DetNet information at node and/or link granularity.</t>
    </abstract>

    <note title="Requirements Language">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref
      target="RFC2119">RFC 2119</xref>.</t>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <t>DetNet(<xref target="RFC8655"/>) provides the capability to carry
      specified unicast or multicast data flows with extremely low data loss
      rates and bounded end-to-end latency within a network domain. Three
      primary goals of DetNet QoS are defined in section 3.1 of <xref
      target="RFC8655"/>:</t>

      <t><list style="symbols">
          <t>Minimum and maximum end-to-end latency from source to
          destination, timely delivery, and bounded jitter (packet delay
          variation) derived from these constraints.</t>

          <t>Packet loss ratio under various assumptions as to the operational
          states of the nodes and links.</t>

          <t>An upper bound on out-of-order packet delivery. It is worth
          noting that some DetNet applications are unable to tolerate any
          out-of-order delivery.</t>
        </list>This document defines extensions to ISIS to distribute the
      inforamtion for bounded latency(enhanced DetNet) at node and/or link
      granularity.</t>

      <t>Some of information (e.g., Link delay/loss ) can be distributed and
      collected through <xref target="RFC7471">Traffic Engineering (TE) metric
      extensions</xref> and <xref target="RFC7810"/>, which will not be
      redefined by this document.</t>

      <t/>
    </section>

    <section title="Terminology">
      <t>All the DetNet related terminologies used in this document conform to
      the <xref target="I-D.ietf-detnet-architecture">DetNet
      architecture</xref>.</t>
    </section>

    <section title="DetNet Extensions to ISIS TE">
      <t>This document defines an extension to IS-IS used to advertise DetNet
      information.</t>

      <section title="DetNet Node Attributes Advertisement">
        <t/>

        <section title="DetNet Processing Delay Sub-TLV">
          <t>The DetNet Processing Delay Sub-TLV is defined within the body of
          the IS-IS Router Capability TLV [RFC7981] to carry Enhanced DetNet
          information.</t>

          <t>In the scope of DetNet, packet processing delay, which begins
          after the packet goes into the input port and ends before the packet
          arrives the output buffer, can expected in a known range, and the
          value of the delay bound is specified in this sub-TLV,
          including:</t>

          <t><list style="symbols">
              <t>Maximum DetNet packet processing delay</t>

              <t>Minimum DetNet packet processing delay</t>

              <t>Maximum DetNet packet processing delay variation</t>
            </list>The format of this sub-TLV is shown in the following
          diagram:</t>

          <figure>
            <artwork><![CDATA[  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   Type(TBD1)  |   Length(8)   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   RESERVED    |      Minimum DetNet Processing Delay          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   RESERVED    |      Maximum DetNet Processing Delay          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   RESERVED    |   Maximum DetNet Processing Delay Variation   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
          </figure>

          <t>The Type field is 1 octets in length, and the value is TBD1.</t>

          <t>The Length field is 1 octets in length and its value is 8.</t>

          <t>The RESERVED field is reserved for future use. It MUST be set to
          0 when sent and MUST be ignored when received.</t>

          <t>The Minimum DetNet Processing Delay is 3 octets in length and
          presents the minimum delay for a DetNet flow in the device,
          excluding the queuing delay in output port. The units are
          microsecond.</t>

          <t>The Maximum DetNet Processing Delay is 3 octets in length and
          presents the maximum delay for a DetNet flow in the device,
          excluding the queuing delay in output port. The units are
          microsecond.</t>

          <t>The Maximum DetNet Processing Delay Variation is 3 octets in
          length and presents the maximum delay variation for a DetNet flow in
          the device, excluding the queuing delay in output port. The units
          are microsecond.</t>
        </section>
      </section>

      <section title="DetNet Link Attributes Advertisement">
        <t>This document defines new IS-IS TE sub-TLVs that can be announced
        in the TLVs 22, 23, 141, 222, and 223 in order to distribute DetNet
        information.</t>

        <section title="Max DetNet Reservable Bandwidth Sub-TLV">
          <t>This sub-TLV specifies the maximum amount of bandwidth that is
          reserved for DetNet on this link. Note that this value SHOULD be
          smaller than the value of <xref target="RFC5305">Maximum Reservable
          Link Bandwidth</xref>.</t>

          <t>The format of this sub-TLV is shown in the following diagram:</t>

          <t><figure>
              <artwork><![CDATA[  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   Type(TBD2)  |   Length(4)   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   RESERVED    |      Maximum DetNet Reservable Bandwidth      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure></t>

          <t>The Type field is 1 octets in length, and the value is TBD2.</t>

          <t>The Length field is 1 octets in length and its value is 4.</t>

          <t>The RESERVED field is reserved for future use. It MUST be set to
          0 when sent and MUST be ignored when received.</t>

          <t>This Maximum DetNet Reservable Bandwidth field is 3 octets in
          length and presents the maximum bandwidth that may be reserved for
          DetNet. The units are bytes per second.</t>
        </section>

        <section title="DetNet Available Bandwidth Sub-TLV">
          <t>This sub-TLV specifies the available bandwidth that can be
          reserved for DetNet flow on this link for now. It is different from
          the Unreserved Bandwidth sub-TLV defined <xref
          target="RFC5305">in</xref> referring to section 3.3.</t>

          <t>The format of this sub-TLV is shown in the following diagram:</t>

          <t><figure>
              <artwork><![CDATA[  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   Type(TBD3)  |   Length(4)   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   RESERVED    |          Available DetNet Bandwidth           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
            </figure></t>

          <t>The Type field is 1 octets in length, and the value is TBD3.</t>

          <t>The Length field is 1 octets in length and its value is 4.</t>

          <t>The RESERVED field is reserved for future use. It MUST be set to
          0 when sent and MUST be ignored when received.</t>

          <t>This Available DetNet Bandwidth field is 3 octets in length and
          presents the available bandwidth for DetNet in this link. The units
          are bytes per second.</t>
        </section>

        <section title="DetNet Time Resource Sub-TLV">
          <t>Time resource ID represent different types of identifiers used to
          indicate the capability of underlying bounded latency mechanisms.
          When the underlying technique is a logical queue based scheduling
          mechanisms, it represents a queue ID (There may different
          technologies for implementing logical queues, for example QoS,
          Flex-E, etc.). When the underlying technique is a time scheduling
          based mechanisms, it represents a time slot ID.(Cyclic queuing
          mechanisms could be considered as a special form of time scheduling,
          whose time slot is with equal length)</t>

          <t>There are 2 types of Time Resource Sub-TLV: Time Resource for
          Logical queues sub-TLV and Time Resource for Time Scheduling
          sub-TLV:</t>

          <t>The format of Time Resource for Logical queues sub-TLV is shown
          in the following diagram:</t>

          <t><figure>
              <artwork><![CDATA[     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Type(TBD4)  |   Length(24)   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |            Time Resource ID for Logical Queues                |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |             Queue Buffer Size                  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |           Queue Bandwidth Volume               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |            Maximum Queuing Delay               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |            Minimum Queuing Delay               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |        Maximum Queuing Delay Variation         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure></t>

          <t>The Type field is 1 octets in length, and the value is TBD4.</t>

          <t>The Length field is 1 octets in length and its value is 24.</t>

          <t>Time resource ID for Logical Queues is 3 octets in length, and
          specifies the identifier of a logical queue.</t>

          <t>The queue The Queue Buffer Size field is 3 octets in length, and
          specifies the size of a queue with unit of bytes.</t>

          <t>Queue Bandwidth Volume: is 3 octets in length, and carries
          maximum bandwidth could be put into the queue to provide the latency
          boundary. It is encoded in G bps encoded as an integer value.</t>

          <t>Minimum Queuing Delay is 3 octets in length, and carries minimum
          queuing delay value (in microseconds) encoded as an integer
          value.</t>

          <t>Maximum Queuing Delay is 3 octets in length, and carries the
          maximum queuing delay value (in microseconds) encoded as an integer
          value.</t>

          <t>Maximum Queuing Delay variation is 3 octets in length, and
          carries the maximum queuing delay variation value (in microseconds)
          encoded as an integer value.</t>

          <t>The RESERVED field is reserved for future use. It MUST be set to
          0 when sent and MUST be ignored when received.</t>

          <t>The format of Time Resource for Time Scheduling sub-TLV is shown
          in the following diagram:</t>

          <t><figure>
              <artwork><![CDATA[     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Type(TBD5)             |          Length(16)           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           Time resource ID for Time Slot                      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |            Time Slot Length                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |           Time Slot Start Time                 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   RESERVED   |             Time Slot End Time                 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure></t>

          <t>The Type field is 2 octets in length, and the value is TBD5.</t>

          <t>The Length field is 2 octets in length and its value is 16.</t>

          <t>Time Resource ID for Time Slot is 4 octets in length, and
          specifies the identifier of a time slot.</t>

          <t>The Time Slot Length field is 3 octets in length, and specifies
          the length of time slot value (in microseconds) encoded as an
          integer value. When it is based on IEEE 802.1 Qch, time slot
          granularity presents cycle length.</t>

          <t>The Time Slot Start Time field is 3 octets in length, and
          specifies the start time of the time slot in the time scheduling (in
          microseconds) encoded as an integer value.</t>

          <t>The Time Slot End Time field is 3 octets in length, and specifies
          the end time of the time slot in the time scheduling (in
          microseconds) encoded as an integer value.</t>

          <t>The RESERVED field is reserved for future use. It MUST be set to
          0 when sent and MUST be ignored when received.</t>
        </section>
      </section>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <section title="Sub-TLVs for ISIS Router Capability TLV ">
        <t>IANA is requested to register the ISIS sub-TLVs defined in this
        document in the sub-TLVs for Router Capability TLV registry.</t>

        <figure>
          <artwork><![CDATA[      Type        Description
      ----        ------------------------------
      TBD1        Packet Processing Delay
    ]]></artwork>
        </figure>
      </section>

      <section title="Sub-TLVs for  IS-IS TLVs 22, 23, 141, 222, and 223">
        <t>IANA is requested to register the ISIS sub-TLVs defined in this
        document in the Sub-TLVs for TLVs 22, 23, 141, 222, and 223
        registry.<figure>
            <artwork><![CDATA[      Type        Description
      ----        ------------------------------
      TBD2        Maximum DetNet Reservable Bandwidth
      TBD3        DetNet Available Bandwidth
      TBD4        Time Resource for Logical Queues
      TBD5        Time Resource for Time Slot                 ]]></artwork>
          </figure></t>
      </section>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>This document does not introduce security issues beyond those
      discussed <xref target="RFC7471">in</xref> <xref
      target="RFC7810">and</xref>.</t>
    </section>

    <section title="Acknowledgements">
      <t/>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include="reference.RFC.7471"
?>

      <?rfc include="reference.RFC.7810"?>

      <?rfc include="reference.I-D.ietf-detnet-architecture"?>

      <?rfc include="reference.I-D.finn-detnet-bounded-latency"?>

      <?rfc include='reference.RFC.5786'?>

      <?rfc ?>

      <?rfc include='reference.RFC.7981'?>

      <?rfc ?>

      <?rfc include='reference.RFC.8655'?>

      <?rfc ?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.3630"?>

      <?rfc include="reference.RFC.5305"?>

      <?rfc include="reference.RFC.5316"?>

      <?rfc include="reference.RFC.7310"?>

      <reference anchor="IEEE802.1Q-2014">
        <front>
          <title>MAC Bridges and VLANs (IEEE 802.1Q-2014)</title>

          <author fullname="">
            <organization/>
          </author>

          <date year="2014"/>
        </front>
      </reference>

      <reference anchor="IIEEE802.1Qbv">
        <front>
          <title>Enhancements for Scheduled Traffic</title>

          <author fullname="IEEE" surname="">
            <organization/>
          </author>

          <date year="2016"/>
        </front>
      </reference>

      <reference anchor="IEEE802.1Qch">
        <front>
          <title>Cyclic Queuing and Forwarding</title>

          <author fullname="IEEE" surname="">
            <organization/>
          </author>

          <date year="2016"/>
        </front>
      </reference>

      <reference anchor="IEEE802.1Qcr">
        <front>
          <title>Asynchronous Traffic Shaping</title>

          <author fullname="IEEE" surname="">
            <organization/>
          </author>

          <date year="2016"/>
        </front>
      </reference>
    </references>
  </back>
</rfc>
