<?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.6.34 (Ruby 3.0.2) -->
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lou-rtgwg-sinc-00" category="exp" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.3 -->
  <front>
    <title abbrev="SINC">Signaling In-Network Computing operations (SINC)</title>
    <seriesInfo name="Internet-Draft" value="draft-lou-rtgwg-sinc-00"/>
    <author initials="D." surname="Lou" fullname="Zhe Lou">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <street>Riesstrasse 25</street>
          <city>Munich</city>
          <code>80992</code>
          <country>Germany</country>
        </postal>
        <email>zhe.lou@huawei.com</email>
      </address>
    </author>
    <author initials="L." surname="Iannone" fullname="Luigi Iannone">
      <organization abbrev="Huawei">Huawei Technologies France S.A.S.U.</organization>
      <address>
        <postal>
          <street>18, Quai du Point du Jour</street>
          <city>Boulogne-Billancourt</city>
          <code>92100</code>
          <country>France</country>
        </postal>
        <email>luigi.iannone@huawei.com</email>
      </address>
    </author>
    <author initials="Y." surname="Li" fullname="Yizhou Li">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <city>Nanjing</city>
          <country>China</country>
        </postal>
        <email>liyizhou@huawei.com</email>
      </address>
    </author>
    <author initials="C." surname="Zhang" fullname="Cuimin Zhang">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <street>Huawei base in Bantian, Longgang District</street>
          <city>Shenzhen</city>
          <country>China</country>
        </postal>
        <email>zhangcuimin@huawei.com</email>
      </address>
    </author>
    <author initials="K." surname="Yao" fullname="Kehan Yao">
      <organization abbrev="China Mobile">China Mobile</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>yaokehan@chinamobile.com</email>
      </address>
    </author>
    <date/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 188?>

<t>This memo introduces "Signaling In-Network Computing operations" (SINC), a mechanism to enable signaling in-network computing operations on data packets in specific scenarios like NetReduce, NetDistributedLock, NetSequencer, etc. In particular, this solution allows to flexibly communicate computational parameters, to be used in conjunction with the payload, to in-network SINC-enabled devices in order to perform computing operations.</t>
    </abstract>
  </front>
  <middle>
    <?line 192?>

<section anchor="SEC_intro">
      <name>Introduction</name>
      <t>According to the original design, the Internet performs just "store and forward" of packets, and leaves more complex operations at the end-points. However, new emerging applications could benefit from in-network computing to improve the overall system efficiency (<xref target="GOBATTO"/>, <xref target="ZENG"/>). It is different from what the IETF Computing-Aware Traffic Steering (CATS) working group is chartered for service instance selection based on network and compute metrics between clients of a service and sites offering the service. The in-network computing is more about "light" data calculation/operation performed in the network to reduce the computation work load for the end hosts.</t>
      <t>The formation of the COmputing In-Network (COIN) Research Group <xref target="COIN"/>, in the IRTF, encourages people to explore this emerging technology and its impact on the Internet architecture. The "Use Cases for In-Network Computing" document <xref target="I-D.irtf-coinrg-use-cases"/> introduces some use cases to demonstrate how real applications can benefit from COIN and show essential requirements demanded by COIN applications.</t>
      <t>Recent research has shown that network devices undertaking some computing tasks can greatly improve the network and application performance in some scenarios, like for instance aggregating path-computing <xref target="NetReduce"/>, key-value(K-V) cache <xref target="NetLock"/>, and strong consistency <xref target="GTM"/>. Their implementations mainly rely on programmable network devices, by using P4 <xref target="P4"/> or other languages. In the context of such heterogeneity of scenarios, it is desirable to have a generic and flexible framework,  able to explicitly signaling the computing operation to be performed by network devices, which should be applicable to many use cases, enabling easier deployment.</t>
      <t>This document specifies such a Signaling In-Network Computing (SINC) framework for, as the name states, in-network computing operation. The computing functions are hosted on network devices, which, in this memo, are generally named as SINC switches/routers.</t>
    </section>
    <section anchor="requirements-language">
      <name>Requirements Language</name>
      <t>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 <xref target="RFC2119"/> and <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
    </section>
    <section anchor="SEC_usecases">
      <name>SINC Relevant Use Cases</name>
      <t>Hereafter a few relevant use cases are described, namely NetReduce, NetDistributedLock, and NetSequencer, in order to help understanding the requirements for a framework. Such a framework, should be generic enough to accommodate a large variety of use cases, besides the ones described in this document.</t>
      <section anchor="netreduce">
        <name>NetReduce</name>
        <t>Over the last decade, the rapid development of Deep Neural Networks (DNN) has greatly improved the performance of many Artificial Intelligence (AI) applications like computer vision and natural language processing. However, DNN training is a computation intensive and time consuming task, which has been increasing exponentially (computation time gets doubled every 3.4 months <xref target="OPENAI"/>) in the past 10 years. Scale-up techniques concentrating on the computing capability of a single device cannot meet the expectation. Distributed DNN training approaches with synchronous data parallelism like Parameter Server <xref target="PARAHUB"/> and All-Reduce <xref target="MGWFBP"/> are commonly employed in practice, which on the other hand, become increasingly a network-bound workload since communication becomes a bottleneck at scale.</t>
        <t>Comparing to host-oriented solutions, in-network aggregation approaches like SwitchML <xref target="SwitchML"/>, SHArP <xref target="SHArP"/>, and NetReduce <xref target="NetReduce"/> can  potentially reduce to nearly half the bandwidth needed for data aggregation, by offloading gradients aggregation from the host to network switches. However, they are limited to one single specific operation, namely  aggregation.</t>
        <t>SwitchML is designed to implement in-network workers performing data aggregation relying on Remote Direct Memory Access (RDMA) <xref target="ROCEv2"/> and the application layer logic. In principle this allows to repurpose relatively easily the system at the cost of deploying new workers since there is no in-network operation signaling.</t>
        <t>NetReduce <xref target="NetReduce"/> does tackle the same problem like SwitchML, including the use of RDMA, but introduces an In-Network Aggregation (INA) header, allowing easy identification of data fragments. Yet, the only possible operation remains the aggregation, there is no mechanism to signal a different operation.</t>
        <t>SHArP <xref target="SHArP"/>, uses as well RDMA and introduces as well a custom header to simplify in-network handling of the packets. Similarly to NetReduce, SHArP remains a solution targeting only the aggregation function, relying on a rigid tree topology and proposing a header that allows only aggregation function and no other operation, hence, like NetReduce, hard to be converted for other purposes.</t>
      </section>
      <section anchor="netdistributedlock">
        <name>NetDistributedLock</name>
        <t>In the majority of distributed system, the lock primitive is a widely used concurrency control mechanism. For large distributed systems, there is usually a dedicated lock manager that nodes contact to gain read and/or write permissions of a resource. The lock manager is often abstracted as Compare And Swap (CAS) or Fetch Add (FA) operations.</t>
        <t>The lock manager is typically running on a server, causing a limitation on the performance by the speed of disk I/O transaction. When the load increases, for instance in the case of database transactions processed on a single node, the lock manager becomes a major performance bottleneck, consuming nearly 75% of transaction time <xref target="OLTP"/>. The multi-node distributed lock processing superimposes the communication latency between nodes, which makes the performance even worse. Therefore offloading the lock manager function from the server to the network switch might be a better choice, since the switch is capable of managing lock function efficiently. Meanwhile it liberate the server for other computation tasks.</t>
        <t>The test results in NetLock <xref target="NetLock"/> show that the lock manager running on a switch is able to answer 100 million requests per second, nearly 10 times more than what a lock server can do.</t>
      </section>
      <section anchor="netsequencer">
        <name>NetSequencer</name>
        <t>Transaction managers are centralized solutions to guarantee consistency for distributed transactions, such as GTM in Postgre-XL (<xref target="GTM"/>, <xref target="CALVIN"/>). However, as a centralized module, transaction managers have become a bottleneck in large scale high-performance distributed systems. The work by Kalia et al. <xref target="HPRDMA"/> introduces a server based networked sequencer, which is a kind of task manager assigning monotonically increasing sequence number for transactions. In <xref target="HPRDMA"/>, the authors shows that the maximum throughput is 122 Million requests per second (Mrps), at the cost of an increased average latency. 
