<?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.6 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-shi-ippm-congestion-measurement-ipv6-options-00" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title abbrev="CM">IPv6 Options for Congestion Measurement</title>
    <seriesInfo name="Internet-Draft" value="draft-shi-ippm-congestion-measurement-ipv6-options-00"/>
    <author initials="H." surname="Shi" fullname="Hang Shi" role="editor">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>shihang9@huawei.com</email>
      </address>
    </author>
    <author initials="T." surname="Zhou" fullname="Tianran Zhou">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhoutianran@huawei.com</email>
      </address>
    </author>
    <author initials="Y." surname="Liu" fullname="Ying Liu">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>liuy619@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="M." surname="Han" fullname="Mengyao Han">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>hanmy12@chinaunicom.cn</email>
      </address>
    </author>
    <date year="2024" month="March" day="04"/>
    <area>Transport</area>
    <workgroup>IP Performance Measurement</workgroup>
    <keyword>Congestion Measurement</keyword>
    <keyword>IPv6</keyword>
    <abstract>
      <?line 57?>

<t>The Congestion Measurement enables precise congestion control, aids in effective load balancing, and simplifies network debugging by accurately reflecting the degree of congestion across network paths. This document outlines how Congestion Measurement Data-Fields are encapsulated in IPv6.</t>
    </abstract>
  </front>
  <middle>
    <?line 61?>

<section anchor="intro">
      <name>Introduction</name>
      <t><xref target="I-D.draft-shi-ippm-congestion-measurement-data"/> defines data fields of Congestion Measurement which enables sender to obtain the degree of congestion across the path. This document defines the IPv6 encapsulation of the Congestion Measurement Data-Fields.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</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?>

</section>
    </section>
    <section anchor="option">
      <name>Congestion Measurement Option</name>
      <t>One IPv6 header option, Congestion Measurement Option is defined to carry the Congestion Measurement Data-Fields.</t>
      <figure anchor="CM-procedure">
        <name>Congestion Measurement Option</name>
        <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
                                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                |Opt Type = TBD1|  Opt Data Len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
.                                                               .
.        Congestion Measurement Data-Fields (Variable)          .
.                                                               .
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>where:</t>
      <ul spacing="normal">
        <li>
          <t>Opt Type: Type value is TBD1, an 8-bit unsigned integer. Identifier of the type of this Congestion Measurement Option.</t>
        </li>
        <li>
          <t>Opt Data Len: An 8-bit unsigned integer. Length of the Option Data field of this option, that is, length of the Congestion Measurement Data-Fields.</t>
        </li>
        <li>
          <t>Congestion Measurement Data-Fields: Option-Type-specific data. It carries the data fields for Congestion Measurement as specified in <xref target="I-D.draft-shi-ippm-congestion-measurement-data"/>.</t>
        </li>
      </ul>
      <section anchor="congestion-measurement-hop-by-hop-options-header-hbh">
        <name>Congestion Measurement Hop-by-hop Options Header (HBH)</name>
        <t>The Congestion Measurement option can be carried in the IPv6 Hop-by-Hop Options Header. In this case, each node along the path can inspect the Congestion Info Data field if they are configured the support this option. If the U bit of Congestion Measurement Data-Fields is set, intermediate nodes will modify the Congestion Info Data field accordingly.In theory, the presence of the Hop-by-Hop Option should not affect the traffic throughput both on nodes that do not recognize this Option and on the nodes that support it. However, in a real implementation, a packet with a Hop-by-hop Option may be skipped or processed in the slow path. Proposals to mitigate the problem are out of the scope for this document.</t>
      </section>
      <section anchor="congestion-measurement-destination-options-header-doh">
        <name>Congestion Measurement Destination Options Header (DOH)</name>
        <t>The Congestion Measurement option can be carried in the IPv6 Destination Options Header. In this case, it is usually processed by the destination node. Note that, if there is also a Routing Header (RH), any visited destination in the route list can process it. If the U bit of Congestion Measurement Data-Fields is set, intermediate nodes will modify the Congestion Info Data field accordingly.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to assign an IPv6 Header Option as follows:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD1</td>
            <td align="left">Congestion Measurement Option</td>
            <td align="left">
              <xref target="option"/></td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.draft-shi-ippm-congestion-measurement-data">
          <front>
            <title>Data Fields for Congestion Measurement</title>
            <author fullname="Hang Shi" initials="H." surname="Shi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Tianran Zhou" initials="T." surname="Zhou">
              <organization>Huawei</organization>
            </author>
            <author fullname="Zhenqiang Li" initials="Z." surname="Li">
              <organization>China Mobile</organization>
            </author>
            <date day="3" month="March" year="2024"/>
            <abstract>
              <t>   Congestion Measurement collects the congestion information in the
   packet while the packet traverses a path.  The sender sets the
   congestion measurement command in the packet header indicating the
   network device along the path to update the congestion information
   field in the packet.  When the packet arrive at the receiver, the
   congestion information field will reflect the degree of congestion
   across network path.  Congestion Measurement can enable precise
   congestion control, aids in effective load balancing, and simplifies
   network debugging.  This document defines data fields for Congestion
   Measurement.  Congestion Measurement Data-Fields can be encapsulated
   into a variety of protocols, such as Network Service Header (NSH),
   Segment Routing, Generic Network Virtualization Encapsulation
   (Geneve), or IPv6.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-shi-ippm-congestion-measurement-data-00"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
FFN93Rl/Qtb/ALJDRq2UEwAA

-->

</rfc>
