<?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.31 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-many-intarea-icmp-mp-01" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title>Extending ICMP for Multi-path</title>
    <seriesInfo name="Internet-Draft" value="draft-many-intarea-icmp-mp-01"/>
    <author initials="L." surname="Zhang" fullname="Li Zhang">
      <organization>Huawei</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>zhangli344@huawei.com</email>
      </address>
    </author>
    <author initials="Z." surname="Zhang" fullname="Zizhou Zhang">
      <organization>Sea Group</organization>
      <address>
        <postal>
          <country>Singapore</country>
        </postal>
        <email>zhangzz@sea.com</email>
      </address>
    </author>
    <author initials="R." surname="Sun" fullname="Ronghua Sun">
      <organization>Huawei Cloud</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>sunronghua@huawei.com</email>
      </address>
    </author>
    <author initials="Y." surname="Wang" fullname="Yang Wang">
      <organization>Huawei Cloud</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>sky.wangyang@huawei.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="02"/>
    <area>INT Area</area>
    <workgroup>intarea Working Group</workgroup>
    <keyword>ICMP</keyword>
    <keyword>Traceroute</keyword>
    <abstract>
      <?line 69?>

<t>This document extends the ICMP message with a Multi-path Interface Information object to carry the egress interface, next hop, and the corresponding ARP or ND information of each multi-path interface of nodes along the route.</t>
    </abstract>
  </front>
  <middle>
    <?line 73?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>As described in <xref target="RFC2151"/>, Traceroute is a common TCP/IP tool, which allows users to learn about the route that packets take from their local host to a remote host. It is often used by network and system managers to learn something about the ever-changing structure of the Internet.</t>
      <t>Traceroute uses the ICMP Time Exceeded Message to collect the nodes' information along the route. The basic Traceroute can only collect the IP addresses, and host name of nodes along the route that packet forwarded.</t>
      <t><xref target="RFC4884"/> redefines some ICMP messages to support multi-part operation. It defines an extension structure which is situated at the end of the ICMP message to carry the additional information. The extension structure includes an extension header followed by one or more extension objects.</t>
      <t>Based on that, <xref target="RFC5837"/> extends the ICMP messages to carry the interface information(including ifIndex, IPv4 address, IPv6 address, name and MTU) by defining a Interface Information Object.</t>
      <t>Furthermore, <xref target="RFC8335"/> defines a new network diagnostic tool called PROBE. It can be used to query the status of a probed interface by sending ICMP Extended Echo Request message and receiving ICMP Extended Echo Reply message. The ICMP Extended Echo Reply message includes a "State" field to reflect the state of the ARP table or Neighbor Cache entry associated with the probed interface, which indicates whether the interface is reachable. However, the extended Echo Request message and Echo Reply message can only be used to probe the state of destination interface, cannot be used to probe the interface state of the nodes along the route.</t>
      <t>However, when using Traceroute in a multi-path topology, the Traceroute can only get information of one of the available paths. The head end and managers even don't know that there are multiple paths to the destination, which severely impacts the failure location of the network.</t>
      <t>This document extends the ICMP message with a Multi-path Interface Information object to carry the egress interface, next hop, and the corresponding ARP or ND information of each multi-path interface of nodes along the route.</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 anchor="terminology">
        <name>Terminology</name>
        <t>The abbreviations used in this document are:</t>
        <t>ECMP: Equal-Cost Multiple Path</t>
        <t>ICMP: Internet Control Message Protocol</t>
      </section>
      <section anchor="motivation">
        <name>Motivation</name>
        <t>Traceroute is a common TCP/IP tool, which allows users to learn about the route that packets take from their local host to a remote host.</t>
        <t>However, Traceroute is typically used to collect the information of a single path, when using Traceroute in a multi-path topology (there are multiple paths from the source node to the destination node and ECMP, UCMP or other multi-path routing strategy is used.), the Traceroute can only get the information of one of the available paths, and do not know that there are multiple paths. Considering using Traceroute in a DC multi-path topology, the topology is shown in <xref target="ref-to-fig1"/>:</t>
        <figure anchor="ref-to-fig1">
          <name>A multi-path topology</name>
          <artwork><![CDATA[
                          +------+   
                          |switch|   
                   ++---->|      +--------+
                   |      |  C   |        |
                   |      +------+        v
   +------+    +---+--+               +------+     +------+
   |      |    |switch|               |switch|     |      |
   |  A   |<-->|      |               |      |<--->|  F   |
   |      |    |  B   |               |  E   |     |      |
   +------+    +------+               +--+---+     +------+
                   ^     +------+        |
                   |     |switch|        |
                   +-----+      +---<----+
                         |  D   |   
                         +------+   

]]></artwork>
        </figure>
        <t>In <xref target="ref-to-fig1"/>, there are four switches and two endpoints. Equal-Cost Multiple Path (ECMP) is applied at switch B. Endpoint A initiates the Traceroute procedures and the target is endpoint F. When the Traceroute request packets arrived at switch B, B have two egress interfaces that can reach endpoint F, but it can only encapsulate one of the interfaces to the reply packet. For example, the interface to switch C is encapsulated. Then the path gets by traceroute is A-&gt;B-&gt;C-&gt;E-&gt;F. However, the traffic packets are forwarded on both paths (A-&gt;B-&gt;C-&gt;E-&gt;F and A-&gt;B-&gt;D-&gt;E-&gt;F). If switch D fails and affects packet forwarding (e.g. packet loss and latency increase), then it is hard for the users to locate the failure, because switch D is not in the forwarding path detected by the traceroute.</t>
        <t>Therefore, it is necessary to extend traceroute to enable the multi-path detection.</t>
      </section>
    </section>
    <section anchor="icmp-extension">
      <name>ICMP extension</name>
      <t>This section defines the Multi-path Interface Information (MPII) Object, an ICMP extension object with a new Class-Num (Object Class Value). The format of MPII Object is shown in <xref target="ref-to-fig2"/>.</t>
      <figure anchor="ref-to-fig2">
        <name>Format of Multi-Path Interface Information (MPII) Object</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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Length                |  Class-Num    |  C-Type       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Sequence Num        |         Total Num             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Information Indicator(bit)                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   /              Multi-path Interface Information                 /
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
      </figure>
      <t>Class-Num: TBD, to be allocated by IANA.</t>
      <t>C-Type: indicates different types of Multi-Path Interface Information, the descriptions of its values are shown as follows:</t>
      <table anchor="ref-to-tab1">
        <name>Description of C-Type values</name>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0</td>
            <td align="left">Reserved</td>
          </tr>
          <tr>
            <td align="left">1</td>
            <td align="left">IPv4 interface</td>
          </tr>
          <tr>
            <td align="left">2</td>
            <td align="left">IPv6 interface</td>
          </tr>
          <tr>
            <td align="left">3-255</td>
            <td align="left">Reserved</td>
          </tr>
        </tbody>
      </table>
      <t>Sequence Num: 16-bit length, the sequence number of this interface in all of the multi-path interfaces.</t>
      <t>Total Num: 16-bit length, the total number of multi-path interfaces.</t>
      <t>Information Indicator: 32-bit length, indicates the followed multi-path interface information in the Object. The format of it is shown in <xref target="ref-to-fig3"/>.</t>
      <figure anchor="ref-to-fig3">
        <name>Information Indicator Bit Description</name>
        <artwork><![CDATA[
Bit    0        1        2      3         4         5       6-31
   +-------+---------+-------+------+----------+--------+---------+
   |ifIndex|IPAddr(1)|Name(1)|MTU(1)|NextHop(1)|State(1)|Reserved)|
   +-------+---------+-------+------+----------+--------+---------+
]]></artwork>
      </figure>
      <t>The following are bit-field definitions for Information Indicator:</t>
      <t>ifIndex (bit 0) : When set, the 32-bit ifIndex of the interface is included.  When clear, the ifIndex is not included.</t>
      <t>IP Addr (bit 1) : When set, an IP Address Sub-Object is present. When clear, an IP Address Sub-Object is not present.  The IP Address Sub-Object is described in <xref section="4.2" sectionFormat="of" target="RFC5837"/>.</t>
      <t>Name (bit 2): When set, an Interface Name Sub-Object is included.  When clear, it is not included.  The Name Sub-Object is described in <xref section="4.3" sectionFormat="of" target="RFC5837"/>.</t>
      <t>MTU (bit 3): When set, a 32-bit integer representing the MTU is present.  When clear, this 32-bit integer is not present.</t>
      <t>NextHop (bit 4): When set, an IP Address Sub-Object for the nexthop is present. When clear, the IP Address Sub-Object for next hop is not present. When both the IP Addr and NextHop bits are set, two IP Address Sub-Objects will be encapsulated in the reply packet. In this case, these two sub-objects <bcp14>MUST</bcp14> be placed in order(the first IP Address Sub-Object is for IP Addr, and the second is for NextHop).</t>
      <t>State (bit 5): When set, an Interface State Sub-Object is included. When clear, it is not included. The Interface State Sub-Object is described in <xref target="state-sub-object"/>.</t>
      <t>Multi-path Interface Information: variable, carries the detail multi-path interface information as specified in the Information Indicator.</t>
      <t>The MPII Object can be appended to the following messages:</t>
      <ul spacing="normal">
        <li>
          <t>ICMPv4 Time Exceeded</t>
        </li>
        <li>
          <t>ICMPv4 Destination Unreachable</t>
        </li>
        <li>
          <t>ICMPv4 Parameter Problem</t>
        </li>
        <li>
          <t>ICMPv6 Time Exceeded</t>
        </li>
        <li>
          <t>ICMPv6 Destination Unreachable</t>
        </li>
      </ul>
      <section anchor="state-sub-object">
        <name>Interface State Sub-object</name>
        <t>The Interface State Sub-object indicates the state of the ARP table or Neighbor Cache entry associated with the interface. The format of it is shown in <xref target="ref-to-fig4"/>.</t>
        <figure anchor="ref-to-fig4">
          <name>Format of Interface State Sub-object</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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Length    |State|                Reserved                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Where:</t>
        <t>Length: 8-bit length, indicates the length of this sub-object in octets, its value equals to 4.</t>
        <t>State: the state of the ARP table or Neighbor Cache entry associated with the interface. Values are (0) Reserved, (1) Incomplete, (2) Reachable, (3) Stale, (4) Delay, (5) Probe, and (6) Failed.</t>
        <t>Reserved: This field <bcp14>MUST</bcp14> be set to 0 and ignored upon receipt.</t>
      </section>
    </section>
    <section anchor="usage">
      <name>Usage</name>
      <t>Multiple Multi-path Interface Information Object <bcp14>MAY</bcp14> be included within a single ICMP message, provided that each Multi-path Interface Information Object corresponds to a unique interface. A single ICMP message <bcp14>MUST NOT</bcp14> contain two Multi-path Interface Information Object that corresponds to the same interface.</t>
      <t>ifIndex, IPAddr, Name, MTU, NextHop, and State information <bcp14>MAY</bcp14> be included whenever they are available. For each kind of these information, at most one instance is included in per Multi-path Interface Information Object.</t>
      <t>The address format of IP Address Sub-Object in a Multi-path Interface Information Object depends on the C-Type:</t>
      <ul spacing="normal">
        <li>
          <t>If the C-Type value is 1, which means it describes the information of an IPv4 interface. In this case, if an IP Address Sub-Object is included, it must specify an IPv4 address.</t>
        </li>
        <li>
          <t>If the C-Type value is 2, which means it describes the information of an IPv6 interface. In this case, if an IP Address Sub-Object is included, it must specify an IPv6 address.</t>
        </li>
      </ul>
      <t>An ICMP message that does not conform to these rules and contains multiple Multi-path Interface Information Object of the same interface is considered illegal;
