<?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.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-many-intarea-icmp-mp-00" 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-00"/>
    <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="2025" month="November" day="29"/>
    <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 an 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 allos 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>Futhuremore, <xref target="RFC8335"/> defines a new network diagnostic tool called PROBE. It can be used to query the status of a probed interface by sednding 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 extened Echo Request message and Echo Reply message can only be used to probe the state of destination interface, can not 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 avaialbe paths once. It can’t collect all the path’s information from source node to destination node at once.</t>
      <t>This document extends the ICMP message with an 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 allos 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 one 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 information of one of the avaialbe paths once. It can’t collect all the path’s information from source node to destination node at once. 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. The user can just get one of the paths information, however the traffic packets are forwarded on both paths.</t>
        <t>Although the IPv6 flow label and MPLS entropy label can be constructed variously according to the paths information to make packets go through all paths, but it still need more times to get the information of all the routes.</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 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 can implement policies to restrict the information carried by Traceroute reply packets. The specific policies are as follows:(策略缺失)</t>
        <t>To enforce these policies, the following capabilities <bcp14>MUST</bcp14> 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 296?>

<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:
H4sIAAAAAAAAA+U7XW/cSHLvA+g/dKSHaOKZsfW5XsW3e7IknwVIsiKNbuEN
kqCH7JnpE8nmsUlpx5YX+RMJkLc8JI95yGuQp/yUAMH+jdRHk2xyOLKd2MAd
bnYNcZrd1VXV9dlVMxwO13o2l0n4dzIyiToQeVaotZ5OM3q0+fazZ98+217r
BTI/EDYPYXoxibW12iT5IoUVpyfjV2s9mSkJzxdjcQhPYq13PzsQOslxXPxg
sludzMRvMlOka721XmiCRMawOMzkNB/GMlkM3eShDuJ0CP8/e7bWMxNrIpUr
e7DWK9JQ8tNaL9d5BKtPfspVEiLk06PzSzE1mTgvolwPU5nPcV4kE0BDJWu9
23tYKIY0kR7GmQwU4JMrnCiLfG4ymAL8EIC3PRBnI/HjHNbjACN7pusRkwHg
14W8Vxq/BqZI8mxxII7mOpE4omKpowPxDhdEemd399dzmj0KTIw71hv9uLTR
j/rd3BStza6BkY6B3n7XQL1MTabae75792ur5PJuVyNxXST1XlcmmQFm5aBH
lziKTBE+Sp0tkozXr6Tu7Uj80CDuLXyrhj5zu9vF6B5WLuBfa8MAxDHTkyJv
neIVMdd49MrkJy1NNfoZB2kyXruS1tdtWl9LPTFdxD66VSYB2r3JQiK2tdta
LzFZLHN9p0gVdDJtfB8Oh0JObA7inQscGM+1FaBwRaySXChSGSvyuWKliZW1
cqbEvc7nQiaeAonTJFfZFNQEntwmJhFm8jsFoHMjApllC4KkZhmAQX3nBQOR
wEZibtIBwAxpTmAymJQaVtjDq0vgh7g4FtqHPRVKBnMR10hUMPFlYkJlBZqq
GcEk/R2VZMc6DCNS5w3EPTNhESBYHDkEHigbgIioEGCK9++/v3p1tL21t/Xh
w8AzBgKYJQHXOAZ0xkeXT08vgVQTDcT9XANmMoqMFYVVmUUWREpmCfAbltYI
wZPMRSqDW5XDLHmrxDQzMU7QmYhMICNgjSUeSpGp2MAaHBiJ0xwRMFM4JNwk
FJMFsDIHYbglRtqFzVUswGDCmfkoWBOrfI6crZFRdyobBmgMcBxEAthRZMRI
On7kLAAn/nkcgH09+RjrWIGhDZQKAZ1zJy14+iaKSBBgJp3LnzeOsn1IYgyP
E2l14HM7AIkzSbRoQAOWyzBEiVKW5Ye4hSq1Ugh8nqMjuJcZ4Euk8VHvPn++
++EDcDtUU50AAORYQwWIm7ZIwZrmlQTCo0lVRjTR8ZTLAXHSJXSEHm9ZSuAM
rc4L8FehkO4wgIyS8b7eNfQIyNa4EwiIx0vmXdduOgmiImxjM1cyVBlwAWT1
nmUIfDuqWwyOwpvIqmyJSy8lihsMIiMHTj/2nu98A0xbZTRsE/taVT3kNxlH
lEA9PU1C9dMADvhutzxi+rZff6NTxjM/H9/0EXViOAn2CoP0hqgYkbF7BX68
QI3KVEnD852dPaChOjfQp/tKp0ItZwkIF0glajkQA2IYisurNy9P6LhRQCeK
dRGI/X2hHLEQNeUFqipATDPDZqVED9CGBV5owpEKzDkJ5kZcKYADEl3KAJKb
qUDpu5ULUtARN53F4WOzPNkQ69eArFoXU60iIiNT00rbkJDKJqBZzuUkImm5
UHo2n8DDEdhklGDwVkJaawJNkk0uA1e16S+NpQYOBBi0wXewTiCTLTGxgAnA
xg1H4jUIK1isAasLUvYYvzooroyJd2CEWpNO4EkODpdkx0MZVycm715c49xg
12p/VBIDhKMlx3P1nQzYR9/J5SY1kZktmPYu+zgDs9bylKTTjIe8k1pGgCtC
A6FMAlVK73///T/llXUF6eYDg2nwwjZAko+ypsgCJgw54POKxsCaEfQ/nchi
Y4PkT4NVATKtOAN/WgBdzAElbtVCYLBmxfr5zfV4fcB/xcUber46+aub06uT
Y3y+fn14dlY99NyM69dvbs6O66d65dGb8/OTi2NeDKOiMdRbPz98u85sWH9z
OT59c3F4to6ylTcOBrIq5OnESXGaKXJLttcIiF4eXf7XP2/tgtH8MwqMtr4F
o8lfnm99g64TRZl3I4nkr8CrRU+mKQQhJNUR2tBU5zJC1w1ucG7u0SNlatTr
/cVfI2f+5kC8mATp1u53bgAJbgyWPGsMEs+WR5YWMxM7hjq2qbjZGG9xuonv
4dvG95Lv3uCL7yPwNGK49fz773pOgsYqi3VCOl7KjZxMMnWnSTwtm5yuo6Og
/gT0CdLd3xcyGh5hLES6lIKZvnSZ7inNKEM6cYTpEPizMl67zExuwAo4dM4N
5AuyjI3/UKJf3262QvJ8kWr0zYvKNvsBY4dhRA0fiM+zvmITfZQihYlLBrNF
LSlo20ccWraR6J7gPAbiBu0gGCNDzs/bEhFxQTm4E9haswiM+n88LgCFzGqI
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
XPHm5TED+F/7UleGQTsAAA==

-->

</rfc>