This bounded throughput will impact the scalability of distributed systems. The authors also test the bottleneck for varies optimization methods, including CPU, DMA bandwidth and PCIe RTT, which is introduced by the CPU centric architecture.</t>
        <t>For a programmable switch, a sequencer is a rather simple operation, while the pipeline architecture can avoid bottlenecks. It is worth implementing a switch-based sequencer, which sets the performance goal as hundreds of Mrps and latency in the order of microseconds.</t>
      </section>
    </section>
    <section anchor="SEC_inet-op">
      <name>In-Network Generic Operations</name>
      <t>The COIN use case draft <xref target="I-D.irtf-coinrg-use-cases"/> illustrates some general requirements for scenarios like in-network control and distributed AI, where the aforementioned use cases belong to. One of the requirements is that any in-network computing system must provide means to specify the constraints for placing execution logic in certain logical execution points (and their associated physical locations). In case of NetReduce, NetDistributedLock, and NetSequencer, data aggregation, lock management and sequence number generation functions can be offloaded onto the in-network device. 
It can be observed that those functions are based on "simple" and "generic" operators, as shown in <xref target="Table_usecases"/>. Programmable switches are capable of performing basic operations by executing one or more operators, without impacting the forwarding performance (<xref target="NetChain"/>, <xref target="ERIS"/>).</t>
      <table anchor="Table_usecases">
        <name>Example of in-network operations.</name>
        <thead>
          <tr>
            <th align="left">Use Case</th>
            <th align="left">Operation</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">NetReduce</td>
            <td align="left">Sum value (SUM)</td>
            <td align="left">The in-network device sums the data together and outputs the resulting value.</td>
          </tr>
          <tr>
            <td align="left">NetLock</td>
            <td align="left">Compare And Swap or Fetch-and-Add (CAS or FA)</td>
            <td align="left">By comparing the request with the status of its own lock, the in-network device sends out whether the host has the acquired the lock. Through the CAS and FA, host can implement shared and exclusive locks.</td>
          </tr>
          <tr>
            <td align="left">NetSequencer</td>
            <td align="left">Fetch-and-Add (FA)</td>
            <td align="left">The in-network device provides a monotonically increasing counter number for the host.</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="SEC_overview">
      <name>SINC Framework Overview</name>
      <t>This section describes the various elements of the SINC framework and explains how they work together.</t>
      <t>The SINC protocol and extensions are designed for deployment in limited domains, such as a data center network, rather than deployment across the open Internet. The requirements and semantics are specifically limited, as defined in the previous sections.</t>
      <t><xref target="Fig_SINCArch"/> shows the overall SINC framework, consisting of Hosts, the SINC Ingress Proxy, SINC switch/router (SW/R), the SINC Egress Proxy and normal switches/routers(if any).</t>
      <figure anchor="Fig_SINCArch">
        <name>General SINC deployment.</name>
        <artwork><![CDATA[
 +---------+                                             +---------+
 | Host A  |                                             | Host B  |
 +---------+                                             +---------+
      |                                                       |
      |                                                       |
 +------------+   +------+   +-----------+   +------+   +-----------+
 |SINC Ingress|   |      |   |           |   |      |   |SINC Egress|
 |Proxy       |-->| SW/R |-->| SINC SW/R |-->| SW/R |-->|Proxy      |
 +------------+   +----- +   +-----------+   +------+   +-----------+        
                                
]]></artwork>
      </figure>
      <t>In the SINC domain, a host MUST be SINC-aware. It defines the data operation to be executed. However, it does not need to be aware of where the operation will be executed and how the traffic will be steered in the network.