An Multi-path Interface Information Object containing more than one instance of each kind of information is considered illegal. If such an illegal ICMP message is received, it <bcp14>MUST</bcp14> be silently discarded.</t>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <t>This extension makes the ICMP messages carrying excessive information, malicious parties may obtain ingress and egress interface, next-hop, the reachable of next-hop (status of ARP and ND), and detailed information about load balancing paths (number of load balancing paths, next-hop and egress interface for each load balancing path, and corresponding ARP and ND reachability) through traceroute. Based on this information, some further information can be inferred. Considering this risk, it is necessary to formulate corresponding security policies as follows:</t>
      <section anchor="configuration">
        <name>Configuration</name>
        <t>Network operators should have the capability to control the information carried by Traceroute reply packets.</t>
        <t>To achieve flexible control, the following capabilities should be supported on the device:</t>
        <ol spacing="normal" type="1"><li>
            <t>Enable/disable the capability for Traceroute reply packets to carry ingress and egress interface information.</t>
          </li>
          <li>
            <t>Enable/disable the capability for Traceroute reply packets to carry the next hop and the reachability status of the next hop (ARP/ND status). It is recommended that this capability is not enabled by default.</t>
          </li>
          <li>
            <t>Enable/disable the capability for Traceroute reply packets to carry the number and status of load balancing entries (ARP/ND status). It is recommended that this capability is not enabled by default.</t>
          </li>
          <li>
            <t>Control based on the source IP of the request Traceroute packet, only certain IP addresses are allowed to initiate the corresponding Traceroute function.</t>
          </li>
          <li>
            <t>All the above capabilities can be configured separately at the global and interface levels.</t>
          </li>
        </ol>
      </section>
      <section anchor="encryption">
        <name>Encryption:</name>
        <t>As described in <xref section="3.4" sectionFormat="of" target="RFC2151"/>, Traceroute uses UDP packets to probe the forwarding path of packets through TTL expiration. For UDP packets, the payload part does not have a specific meaning for Traceroute. So, the payload of UDP packets can be extended to carry the encrypted information. In cases where the intermediate nodes do not recognize or the encrypted information does not match, the reply packets of Traceroute will only carry basic information.</t>
      </section>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This document requests IANA to allocate a new Object value for Multi-path Interface Information Object from the "ICMP Extension Object Classes" registry:</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">TBD</td>
            <td align="left">ICMP Extension Object Classes registry</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-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="RFC2151">
          <front>
            <title>A Primer On Internet and TCP/IP Tools and Utilities</title>
            <author fullname="G. Kessler" initials="G." surname="Kessler"/>
            <author fullname="S. Shepard" initials="S." surname="Shepard"/>
            <date month="June" year="1997"/>
            <abstract>
              <t>This memo is an introductory guide to many of the most commonly- available TCP/IP and Internet tools and utilities. It also describes discussion lists accessible from the Internet, ways to obtain Internet and TCP/IP documents, and some resources that help users weave their way through the Internet. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="FYI" value="30"/>
          <seriesInfo name="RFC" value="2151"/>
          <seriesInfo name="DOI" value="10.17487/RFC2151"/>
        </reference>
        <reference anchor="RFC4884">
          <front>
            <title>Extended ICMP to Support Multi-Part Messages</title>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <author fullname="D. Gan" initials="D." surname="Gan"/>
            <author fullname="D. Tappan" initials="D." surname="Tappan"/>
            <author fullname="C. Pignataro" initials="C." surname="Pignataro"/>
            <date month="April" year="2007"/>
            <abstract>
              <t>This document redefines selected ICMP messages to support multi-part operation. A multi-part ICMP message carries all of the information that ICMP messages carried previously, as well as additional information that applications may require.</t>
              <t>Multi-part messages are supported by an ICMP extension structure. The extension structure is situated at the end of the ICMP message. It includes an extension header followed by one or more extension objects. Each extension object contains an object header and object payload. All object headers share a common format.</t>
              <t>This document further redefines the above mentioned ICMP messages by specifying a length attribute. All of the currently defined ICMP messages to which an extension structure can be appended include an "original datagram" field. The "original datagram" field contains the initial octets of the datagram that elicited the ICMP error message. Although the original datagram field is of variable length, the ICMP message does not include a field that specifies its length. Therefore, in order to facilitate message parsing, this document allocates eight previously reserved bits to reflect the length of the "original datagram" field.</t>
              <t>The proposed modifications change the requirements for ICMP compliance. The impact of these changes on compliant implementations is discussed, and new requirements for future implementations are presented.</t>
              <t>This memo updates RFC 792 and RFC 4443. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4884"/>
          <seriesInfo name="DOI" value="10.17487/RFC4884"/>
        </reference>
        <reference anchor="RFC5837">
          <front>
            <title>Extending ICMP for Interface and Next-Hop Identification</title>
            <author fullname="A. Atlas" initials="A." role="editor" surname="Atlas"/>
            <author fullname="R. Bonica" initials="R." role="editor" surname="Bonica"/>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
            <author fullname="N. Shen" initials="N." surname="Shen"/>
            <author fullname="JR. Rivers" initials="JR." surname="Rivers"/>
            <date month="April" year="2010"/>
            <abstract>
              <t>This memo defines a data structure that can be appended to selected ICMP messages. The ICMP extension defined herein can be used to identify any combination of the following: the IP interface upon which a datagram arrived, the sub-IP component of an IP interface upon which a datagram arrived, the IP interface through which the datagram would have been forwarded had it been forwardable, and the IP next hop to which the datagram would have been forwarded.</t>
              <t>Devices can use this ICMP extension to identify interfaces and their components by any combination of the following: ifIndex, IPv4 address, IPv6 address, name, and MTU. ICMP-aware devices can use these extensions to identify both numbered and unnumbered interfaces. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5837"/>
          <seriesInfo name="DOI" value="10.17487/RFC5837"/>
        </reference>
        <reference anchor="RFC8335">
          <front>
            <title>PROBE: A Utility for Probing Interfaces</title>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <author fullname="R. Thomas" initials="R." surname="Thomas"/>
            <author fullname="J. Linkova" initials="J." surname="Linkova"/>
            <author fullname="C. Lenart" initials="C." surname="Lenart"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <date month="February" year="2018"/>
            <abstract>
              <t>This document describes a network diagnostic tool called PROBE. PROBE is similar to PING in that it can be used to query the status of a probed interface, but it differs from PING in that it does not require bidirectional connectivity between the probing and probed interfaces. Instead, PROBE requires bidirectional connectivity between the probing interface and a proxy interface. The proxy interface can reside on the same node as the probed interface, or it can reside on a node to which the probed interface is directly connected. This document updates RFC 4884.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8335"/>
          <seriesInfo name="DOI" value="10.17487/RFC8335"/>
        </reference>
      </references>
    </references>
    <?line 297?>

<section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>TBD</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="R." surname="Zhao" fullname="Ranxiao Zhao">
        <organization>Huawei</organization>
        <address>
          <postal>
            <country>China</country>
          </postal>
          <email>zhaoranxiao@huawei.com</email>
        </address>
      </contact>
      <contact initials="H." surname="Wang" fullname="Haibo Wang">
        <organization>Huawei</organization>
        <address>
          <postal>
            <country>China</country>
          </postal>
          <email>rainsword.wang@huawei.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
3fjGxzsAAA==

-->

</rfc>