The host sends out packets with a SINC header containing the definition and parameters of data operations. The SINC header could be placed directly after the transport layer, before the computing data as part of the payload. However, the SINC header can also potentially be positioned at layer 4, layer 3, or even layer 2, depending on the network context of the applications and the deployment consideration. This will be discussed in further details in <xref target="I-D.zhou-rtgwg-sinc-deployment-considerations"/>.</t>
      <t>The SINC proxies are responsible for encapsulating/decapsulating packets in order to steer them through the right network path and nodes. The SINC proxies may or may not be collocated with hosts.</t>
      <t>The SINC Ingress Proxy encapsulates and forwards packets containing a SINC header, to the right node(s) with SINC operation capabilities. Such an operation may involve the use of protocols like Service Function Chaining (SFC <xref target="RFC7665"/>), LISP <xref target="RFC9300"/>, Geneve <xref target="RFC8926"/>, or even MPLS <xref target="RFC3031"/>. Based on the definition of the required data processing and the network capabilities, the SINC ingress proxy can determine whether the data processing defined in the SINC header could be executed in a single node or in multiple nodes. The SINC Egress Proxy is responsible for decapsulating packets before forwarding them to the destination host.</t>
      <t>The SINC switch/router is the node equipped with in-network computing capabilities. It MUST look for the SINC header and perform the required operations if any. It could be done from the encapsulation protocols that contain a field of "next protocols". Otherwise, the SINC switch/router should be able to perform a deep packet inspection to identify the location of the SINC header. The detection of the location of the SINC header will be further depicted in <xref target="I-D.zhou-rtgwg-sinc-deployment-considerations"/>. Upon receiving a SINC packet, the SINC switch/router data-plane processes the SINC header, executes required operations, updates the payload with results (if necessary) and forwards the packet to the destination.</t>
      <t>The SINC workflow is as follows:</t>
      <ol spacing="normal" type="1"><li>Host A transmits a packet with the SINC header and data to the SINC Ingress proxy.</li>
        <li>The SINC Ingress proxy encapsulates and forwards the original packet to a SINC switch/router(s).</li>
        <li>The SINC switches/routers verifies the source, checks the integrity of the data and performs the required data processing defined in the SINC header. When the computing is done, if necessary, the payload is updated with the result and then forwarded to the SINC Egress proxy.</li>
        <li>When the packet reaches the SINC Egress Proxy, the encapsulation will be removed and the inner packet will be forwarded to the final destination (Host B).</li>
      </ol>
    </section>
    <section anchor="SEC_dataop">
      <name>Data Operation Mode</name>
      <t>According to the SINC scenarios, the SINC processing can be divided into two modes: individual computing mode and batch computing mode.</t>
      <t>Individual operations include all operations that can be performed on data coming from a single packet (e.g., Netlock). Conversely, batch operations include all operations that require to collect data from multiple packets (e.g., NetReduce data aggregation).</t>
      <section anchor="individual-computing-mode">
        <name>Individual Computing Mode</name>
        <t>The NetLock is a typical scenario involving individual operations, where the SINC switch/router acts as a lock server, generating a lock for a packet coming from one host.</t>
        <t>This kind of operation has some general aspects to be considered:</t>
        <ul spacing="normal">
          <li>Initialization of the context on the computing device. The context is the information necessary to perform operations on the packets. For instance, the context for a lock operation includes selected keys, lock states (values) for granting locks.</li>
          <li>Error conditions. Operations may fail and, as a consequence, sometimes actions needs to be taken, e.g. sending a message to the source host. However, error handling is not necessarily handled by the SINC switch/router, which could simply roll back the operation and forward the packet unchanged to the destination host. The destination host will in this case perform the operation. If the operation fails again, the destination host will handle the error condition and may send a message back to the source host. In this way SINC switches/router operation remains relatively simple.</li>
        </ul>
      </section>
      <section anchor="batch-computing-mode">
        <name>Batch Computing Mode</name>
        <t>The batch operations require to collect data from multiple sources before actually being able to perform the required operations. For instance, in the NetReduce scenario, the gradient aggregation requires packets carrying gradient arrays from each host to generate the desired result array.</t>
        <t>In this mode, the data operation is collective. The data coming from multiple sources may be aggregated in multiple aggregation nodes in a hierarchy. Hence a tree topology should be created from the control plane for each batch computing request, which will be dismissed once the batch computing is done. A message is required to signal the start and the end of the operation.</t>
        <t>Each aggregation node should collect all input before executing the calculation. If some packets do not arrive or arrive too late, the batch computing may fail. The time the packets are temporarily cached on the SINC switch/router should be carefully configured. On the one hand, it has to be sufficiently long so that there is enough time to receive all required packets. On the other hand, it has to be sufficiently short so that no retransmissions are triggered at the transport or application layers on the end hosts. Similarly to the error condition  for the individual operations, if the SINC switch/router does not receive all required packets in the configured time interval, it can simply forward the packets to the end host so that they deal with packet losses and retransmissions if necessary.</t>
      </section>
    </section>
    <section anchor="SEC_SINC-CH">
      <name>SINC Header</name>
      <t>The SINC header carries the data operation information and it has a fixed length of 16 octets, as shown in <xref target="Fig_nshContext"/>.</t>
      <figure anchor="Fig_nshContext">
        <name>SINC Header.</name>
        <artwork><![CDATA[
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved  |D|L|                    Group ID                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     No. of Data Sources       |    Data Source ID             |       
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           SeqNum                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Data Operation          |    Data Offset                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <ul spacing="normal">
        <li>Reserved: Flags field reserved for future use. MUST be set to zero on transmission and MUST be ignored on reception.</li>
        <li>Done flag (D): Zero (0) indicates that the request operation is not yet performed. One (1) indicates the operation has been done. The source host MUST set this bit to 0. The in-network switch/router performing the operation MUST set this flag to 1 after the operation is executed.</li>
        <li>Loopback flag (L): Zero (0) indicates that the packet SHOULD be sent to the destination after the data operation. One (1) indicates that the packet SHOULD be sent back to the source node after the data operation.</li>
        <li>Group ID: The group ID identifies different groups. Each group is associated with one task.</li>
        <li>Number of Data Sources: Total number of data source nodes that are part of the group.</li>
        <li>Data Source ID: Unique identifier of the data source node of the packet.</li>
        <li>Sequence Number (SeqNum): The SeqNum is used to identify different requests within one group.</li>
        <li>Data Operation: The operation to be executed by the SINC switch/router.</li>
        <li>Data Offset: The in-packet offset from the SINC header to the data required by the operation. This field is useful in cases where the data is not right after the SINC header, the offset indicates directly where, in the packet, the data is located.</li>
      </ul>
    </section>
    <section anchor="control-plane-considerations">
      <name>Control Plane Considerations</name>
      <t>The SINC control plane is responsible for the creation and configuration of the computing network topology with SINC capable network elements, as well as the monitoring and management of the system, to ensure the proper execution of the computing task. The SINC framework can work with either centralized (e.g. SDN like), distributed (by utilizing dynamic signaling protocols), or hybrid control planes. However, this document does not assume any specific control plane design.</t>
      <t>A computing network topology needs to be created in advance to support the required in network computing tasks. The topology could be as simple as a explicit path with SINC capable nodes for individual computing mode (e.g. NetLock and NetSequencer), as well as a tree topology supporting more complex batch computing mode (e.g. NetReduce). After the completion of the computing task, the control plane needs to delete the topology and release relevant resources accordingly. The following features are necessary in control plane for the topology creation/deletion in the SINC network:</t>
      <ul spacing="normal">
        <li>Topology computation: When receiving the computing request from the Host, the SINC control plane needs to compute a set of feasible paths with SINC capable nodes to support individual or batch computations.</li>
        <li>Topology establishment: The topology has to be sent/configured/signaled to the network device, so SINC packets could pass through the right SINC capable nodes to perform the required data computing in the network. Once done, the control plane will signal the application to kick off the packet transmission.</li>
        <li>Topology deletion: Once the application finishes the action, it will inform the control plane to delete the topology and release the reserved resources for other applications and purposes.</li>
      </ul>
      <t>SINC packets are supposed to pass SINC capable nodes without traffic and computing congestion, which demands sufficient resource reservation. There are multiple types of resources (e.g., computing resource, buffer resource, and bandwidth resource) in the network that should be reserved to ensure the smooth execution of the computing tasks.</t>
      <t>The performance monitoring (PM) is required to detect any potential issues during the data operation. It could be done actively or passively. By injecting OAM packets into the network to estimate the performance of the network, the active PM might affect the overall performance of the network. SINC does not introduces any constrains and pre-existing monitoring infrastructures can continue to be used.</t>
      <t>The service protection contains two parts: the computing service protection and network service protection.</t>
      <ul spacing="normal">
        <li>The in-network computing service must be protected. If a SINC node of an in-network operation fails, the impact should be minimized by guaranteeing as much as possible that the packets are at least delivered to the end node, which will perform the requested operation (cf. <xref target="SEC_dataop"/>). The control plane will take care to recover the failure, possibly using a different SINC node and re-routing the traffic.
<!-- TD: Is this simplified paragraph OK? -->
        </li>
        <li>The network service must be able to deliver packet to the designated SINC nodes even in case of partial network failures (e.g. link failures). To this end existing protection and re-route solution may be applied.</li>
      </ul>
      <t>From the above discussion about the control plane, the following basic requirements can be identified:</t>
      <ul spacing="normal">
        <li>The ability to exchange computing requirements (e.g. computing tasks, performance, bandwidth, etc.) and execution status with the application (e.g., via a User Network Interface). SINC tasks should be carefully coordinated with (other) host tasks.</li>
        <li>The ability to gather the resources available on SINC-capable devices, which demands regular advertisement of node capabilities and link resources to other network nodes or to network controller(s).</li>
        <li>The ability to dynamically create, modify and delete computing network topologies based on application requests and according to defined constraints. It includes, but it is not limited to, topology creation/update, explicit path determination, link bandwidth reservation and node computing resource reservation. The created topology should be able to execute computing task requested by the application with no (ot low) impact on the packet transmission.</li>
        <li>The ability to monitor the performance of SINC nodes and link status to ensure that they meet the requirements.</li>
        <li>The ability to provide failover mechanism in order to handle errors and failures, and improves the resilience of the system. A fallback mechanism is required in case that in-network resources are not sufficient for processing SINC tasks, in which case, end host might provide some complementary computing capabilities.</li>
      </ul>
    </section>
    <section anchor="SEC_sec">
      <name>Security Considerations</name>
      <t>In-network computing exposes computing data to network devices, which  inevitably raises security and privacy considerations. 
The security problems faced by in-network computing include, but are not limited to:</t>
      <ul spacing="normal">
        <li>Trustworthiness of participating devices</li>
        <li>Data hijacking and tampering</li>
        <li>Private data exposure</li>
      </ul>
      <t>This documents assume that the deployment is done in a trusted environment. For example, in a data center network or a private network.</t>
      <t>A fine security analysis will be provided in future revisions of this memo.</t>
    </section>
    <section anchor="SEC_iana">
      <name>IANA Considerations</name>
      <t>This document makes no requests to IANA.</t>
    </section>
    <section numbered="false" anchor="Acknowledgements">
      <name>Acknowledgements</name>
      <t>This document received contribution from Yujing Zhou as well as valuable feedback from Dirk Trossen, which was of great help in improving the content. The authors would like to thank all of them.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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>
        <name>Informative References</name>
        <reference anchor="COIN" target="https://datatracker.ietf.org/rg/coinrg/about/">
          <front>
            <title>Computing in the Network, COIN, proposed IRTF group</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="NetLock">
          <front>
            <title>Netlock:/ Fast, centralized lock management using programmable switches</title>
            <author initials="Y." surname="Z" fullname="Yu Z">
              <organization/>
            </author>
            <author initials="Z." surname="Y" fullname="Zhang Y">
              <organization/>
            </author>
            <author initials="B." surname="V" fullname="Braverman V">
              <organization/>
            </author>
            <date year="2020"/>
          </front>
          <seriesInfo name="Proceedings of the Annual conference of the ACM Special Interest Group on Data Communication on the applications, technologies, architectures, and protocols for computer communication." value=""/>
        </reference>
        <reference anchor="GTM" target="https://www.postgres-xl.org/documentation/xc-overview-gtm.html">
          <front>
            <title>GTM and Global Transaction Management</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="OPENAI" target="https://openai.com/blog/ai-and-compute/">
          <front>
            <title>OpenAI. AI and compute</title>
            <author>
              <organization/>
            </author>
            <date year="2018"/>
          </front>
        </reference>
        <reference anchor="PARAHUB">
          <front>
            <title>Parameter hub:/ a rack-scale parameter server for distributed deep neural network training</title>
            <author initials="L." surname="L" fullname="Luo L">
              <organization/>
            </author>
            <author initials="N." surname="J" fullname="Nelson J">
              <organization/>
            </author>
            <author initials="C." surname="L" fullname="Ceze L">
              <organization/>
            </author>
            <date year="2018"/>
          </front>
          <seriesInfo name="Proceedings of the ACM Symposium on Cloud Computing." value=""/>
        </reference>
        <reference anchor="MGWFBP">
          <front>
            <title>MG-WFBP:/ Efficient data communication for distributed synchronous SGD algorithms</title>
            <author initials="S." surname="Shi" fullname="Shaohua Shi">
              <organization/>
            </author>
            <author initials="X." surname="Chu" fullname="Xiaowen Chu">
              <organization/>
            </author>
            <author initials="B." surname="Li" fullname="Bo Li">
              <organization/>
            </author>
            <date year="2019"/>
          </front>
          <seriesInfo name="IEEE INFOCOM 2019-IEEE Conference on Computer Communications. IEEE" value=""/>
        </reference>
        <reference anchor="OLTP">
          <front>
            <title>Improving OLTP scalability using speculative lock inheritance</title>
            <author initials="J." surname="R" fullname="Johnson R">
              <organization/>
            </author>
            <author initials="P." surname="I" fullname="Pandis I">
              <organization/>
            </author>
            <author initials="A." surname="A" fullname="Ailamaki A">
              <organization/>
            </author>
            <date year="2009"/>
          </front>
          <seriesInfo name="Proceedings of the VLDB Endowment" value=""/>
        </reference>
        <reference anchor="HPRDMA" target="https://www.usenix.org/conference/atc16/technical-sessions/presentation/kalia">
          <front>
            <title>Design Guidelines for High Performance RDMA Systems</title>
            <author initials="A." surname="Kalia" fullname="Anuj Kalia">
              <organization/>
            </author>
            <author initials="M." surname="Kaminsky" fullname="Michael Kaminsky">
              <organization/>
            </author>
            <author initials="D. G." surname="Andersen" fullname="David G. Andersen">
              <organization/>
            </author>
            <date year="2016"/>
          </front>
          <seriesInfo name="2016 USENIX Annual Technical Conference (USENIX ATC 16)" value=""/>
        </reference>
        <reference anchor="NetChain">
          <front>
            <title>NetChain:/ Scale-free sub-RTT coordination</title>
            <author initials="X." surname="Jin" fullname="Xin Jin">
              <organization/>
            </author>
            <author initials="X." surname="Li" fullname="Xiaozhou Li">
              <organization/>
            </author>
            <author initials="H." surname="Zhang" fullname="Haoyu Zhang">
              <organization/>
            </author>
            <date year="2018"/>
          </front>
        </reference>
        <reference anchor="ERIS">
          <front>
            <title>Eris:/ Coordination-Free Consistent Transactions Using In-Network Concurrency Control</title>
            <author initials="J." surname="Li" fullname="Jialin Li">
              <organization/>
            </author>
            <author initials="E." surname="Michael" fullname="Ellis Michael">
              <organization/>
            </author>
            <author initials="D. R. K." surname="Ports" fullname="Dan R. K. Ports">
              <organization/>
            </author>
            <date year="2017"/>
          </front>
          <seriesInfo name="SOSP '17:/ Proceedings of the 26th Symposium on Operating Systems Principles" value=""/>
        </reference>
        <reference anchor="ROCEv2" target="https://cw.infinibandta.org/document/dl/7781">
          <front>
            <title>InfiniBand Architecture Specification Release 1.2.1 Annex A17 RoCEv2</title>
            <author>
              <organization/>
            </author>
            <date year="2014" month="September"/>
          </front>
          <seriesInfo name="InfiniBand Trade Association" value=""/>
        </reference>
        <reference anchor="CALVIN">
          <front>
            <title>Calvin: fast distributed transactions for partitioned database systems</title>
            <author fullname="Alexander Thomson" initials="A." surname="Thomson">
              <organization>Yale University, New Haven, CT, USA</organization>
            </author>
            <author fullname="Thaddeus Diamond" initials="T." surname="Diamond">
              <organization>Yale University, New Haven, CT, USA</organization>
            </author>
            <author fullname="Shu-Chun Weng" initials="S." surname="Weng">
              <organization>Yale University, New Haven, CT, USA</organization>
            </author>
            <author fullname="Kun Ren" initials="K." surname="Ren">
              <organization>Yale University, New Haven, CT, USA</organization>
            </author>
            <author fullname="Philip Shao" initials="P." surname="Shao">
              <organization>Yale University, New Haven, CT, USA</organization>
            </author>
            <author fullname="Daniel J. Abadi" initials="D." surname="Abadi">
              <organization>Yale University, New Haven, CT, USA</organization>
            </author>
            <date month="May" year="2012"/>
          </front>
          <seriesInfo name="Proceedings of the 2012 ACM SIGMOD International Conference on Management of" value="Data"/>
          <seriesInfo name="DOI" value="10.1145/2213836.2213838"/>
        </reference>
        <reference anchor="GOBATTO">
          <front>
            <title>Programmable Data Planes meets In-Network Computing: A Review of the State of the Art and Prospective Directions</title>
            <author fullname="Leonardo Reinehr Gobatto" initials="L." surname="Reinehr Gobatto">
              <organization/>
            </author>
            <author fullname="Pablo Rodrigues" initials="P." surname="Rodrigues">
              <organization/>
            </author>
            <author fullname="Mateus Saquetti Pereira de Carvalho Tirone" initials="M." surname="Tirone">
              <organization/>
            </author>
            <author fullname="Weverton Luis da Costa Cordeiro" initials="W." surname="Cordeiro">
              <organization/>
            </author>
            <author fullname="José Rodrigo Furlanetto Azambuja" initials="J." surname="Azambuja">
              <organization/>
            </author>
            <date month="August" year="2021"/>
          </front>
          <seriesInfo name="Journal of Integrated Circuits and Systems" value="vol. 16, no. 2, pp. 1-8"/>
          <seriesInfo name="DOI" value="10.29292/jics.v16i2.497"/>
        </reference>
        <reference anchor="ZENG">
          <front>
            <title>Guest Editorial: In-Network Computing: Emerging Trends for the Edge-Cloud Continuum</title>
            <author fullname="Deze Zeng" initials="D." surname="Zeng">
              <organization>School of Computer Science, China University of Geosciences,Wuhan,China</organization>
            </author>
            <author fullname="Nirwan Ansari" initials="N." surname="Ansari">
              <organization>New Jersey Institute of Technology (NJIT),USA</organization>
            </author>
            <author fullname="Marie-Jose Montpetit" initials="M." surname="Montpetit">
              <organization>Concordia University,Montreal,Canada</organization>
            </author>
            <author fullname="Eve M. Schooler" initials="E." surname="Schooler">
              <organization>Intel,USA</organization>
            </author>
            <author fullname="Daniele Tarchi" initials="D." surname="Tarchi">
              <organization>University of Bologna,Italy</organization>
            </author>
            <date month="September" year="2021"/>
          </front>
          <seriesInfo name="IEEE Network" value="vol. 35, no. 5, pp. 12-13"/>
          <seriesInfo name="DOI" value="10.1109/mnet.2021.9606835"/>
        </reference>
        <reference anchor="P4">
          <front>
            <title>P4: programming protocol-independent packet processors</title>
            <author fullname="Pat Bosshart" initials="P." surname="Bosshart">
              <organization>Barefoot Networks, Palo Alto, CA, USA</organization>
            </author>
            <author fullname="Dan Daly" initials="D." surname="Daly">
              <organization>Intel, Ann Arbor, MI, USA</organization>
            </author>
            <author fullname="Glen Gibb" initials="G." surname="Gibb">
              <organization>Barefoot Networks, Palo Alto, CA, USA</organization>
            </author>
            <author fullname="Martin Izzard" initials="M." surname="Izzard">
              <organization>Barefoot Networks, Palo Alto, CA, USA</organization>
            </author>
            <author fullname="Nick McKeown" initials="N." surname="McKeown">
              <organization>Stanford University, Stanford, CA, USA</organization>
            </author>
            <author fullname="Jennifer Rexford" initials="J." surname="Rexford">
              <organization>Princeton University, Princeton, NJ, USA</organization>
            </author>
            <author fullname="Cole Schlesinger" initials="C." surname="Schlesinger">
              <organization>Princeton University, Princeton, NJ, USA</organization>
            </author>
            <author fullname="Dan Talayco" initials="D." surname="Talayco">
              <organization>Barefoot Networks, Palo Alto, CA, USA</organization>
            </author>
            <author fullname="Amin Vahdat" initials="A." surname="Vahdat">
              <organization>Google, Mountain View, CA, USA</organization>
            </author>
            <author fullname="George Varghese" initials="G." surname="Varghese">
              <organization>Microsoft Research, Mountain View, CA, USA</organization>
            </author>
            <author fullname="David Walker" initials="D." surname="Walker">
              <organization>Princeton University, Princeton, NJ, USA</organization>
            </author>
            <date month="July" year="2014"/>
          </front>
          <seriesInfo name="ACM SIGCOMM Computer Communication Review" value="vol. 44, no. 3, pp. 87-95"/>
          <seriesInfo name="DOI" value="10.1145/2656877.2656890"/>
        </reference>
        <reference anchor="SHArP">
          <front>
            <title>Scalable Hierarchical Aggregation Protocol (SHArP): A Hardware Architecture for Efficient Data Reduction</title>
            <author fullname="Richard L. Graham" initials="R." surname="Graham">
              <organization/>
            </author>
            <author fullname="Vladimir Koushnir" initials="V." surname="Koushnir">
              <organization/>
            </author>
            <author fullname="Lion Levi" initials="L." surname="Levi">
              <organization/>
            </author>
            <author fullname="Alex Margolin" initials="A." surname="Margolin">
              <organization/>
            </author>
            <author fullname="Tamir Ronen" initials="T." surname="Ronen">
              <organization/>
            </author>
            <author fullname="Alexander Shpiner" initials="A." surname="Shpiner">
              <organization/>
            </author>
            <author fullname="Oded Wertheim" initials="O." surname="Wertheim">
              <organization/>
            </author>
            <author fullname="Eitan Zahavi" initials="E." surname="Zahavi">
              <organization/>
            </author>
            <author fullname="Devendar Bureddy" initials="D." surname="Bureddy">
              <organization/>
            </author>
            <author fullname="Pak Lui" initials="P." surname="Lui">
              <organization/>
            </author>
            <author fullname="Hal Rosenstock" initials="H." surname="Rosenstock">
              <organization/>
            </author>
            <author fullname="Gilad Shainer" initials="G." surname="Shainer">
              <organization/>
            </author>
            <author fullname="Gil Bloch" initials="G." surname="Bloch">
              <organization/>
            </author>
            <author fullname="Dror Goldenerg" initials="D." surname="Goldenerg">
              <organization/>
            </author>
            <author fullname="Mike Dubman" initials="M." surname="Dubman">
              <organization/>
            </author>
            <author fullname="Sasha Kotchubievsky" initials="S." surname="Kotchubievsky">
              <organization/>
            </author>
            <date month="November" year="2016"/>
          </front>
          <seriesInfo name="2016 First International Workshop on Communication Optimizations in HPC" value="(COMHPC)"/>
          <seriesInfo name="DOI" value="10.1109/comhpc.2016.006"/>
        </reference>
        <reference anchor="SwitchML">
          <front>
            <title>Scaling Distributed Machine Learning with In-Network Aggregation</title>
            <author fullname="Amedeo Sapio" initials="A." surname="Sapio">
              <organization/>
            </author>
            <author fullname="Marco Canini" initials="M." surname="Canini">
              <organization/>
            </author>
            <author fullname="Chen-Yu Ho" initials="C." surname="Ho">
              <organization/>
            </author>
            <author fullname="Jacob Nelson" initials="J." surname="Nelson">
              <organization/>
            </author>
            <author fullname="Panos Kalnis" initials="P." surname="Kalnis">
              <organization/>
            </author>
            <author fullname="Changhoon Kim" initials="C." surname="Kim">
              <organization/>
            </author>
            <author fullname="Arvind Krishnamurthy" initials="A." surname="Krishnamurthy">
              <organization/>
            </author>
            <author fullname="Masoud Moshref" initials="M." surname="Moshref">
              <organization/>
            </author>
            <author fullname="Dan R. K. Ports" initials="D." surname="Ports">
              <organization/>
            </author>
            <author fullname="Peter Richtárik" initials="P." surname="Richtárik">
              <organization/>
            </author>
            <date year="2019"/>
          </front>
          <seriesInfo name="arXiv" value="article"/>
          <seriesInfo name="DOI" value="10.48550/ARXIV.1903.06701"/>
        </reference>
        <reference anchor="NetReduce">
          <front>
            <title>In-Network Aggregation with Transport Transparency for Distributed Training</title>
            <author fullname="Shuo Liu" initials="S." surname="Liu">
              <organization>Huawei Technologies, China</organization>
            </author>
            <author fullname="Qiaoling Wang" initials="Q." surname="Wang">
              <organization>Huawei Technologies, China</organization>
            </author>
            <author fullname="Junyi Zhang" initials="J." surname="Zhang">
              <organization>Huawei Technologies, China</organization>
            </author>
            <author fullname="Wenfei Wu" initials="W." surname="Wu">
              <organization>Peking University, China</organization>
            </author>
            <author fullname="Qinliang Lin" initials="Q." surname="Lin">
              <organization>Huawei Technologies, China</organization>
            </author>
            <author fullname="Yao Liu" initials="Y." surname="Liu">
              <organization>Sun Yat-sen University, China</organization>
            </author>
            <author fullname="Meng Xu" initials="M." surname="Xu">
              <organization>Huawei Technologies, China</organization>
            </author>
            <author fullname="Marco Canini" initials="M." surname="Canini">
              <organization>King Abdullah University of Science and Technology, Saudi Arabia</organization>
            </author>
            <author fullname="Ray C. C. Cheung" initials="R." surname="Cheung">
              <organization>City University of Hong Kong, China</organization>
            </author>
            <author fullname="Jianfei He" initials="J." surname="He">
              <organization>City University of Hong Kong, China</organization>
            </author>
            <date month="March" year="2023"/>
          </front>
          <seriesInfo name="Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume" value="3"/>
          <seriesInfo name="DOI" value="10.1145/3582016.3582037"/>
        </reference>
        <reference anchor="I-D.irtf-coinrg-use-cases">
          <front>
            <title>Use Cases for In-Network Computing</title>
            <author fullname="Ike Kunze" initials="I." surname="Kunze">
              <organization>RWTH Aachen University</organization>
            </author>
            <author fullname="Klaus Wehrle" initials="K." surname="Wehrle">
              <organization>RWTH Aachen University</organization>
            </author>
            <author fullname="Dirk Trossen" initials="D." surname="Trossen">
              <organization>Huawei Technologies Duesseldorf GmbH</organization>
            </author>
            <author fullname="Marie-Jose Montpetit" initials="M." surname="Montpetit">
              <organization>Concordia University</organization>
            </author>
            <author fullname="Xavier de Foy" initials="X." surname="de Foy">
              <organization>InterDigital Communications, LLC</organization>
            </author>
            <author fullname="David Griffin" initials="D." surname="Griffin">
              <organization>University College London</organization>
            </author>
            <author fullname="Miguel Rio" initials="M." surname="Rio">
              <organization>University College London</organization>
            </author>
            <date day="11" month="March" year="2023"/>
            <abstract>
              <t>   Computing in the Network (COIN) comes with the prospect of deploying
   processing functionality on networking devices, such as switches and
   network interface cards.  While such functionality can be beneficial,
   it has to be carefully placed into the context of the general
   Internet communication and it needs to be clearly identified where
   and how those benefits apply.

   This document presents some use cases to demonstrate how a number of
   salient COIN-related applications can benefit from COIN, further
   identifying their essential requirements.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-irtf-coinrg-use-cases-03"/>
        </reference>
        <reference anchor="I-D.zhou-rtgwg-sinc-deployment-considerations">
          <front>
            <title>Signaling In-Network Computing operations (SINC) deployment considerations</title>
            <author fullname="Zhe Lou" initials="Z." surname="Lou">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Luigi Iannone" initials="L." surname="Iannone">
              <organization>Huawei Technologies France S.A.S.U.</organization>
            </author>
            <author fullname="Yujing Zhou" initials="Y." surname="Zhou">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Jinze Yang" initials="J." surname="Yang">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Zhangcuimin" initials="" surname="Zhangcuimin">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="23" month="February" year="2023"/>
            <abstract>
              <t>   This document is intended to discuss some aspects of the deployment
   of "Signaling In-Network Computing operations" (SINC).  Based on the
   actual topology of the SINC domain, this document analyzes how each
   device in the SINC chain undertakes its own functions.  This document
   provides some specific solutions to the use of SINC mechanism.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-zhou-rtgwg-sinc-deployment-considerations-00"/>
        </reference>
        <reference anchor="RFC7665">
          <front>
            <title>Service Function Chaining (SFC) Architecture</title>
            <author fullname="J. Halpern" initials="J." role="editor" surname="Halpern">
              <organization/>
            </author>
            <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro">
              <organization/>
            </author>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document describes an architecture for the specification, creation, and ongoing maintenance of Service Function Chains (SFCs) in a network.  It includes architectural concepts, principles, and components used in the construction of composite services through deployment of SFCs, with a focus on those to be standardized in the IETF.  This document does not propose solutions, protocols, or extensions to existing protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7665"/>
          <seriesInfo name="DOI" value="10.17487/RFC7665"/>
        </reference>
        <reference anchor="RFC9300">
          <front>
            <title>The Locator/ID Separation Protocol (LISP)</title>
            <author fullname="D. Farinacci" initials="D." surname="Farinacci">
              <organization/>
            </author>
            <author fullname="V. Fuller" initials="V." surname="Fuller">
              <organization/>
            </author>
            <author fullname="D. Meyer" initials="D." surname="Meyer">
              <organization/>
            </author>
            <author fullname="D. Lewis" initials="D." surname="Lewis">
              <organization/>
            </author>
            <author fullname="A. Cabellos" initials="A." role="editor" surname="Cabellos">
              <organization/>
            </author>
            <date month="October" year="2022"/>
            <abstract>
              <t>This document describes the data plane protocol for the Locator/ID Separation Protocol (LISP). LISP defines two namespaces: Endpoint Identifiers (EIDs), which identify end hosts; and Routing Locators (RLOCs), which identify network attachment points. With this, LISP effectively separates control from data and allows routers to create overlay networks. LISP-capable routers exchange encapsulated packets according to EID-to-RLOC mappings stored in a local Map-Cache.</t>
              <t>LISP requires no change to either host protocol stacks or underlay routers and offers Traffic Engineering (TE), multihoming, and mobility, among other features.</t>
              <t>This document obsoletes RFC 6830.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9300"/>
          <seriesInfo name="DOI" value="10.17487/RFC9300"/>
        </reference>
        <reference anchor="RFC8926">
          <front>
            <title>Geneve: Generic Network Virtualization Encapsulation</title>
            <author fullname="J. Gross" initials="J." role="editor" surname="Gross">
              <organization/>
            </author>
            <author fullname="I. Ganga" initials="I." role="editor" surname="Ganga">
              <organization/>
            </author>
            <author fullname="T. Sridhar" initials="T." role="editor" surname="Sridhar">
              <organization/>
            </author>
            <date month="November" year="2020"/>
            <abstract>
              <t>Network virtualization involves the cooperation of devices with a wide variety of capabilities such as software and hardware tunnel endpoints, transit fabrics, and centralized control clusters.  As a result of their role in tying together different elements of the system, the requirements on tunnels are influenced by all of these components.  Therefore, flexibility is the most important aspect of a tunneling protocol if it is to keep pace with the evolution of technology. This document describes Geneve, an encapsulation protocol designed to recognize and accommodate these changing capabilities and needs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8926"/>
          <seriesInfo name="DOI" value="10.17487/RFC8926"/>
        </reference>
        <reference anchor="RFC3031">
          <front>
            <title>Multiprotocol Label Switching Architecture</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen">
              <organization/>
            </author>
            <author fullname="A. Viswanathan" initials="A." surname="Viswanathan">
              <organization/>
            </author>
            <author fullname="R. Callon" initials="R." surname="Callon">
              <organization/>
            </author>
            <date month="January" year="2001"/>
            <abstract>
              <t>This document specifies the architecture for Multiprotocol Label Switching (MPLS).  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3031"/>
          <seriesInfo name="DOI" value="10.17487/RFC3031"/>
        </reference>
      </references>
    </references>
    <?line 422?>


    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="J." surname="Yang" fullname="Jinze Yang">
        <organization/>
        <address>
          <postal>
            <country>China</country>
          </postal>
          <email>jz.yang@live.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
