<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-ippm-ioam-direct-export-11" indexInclude="true" ipr="trust200902" number="9326" prepTime="2022-11-15T16:06:44" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-ippm-ioam-direct-export-11" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9326" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="IOAM Direct Exporting">In Situ Operations, Administration, and Maintenance (IOAM) Direct Exporting</title>
    <seriesInfo name="RFC" value="9326" stream="IETF"/>
    <author fullname="Haoyu Song" initials="H." surname="Song">
      <organization abbrev="" showOnFrontPage="true">Futurewei</organization>
      <address>
        <postal>
          <street>2330 Central Expressway</street>
          <city>Santa Clara</city>
          <code>95050</code>
          <country>United States of America</country>
        </postal>
        <email>haoyu.song@futurewei.com</email>
      </address>
    </author>
    <author fullname="Barak Gafni" initials="B." surname="Gafni">
      <organization abbrev="" showOnFrontPage="true">Nvidia</organization>
      <address>
        <postal>
          <extaddr>Suite 100</extaddr>
          <street>350 Oakmead Parkway</street>
          <city>Sunnyvale</city>
          <region>CA</region>
          <code>94085</code>
          <country>United States of America</country>
        </postal>
        <email>gbarak@nvidia.com</email>
      </address>
    </author>
    <author fullname="Frank Brockners" initials="F." surname="Brockners">
      <organization abbrev="Cisco" showOnFrontPage="true">Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street>Hansaallee 249</street>
          <city>Duesseldorf</city>
          <code>40549</code>
          <country>Germany</country>
        </postal>
        <email>fbrockne@cisco.com</email>
      </address>
    </author>
    <author fullname="Shwetha Bhandari" initials="S." surname="Bhandari">
      <organization abbrev="Thoughtspot" showOnFrontPage="true">Thoughtspot</organization>
      <address>
        <postal>
          <extaddr>3rd Floor, Indiqube Orion, Garden Layout, HSR Layout</extaddr>
          <street>24th Main Rd</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560 102</code>
          <country>India</country>
        </postal>
        <email>shwetha.bhandari@thoughtspot.com</email>
      </address>
    </author>
    <author fullname="Tal Mizrahi" initials="T." surname="Mizrahi">
      <organization abbrev="" showOnFrontPage="true">Huawei</organization>
      <address>
        <postal>
          <street>8-2 Matam</street>
          <city>Haifa</city>
          <code>3190501</code>
          <country>Israel</country>
        </postal>
        <email>tal.mizrahi.phd@gmail.com</email>
      </address>
    </author>
    <date month="11" year="2022"/>
    <area>tsv</area>
    <workgroup>ippm</workgroup>
    <keyword>IOAM</keyword>
    <keyword>Telemetry</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">In situ Operations, Administration, and Maintenance (IOAM) is used
      for recording and collecting operational and telemetry information.
      Specifically, IOAM allows telemetry data to be pushed into data packets
      while they traverse the network. This document introduces a new IOAM
      option type (denoted IOAM-Option-Type) called the "IOAM Direct Export (DEX) Option-Type". This Option-Type is used as a trigger for IOAM data to be directly
      exported or locally aggregated without being pushed into in-flight data
      packets. The exporting method and format are outside the scope of this
      document.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9326" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2022 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions">Conventions</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-direct-exporting-dex-io">The Direct Exporting (DEX) IOAM-Option-Type</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-overview">Overview</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.1.2">
                  <li pn="section-toc.1-1.3.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.1.1"><xref derivedContent="3.1.1" format="counter" sectionFormat="of" target="section-3.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dex-packet-selection">DEX Packet Selection</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.2.1"><xref derivedContent="3.1.2" format="counter" sectionFormat="of" target="section-3.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-responding-to-the-dex-trigg">Responding to the DEX Trigger</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-dex-option-type-format">The DEX Option-Type Format</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ioam-type">IOAM Type</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ioam-dex-flags">IOAM DEX Flags</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ioam-dex-extension-flags">IOAM DEX Extension-Flags</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-performance-considerations">Performance Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-notes-about-the-history-of-">Notes about the History of This Document</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.d"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section toc="include" numbered="true" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">IOAM <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/> is used for monitoring traffic in the
      network and for incorporating IOAM data fields (denoted
      IOAM-Data-Fields) into in-flight data packets.</t>
      <t indent="0" pn="section-1-2">IOAM makes use of four possible IOAM-Option-Types, defined in <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/>: Pre-allocated Trace, Incremental Trace, Proof of Transit (POT), and Edge-to-Edge.</t>
      <t indent="0" pn="section-1-3">This document defines a new IOAM-Option-Type called the "IOAM Direct Export (DEX)
      Option-Type". This Option-Type is used as a trigger for IOAM nodes
      to locally aggregate and process IOAM data and/or to export it to a
      receiving entity (or entities). Throughout the document, this
      functionality is referred to as "collection" and/or "exporting". In this context, a
      "receiving entity" is an entity
      that resides within the IOAM domain such as a collector, analyzer, 
	  controller, decapsulating node, or software module in one of the IOAM nodes.</t>
      <t indent="0" pn="section-1-4">Note that even though the IOAM-Option-Type is called "Direct Export",
      it depends on the deployment whether the receipt of a packet with a DEX
      Option-Type leads to the creation of another packet. Some deployments
      might simply use the packet with the DEX Option-Type to trigger local
      processing of Operations, Administration, and Maintenance (OAM) data. The functionality of this local processing is
      not within the scope of this document.</t>
    </section>
    <section anchor="Conventions" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-conventions">Conventions</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-2.1-1">
    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" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.2">
        <name slugifiedName="name-terminology">Terminology</name>
        <t indent="0" pn="section-2.2-1">Abbreviations used in this document:</t>
        <dl newline="false" spacing="normal" indent="8" pn="section-2.2-2">
          <dt pn="section-2.2-2.1">IOAM:</dt>
          <dd pn="section-2.2-2.2">In situ Operations, Administration, and
            Maintenance</dd>
          <dt pn="section-2.2-2.3">OAM:</dt>
          <dd pn="section-2.2-2.4">Operations, Administration, and Maintenance
          <xref target="RFC6291" format="default" sectionFormat="of" derivedContent="RFC6291"/></dd>
          <dt pn="section-2.2-2.5">DEX:</dt>
          <dd pn="section-2.2-2.6">Direct Exporting</dd>
        </dl>
      </section>
    </section>
    <section anchor="OptionTypeSec" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-the-direct-exporting-dex-io">The Direct Exporting (DEX) IOAM-Option-Type</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-overview">Overview</name>
        <t indent="0" pn="section-3.1-1">The DEX Option-Type is used as a trigger for collecting IOAM data
        locally or exporting it to a receiving entity (or entities).
        Specifically, the DEX Option-Type can be used as a trigger for
        collecting IOAM data by an IOAM node and locally aggregating it; thus,
        this aggregated data can be periodically pushed to a receiving entity
        or pulled by a receiving entity on-demand.</t>
        <t indent="0" pn="section-3.1-2">This Option-Type is incorporated into data packets by an IOAM
        encapsulating node and removed by an IOAM decapsulating node, as
        illustrated in <xref target="DEXArch" format="default" sectionFormat="of" derivedContent="Figure 1"/>. The Option-Type can be read,
        but not modified, by transit nodes. Note that the terms "IOAM encapsulating node",
        "IOAM decapsulating node", and "IOAM transit node" are as defined in <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/>.</t>
        <figure anchor="DEXArch" align="left" suppress-title="false" pn="figure-1">
          <name slugifiedName="name-dex-architecture">DEX Architecture</name>
          <artwork align="left" name="" type="" alt="" pn="section-3.1-3.1">
                                    ^
                                    |Exported IOAM data
                                    |
                                    |
                                    |
              +--------------+------+-------+--------------+
              |              |              |              |
              |              |              |              |
User      +---+----+     +---+----+     +---+----+     +---+----+
packets   |Encapsu-|     | Transit|     | Transit|     |Decapsu-|
---------&gt;|lating  |====&gt;| Node   |====&gt;| Node   |====&gt;|lating  |----&gt;
          |Node    |     | A      |     | B      |     |Node    |
          +--------+     +--------+     +--------+     +--------+
          Insert DEX       Export         Export       Remove DEX
          option and      IOAM data      IOAM data     option and
          export data                                  export data</artwork>
        </figure>
        <t indent="0" pn="section-3.1-4">The DEX Option-Type is used as a trigger to collect and/or export
        IOAM data. The trigger applies to transit nodes, the decapsulating
        node, and the encapsulating node:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1-5">
          <li pn="section-3.1-5.1"> An IOAM encapsulating node configured to incorporate the DEX
Option-Type encapsulates the packets (or possibly a subset of the
packets) it forwards with the DEX Option-Type and <bcp14>MAY</bcp14> export and/or collect
            the requested IOAM data immediately. Only IOAM encapsulating nodes
            are allowed to add the DEX Option-Type to a packet. An IOAM
            encapsulating node can generate probe packets that incorporate the
            DEX Option-Type. These probe packets can be generated periodically
            or on-demand (for example, triggered by the management plane). The
            specification of such probe packets is outside the scope of this
            document.</li>
          <li pn="section-3.1-5.2">A transit node that processes a packet with the DEX Option-Type
            <bcp14>MAY</bcp14> export and/or collect the requested IOAM data.</li>
          <li pn="section-3.1-5.3">An IOAM decapsulating node that processes a packet with the DEX
            Option-Type <bcp14>MAY</bcp14> export and/or collect the requested IOAM data and
            <bcp14>MUST</bcp14> decapsulate the IOAM header.</li>
        </ul>
        <t indent="0" pn="section-3.1-6">As in <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/>, the DEX Option-Type can be
        incorporated into all or a subset of the traffic that is forwarded by
        the encapsulating node, as further discussed in <xref target="SelectionSec" format="default" sectionFormat="of" derivedContent="Section 3.1.1"/>. Moreover, IOAM nodes respond to the DEX
        trigger by exporting and/or collecting IOAM data either for all
        traversing packets that carry the DEX Option-Type or selectively only
        for a subset of these packets, as further discussed in <xref target="ExportSec" format="default" sectionFormat="of" derivedContent="Section 3.1.2"/>.</t>
        <section anchor="SelectionSec" numbered="true" toc="include" removeInRFC="false" pn="section-3.1.1">
          <name slugifiedName="name-dex-packet-selection">DEX Packet Selection</name>
          <t indent="0" pn="section-3.1.1-1">If an IOAM encapsulating node incorporates the DEX Option-Type
          into all the traffic it forwards, it may lead to an excessive amount
          of exported data, which may overload the network and the receiving
          entity.  Therefore, an IOAM encapsulating node that supports the DEX
Option-Type <bcp14>MUST</bcp14> support the ability to incorporate the DEX
Option-Type selectively into a subset of the packets that are
forwarded by the IOAM encapsulating node.</t>
          <t indent="0" pn="section-3.1.1-2">Various methods of packet selection and sampling have been
          previously defined, such as <xref target="RFC7014" format="default" sectionFormat="of" derivedContent="RFC7014"/> and <xref target="RFC5475" format="default" sectionFormat="of" derivedContent="RFC5475"/>. Similar techniques can be applied by an IOAM
          encapsulating node to apply DEX to a subset of the forwarded
          traffic.</t>
          <t indent="0" pn="section-3.1.1-3">The subset of traffic that is forwarded or transmitted with a DEX
          Option-Type <bcp14>SHOULD NOT</bcp14> exceed 1/N of the interface capacity on any
          of the IOAM encapsulating node's interfaces. It is noted that this
          requirement applies to the total traffic that incorporates a DEX
          Option-Type, including traffic that is forwarded by the IOAM
          encapsulating node and probe packets that are generated by the IOAM
          encapsulating node. In this context, N is a parameter that can be
          configurable by network operators. If there is an upper bound, M, on
          the number of IOAM transit nodes in any path in the network, then it
          is <bcp14>RECOMMENDED</bcp14> to use an N such that N &gt;&gt; M (i.e., N is much greater
		  than M). The rationale is
          that a packet that includes a DEX Option-Type may trigger an
          exported packet from each IOAM transit node along the path for a
          total of M exported packets. Thus, if N &gt;&gt; M, then the number
          of exported packets is significantly lower than the number of data
          packets forwarded by the IOAM encapsulating node. If there is no
          prior knowledge about the network topology or size, it is
          <bcp14>RECOMMENDED</bcp14> to use N&gt;100.</t>
        </section>
        <section anchor="ExportSec" numbered="true" toc="include" removeInRFC="false" pn="section-3.1.2">
          <name slugifiedName="name-responding-to-the-dex-trigg">Responding to the DEX Trigger</name>
          <t indent="0" pn="section-3.1.2-1">The DEX Option-Type specifies which IOAM-Data-Fields should be
          exported and/or collected, as specified in <xref target="OptionSec" format="default" sectionFormat="of" derivedContent="Section 3.2"/>.  As mentioned above, the data can be locally collected, aggregated, and/or
exported to a receiving entity proactively or on-demand. If IOAM data is
          exported, the format and encapsulation of the packet that contains
          the exported data is not within the scope of the current document.
          For example, the export format can be based on <xref target="I-D.spiegel-ippm-ioam-rawexport" format="default" sectionFormat="of" derivedContent="IOAM-RAWEXPORT"/>.</t>
          <t indent="0" pn="section-3.1.2-2">An IOAM node that performs DEX-triggered exporting <bcp14>MUST</bcp14> support
          the ability to limit the rate of the exported packets. The rate of
          exported packets <bcp14>SHOULD</bcp14> be limited so that the number of exported
          packets is significantly lower than the number of packets that are
          forwarded by the device. The exported data rate <bcp14>SHOULD NOT</bcp14> exceed
          1/N of the interface capacity on any of the IOAM node's interfaces.
          It is <bcp14>RECOMMENDED</bcp14> to use N&gt;100. Depending on the IOAM node's
          architecture considerations, the export rate may be limited to a
          lower number in order to avoid loading the IOAM node. An IOAM node
          <bcp14>MAY</bcp14> maintain a counter or a set of counters that count the events in
          which the IOAM node receives a packet with the DEX Option-Type and
          does not collect and/or export data due to the rate limits.</t>
          <t indent="0" pn="section-3.1.2-3">IOAM nodes <bcp14>SHOULD NOT</bcp14> be configured to export packets
		  over a path or a tunnel
          that is subject to IOAM direct exporting. Furthermore, IOAM
          encapsulating nodes that can identify a packet as an IOAM exported
          packet <bcp14>MUST NOT</bcp14> push a DEX Option-Type into such a packet. This
          requirement is intended to prevent nested exporting and/or exporting
          loops.</t>
          <t indent="0" pn="section-3.1.2-4">A transit or decapsulating IOAM node that receives an unknown
          IOAM-Option-Type ignores it (as defined in <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/>); specifically, nodes that do not support the
          DEX Option-Type ignore it. As per <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/>, note that
          a decapsulating node removes the IOAM encapsulation and all its
          IOAM-Option-Types. Specifically, this applies to the case where one of these
          options is a (possibly unknown) DEX Option-Type. The ability to skip
          over a (possibly unknown) DEX Option-Type in the parsing or in the
          decapsulation procedure is dependent on the specific encapsulation,
          which is outside the scope of this document. For example, when IOAM
          is encapsulated in IPv6 <xref target="I-D.ietf-ippm-ioam-ipv6-options" format="default" sectionFormat="of" derivedContent="IOAM-IPV6-OPTIONS"/>, the DEX Option-Type is
          incorporated either in a Hop-by-Hop options header or in a
          Destination options header; thus, it can be skipped using the length
          field in the options header.</t>
        </section>
      </section>
      <section anchor="OptionSec" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-the-dex-option-type-format">The DEX Option-Type Format</name>
        <t indent="0" pn="section-3.2-1">The format of the DEX Option-Type is depicted in <xref target="OptionFormat" format="default" sectionFormat="of" derivedContent="Figure 2"/>. The length of the DEX Option-Type is at least
        8 octets. The DEX Option-Type <bcp14>MAY</bcp14> include one or more optional fields.
        The existence of the optional fields is indicated by the corresponding
        flags in the Extension-Flags field. Two optional fields are defined in
        this document: the Flow ID and Sequence Number fields. Every
        optional field <bcp14>MUST</bcp14> be exactly 4 octets long. Thus, the
        Extension-Flags field explicitly indicates the length of the DEX
        Option-Type. Defining a new optional field requires an allocation of a
        corresponding flag in the Extension-Flags field, as specified in <xref target="IANAflags" format="default" sectionFormat="of" derivedContent="Section 4.2"/>.</t>
        <figure anchor="OptionFormat" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-dex-option-type-format">DEX Option-Type Format</name>
          <artwork align="left" name="" type="" alt="" pn="section-3.2-2.1">
    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Namespace-ID           |     Flags     |Extension-Flags|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               IOAM-Trace-Type                 |   Reserved    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Flow ID (Optional)                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     Sequence Number  (Optional)               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <dl newline="true" spacing="normal" indent="3" pn="section-3.2-3">
          <dt pn="section-3.2-3.1">Namespace-ID:</dt>
          <dd pn="section-3.2-3.2">A 16-bit identifier of the IOAM
            namespace, as defined in <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/>.</dd>
          <dt pn="section-3.2-3.3">Flags:</dt>
          <dd pn="section-3.2-3.4">An 8-bit field, comprised of 8 1-bit
            subfields. Flags are allocated by IANA, as defined in <xref target="IANAflags" format="default" sectionFormat="of" derivedContent="Section 4.2"/>.</dd>
          <dt pn="section-3.2-3.5">Extension-Flags:</dt>
          <dd pn="section-3.2-3.6">An 8-bit field, comprised of 8
            1-bit subfields. Extension-Flags are allocated by IANA, as
            defined in <xref target="IANAExtensionflags" format="default" sectionFormat="of" derivedContent="Section 4.3"/>. Every bit in the
            Extension-Flag field that is set to 1 indicates the existence of a
            corresponding optional 4-octet field. An IOAM node that receives a
            DEX Option-Type with an unknown flag set to 1 <bcp14>MUST</bcp14> ignore the
            corresponding optional field.</dd>
          <dt pn="section-3.2-3.7">IOAM-Trace-Type:</dt>
          <dd pn="section-3.2-3.8">A 24-bit identifier that specifies
            which IOAM-Data-Fields should be exported. The format of this
            field is as defined in <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/>. Specifically, the
            bit that corresponds to the Checksum Complement IOAM-Data-Field
            <bcp14>SHOULD</bcp14> be assigned to be zero by the IOAM encapsulating node and
            ignored by transit and decapsulating nodes. The reason for this is
            that the Checksum Complement is intended for in-flight packet
            modifications and is not relevant for direct exporting.</dd>
          <dt pn="section-3.2-3.9">Reserved:</dt>
          <dd pn="section-3.2-3.10">This field <bcp14>MUST</bcp14> be ignored by the
            receiver.</dd>
          <dt pn="section-3.2-3.11">Optional fields:</dt>
          <dd pn="section-3.2-3.12">
            <t indent="0" pn="section-3.2-3.12.1">The optional fields, if present,
            reside after the Reserved field. The order of the optional fields
            is according to the order of the respective bits, starting from
			the most significant bit, that are enabled in the
			Extension-Flags field. Each optional field is 4 octets long.</t>
            <dl spacing="normal" newline="true" indent="3" pn="section-3.2-3.12.2">
              <dt pn="section-3.2-3.12.2.1">Flow ID:</dt>
              <dd pn="section-3.2-3.12.2.2">An optional 32-bit field representing the
            flow identifier. If the actual Flow ID is shorter than 32 bits, it
            is zero padded in its most significant bits. The field is set at
            the encapsulating node. The Flow ID can be used to correlate the
            exported data of the same flow from multiple nodes and from
            multiple packets. Flow ID values are expected to be allocated in a
            way that avoids collisions. For example, random assignment of Flow
            ID values can be subject to collisions, while
            centralized allocation can avoid this problem. The specification
            of the Flow ID allocation method is not within the scope of this
            document.</dd>
              <dt pn="section-3.2-3.12.2.3">Sequence Number:</dt>
              <dd pn="section-3.2-3.12.2.4">An optional 32-bit sequence number
            starting from 0 and incremented by 1 for each 
            packet from the same flow at the encapsulating node that includes
			the DEX option. The Sequence
            Number, when combined with the Flow ID, provides a convenient
            approach to correlate the exported data from the same user
            packet.</dd>
            </dl>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section anchor="IANAtype" numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-ioam-type">IOAM Type</name>
        <t indent="0" pn="section-4.1-1">The "IOAM Option-Type" registry is defined in <xref target="RFC9197" sectionFormat="of" section="7.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9197#section-7.1" derivedContent="RFC9197"/>. IANA has allocated the following code
        point from the "IOAM Option-Type" registry as follows:</t>
        <dl newline="false" spacing="normal" indent="3" pn="section-4.1-2">
          <dt pn="section-4.1-2.1">Code Point:</dt>
          <dd pn="section-4.1-2.2">4</dd>
          <dt pn="section-4.1-2.3">Name</dt>
          <dd pn="section-4.1-2.4">IOAM Direct Export (DEX) Option-Type</dd>
          <dt pn="section-4.1-2.5">Description:</dt>
          <dd pn="section-4.1-2.6">Direct exporting</dd>
          <dt pn="section-4.1-2.7">Reference:</dt>
          <dd pn="section-4.1-2.8">This document</dd>
        </dl>
      </section>
      <section anchor="IANAflags" numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-ioam-dex-flags">IOAM DEX Flags</name>
        <t indent="0" pn="section-4.2-1">IANA has created the "IOAM DEX Flags" registry. This
        registry includes 8 flag bits. Allocation is based on the "IETF
        Review" procedure defined in <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>.</t>
        <t indent="0" pn="section-4.2-2">New registration requests <bcp14>MUST</bcp14> use the following template:</t>
        <dl newline="false" spacing="normal" indent="3" pn="section-4.2-3">
          <dt pn="section-4.2-3.1">Bit:</dt>
          <dd pn="section-4.2-3.2">Desired bit to be allocated in the 8-bit Flags
            field of the DEX Option-Type.</dd>
          <dt pn="section-4.2-3.3">Description:</dt>
          <dd pn="section-4.2-3.4">Brief description of the newly
            registered bit.</dd>
          <dt pn="section-4.2-3.5">Reference:</dt>
          <dd pn="section-4.2-3.6">Reference to the document that defines
            the new bit.</dd>
        </dl>
      </section>
      <section anchor="IANAExtensionflags" numbered="true" toc="include" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-ioam-dex-extension-flags">IOAM DEX Extension-Flags</name>
        <t indent="0" pn="section-4.3-1">IANA has created the "IOAM DEX Extension-Flags" registry.
        This registry includes 8 flag bits. Bit 0 (the most significant bit)
        and bit 1 in the registry are allocated by this document and
        described in <xref target="OptionSec" format="default" sectionFormat="of" derivedContent="Section 3.2"/>. Allocation of the other bits
        should be performed based on the "IETF Review" procedure defined
        in <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>.</t>
        <dl newline="false" spacing="normal" indent="3" pn="section-4.3-2">
          <dt pn="section-4.3-2.1">Bit 0:</dt>
          <dd pn="section-4.3-2.2">"Flow ID [RFC9326]"</dd>
          <dt pn="section-4.3-2.3">Bit 1:</dt>
          <dd pn="section-4.3-2.4">"Sequence Number [RFC9326]"</dd>
        </dl>
        <t indent="0" pn="section-4.3-3">New registration requests <bcp14>MUST</bcp14> use the following template:</t>
        <dl newline="false" spacing="normal" indent="3" pn="section-4.3-4">
          <dt pn="section-4.3-4.1">Bit:</dt>
          <dd pn="section-4.3-4.2">Desired bit to be allocated in the 8-bit
            Extension-Flags field of the DEX Option-Type.</dd>
          <dt pn="section-4.3-4.3">Description:</dt>
          <dd pn="section-4.3-4.4">Brief description of the newly
            registered bit.</dd>
          <dt pn="section-4.3-4.5">Reference:</dt>
          <dd pn="section-4.3-4.6">Reference to the document that defines
            the new bit.</dd>
        </dl>
      </section>
    </section>
    <section anchor="Performance" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-performance-considerations">Performance Considerations</name>
      <t indent="0" pn="section-5-1">The DEX Option-Type triggers IOAM data to be collected and/or
      exported packets to be exported to a receiving entity (or entities). In
      some cases, this may impact the receiving entity's performance or the
      performance along the paths leading to it.</t>
      <t indent="0" pn="section-5-2">Therefore, the performance impact of these exported packets is
      limited by taking two measures: at the encapsulating nodes by selective
      DEX encapsulation (<xref target="SelectionSec" format="default" sectionFormat="of" derivedContent="Section 3.1.1"/>) and at the transit
      nodes by limiting exporting rate (<xref target="ExportSec" format="default" sectionFormat="of" derivedContent="Section 3.1.2"/>). These
      two measures ensure that direct exporting is used at a rate that does
      not significantly affect the network bandwidth and does not overload
      the receiving entity. Moreover, it is possible to load balance the
      exported data among multiple receiving entities, although the exporting
      method is not within the scope of this document.</t>
      <t indent="0" pn="section-5-3">It should be noted that, in some networks, DEX data may be exported
      over an out-of-band network in which a large volume of exported traffic
      does not compromise user traffic. In this case, an operator may choose to
      disable the exporting rate limiting.</t>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-6-1">The security considerations of IOAM in general are discussed in <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/>. Specifically, an attacker may try to use the
      functionality that is defined in this document to attack the
      network.</t>
      <t indent="0" pn="section-6-2">An attacker may attempt to overload network devices by injecting
      synthetic packets that include the DEX Option-Type. Similarly, an
      on-path attacker may maliciously incorporate the DEX Option-Type into
      transit packets or maliciously remove it from packets in which it is
      incorporated.</t>
      <t indent="0" pn="section-6-3">Forcing DEX, either in synthetic packets or in transit packets, may
      overload the IOAM nodes and/or the receiving entity (or entities). Since
      this mechanism affects multiple devices along the network path, it
      potentially amplifies the effect on the network bandwidth, the
      storage of the devices that collect the data, and the receiving
      entity's load.</t>
      <t indent="0" pn="section-6-4">The amplification effect of DEX may be worse in wide area networks in
      which there are multiple IOAM-Domains. For example, if DEX is used in
      IOAM-Domain 1 for exporting IOAM data to a receiving entity, then the
      exported packets of IOAM-Domain 1 can be forwarded through IOAM-Domain 2, in
      which they are subject to DEX. In turn, the exported packets of IOAM-Domain 2 may be forwarded through another IOAM domain (or through IOAM-Domain 1);
      theoretically, this recursive amplification may continue infinitely.</t>
      <t indent="0" pn="section-6-5">In order to mitigate the attacks described above, the following
      requirements (<xref target="OptionTypeSec" format="default" sectionFormat="of" derivedContent="Section 3"/>) have been defined:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-6-6">
        <li pn="section-6-6.1">Selective DEX (<xref target="SelectionSec" format="default" sectionFormat="of" derivedContent="Section 3.1.1"/>) is applied by IOAM
          encapsulating nodes in order to limit the potential impact of DEX
          attacks to a small fraction of the traffic.</li>
        <li pn="section-6-6.2">Rate limiting of exported traffic (<xref target="ExportSec" format="default" sectionFormat="of" derivedContent="Section 3.1.2"/>) is
          applied by IOAM nodes in order to prevent overloading attacks and 
          to significantly limit the scale of amplification attacks.</li>
        <li pn="section-6-6.3">IOAM encapsulating nodes are required to avoid pushing the DEX
          Option-Type into IOAM exported packets (<xref target="ExportSec" format="default" sectionFormat="of" derivedContent="Section 3.1.2"/>),
          thus preventing some of the amplification and export loop
          scenarios.</li>
      </ul>
      <t indent="0" pn="section-6-7">Although the exporting method is not within the scope of this
      document, any exporting method <bcp14>MUST</bcp14> secure the exported data from the
      IOAM node to the receiving entity in order to protect the 
	  confidentiality and guarantee the integrity of the exported data. 
	  Specifically, an IOAM node that
      performs DEX exporting <bcp14>MUST</bcp14> send the exported data to a pre-configured
      trusted receiving entity that is in the same IOAM-Domain as the exporting
	  IOAM node. 
	  Furthermore, an IOAM node <bcp14>MUST</bcp14> gain explicit
      consent to export data to a receiving entity before starting to send
      exported data.</t>
      <t indent="0" pn="section-6-8">An attacker may keep track of the information sent in DEX headers as
      a means of reconnaissance. This form of recon can be mitigated to some
      extent by careful allocation of the Flow ID and Sequence Number space
      in a way that does not compromise privacy aspects, such as customer
      identities.</t>
      <t indent="0" pn="section-6-9">The integrity of the DEX Option-Type can be protected through a
      mechanism of the encapsulating protocol. While <xref target="I-D.ietf-ippm-ioam-data-integrity" format="default" sectionFormat="of" derivedContent="IOAM-DATA-INTEGRITY"/> introduces an integrity
      protection mechanism that protects the integrity of IOAM-Data-Fields,
      the DEX Option-Type does not include IOAM-Data-Fields; therefore,
      these integrity protection mechanisms are not applicable to the DEX
      Option-Type. As discussed in the threat analysis of <xref target="I-D.ietf-ippm-ioam-data-integrity" format="default" sectionFormat="of" derivedContent="IOAM-DATA-INTEGRITY"/>, injection or modification
      of IOAM-Option-Type headers are threats that are not addressed in
      IOAM.</t>
      <t indent="0" pn="section-6-10">IOAM is assumed to be deployed in a restricted administrative domain,
      thus limiting the scope of the threats above and their effect. This is a
      fundamental assumption with respect to the security aspects of IOAM, as
      further discussed in <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/>.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.spiegel-ippm-ioam-rawexport" to="IOAM-RAWEXPORT"/>
    <displayreference target="I-D.song-ippm-postcard-based-telemetry" to="POSTCARD-BASED-TELEMETRY"/>
    <displayreference target="I-D.ietf-ippm-ioam-data-integrity" to="IOAM-DATA-INTEGRITY"/>
    <displayreference target="I-D.ietf-ippm-ioam-ipv6-options" to="IOAM-IPV6-OPTIONS"/>
    <references pn="section-7">
      <name slugifiedName="name-references">References</name>
      <references pn="section-7.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">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" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">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>
        <reference anchor="RFC9197" target="https://www.rfc-editor.org/info/rfc9197" quoteTitle="true" derivedAnchor="RFC9197">
          <front>
            <title>Data Fields for In Situ Operations, Administration, and Maintenance (IOAM)</title>
            <author initials="F." surname="Brockners" fullname="F. Brockners" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Bhandari" fullname="S. Bhandari" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Mizrahi" fullname="T. Mizrahi" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2022" month="May"/>
            <abstract>
              <t indent="0">In situ Operations, Administration, and Maintenance (IOAM) collects operational and telemetry information in the packet while the packet traverses a path between two points in the network. This document discusses the data fields and associated data types for IOAM. IOAM-Data-Fields can be encapsulated into a variety of protocols, such as Network Service Header (NSH), Segment Routing, Generic Network Virtualization Encapsulation (Geneve), or IPv6.  IOAM can be used to complement OAM mechanisms based on, e.g., ICMP or other types of probe packets.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9197"/>
          <seriesInfo name="DOI" value="10.17487/RFC9197"/>
        </reference>
      </references>
      <references pn="section-7.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.ietf-ippm-ioam-data-integrity" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-ippm-ioam-data-integrity-02" derivedAnchor="IOAM-DATA-INTEGRITY">
          <front>
            <title>Integrity of In-situ OAM Data Fields</title>
            <author initials="F." surname="Brockners" fullname="Frank Brockners">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author initials="S." surname="Bhandari" fullname="Shwetha Bhandari">
              <organization showOnFrontPage="true">Thoughtspot</organization>
            </author>
            <author initials="T." surname="Mizrahi" fullname="Tal Mizrahi">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <author initials="J." surname="Iurman" fullname="Justin Iurman">
              <organization showOnFrontPage="true">Universite de Liege</organization>
            </author>
            <date month="July" day="5" year="2022"/>
            <abstract>
              <t indent="0">   In-situ Operations, Administration, and Maintenance (IOAM) records
   operational and telemetry information in the packet while the packet
   traverses a path in the network.  IETF protocols require features to
   ensure their security.  This document describes the integrity
   protection of IOAM-Data-Fields.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ippm-ioam-data-integrity-02"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-ippm-ioam-data-integrity-02.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-ippm-ioam-ipv6-options" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-ippm-ioam-ipv6-options-09" derivedAnchor="IOAM-IPV6-OPTIONS">
          <front>
            <title>In-situ OAM IPv6 Options</title>
            <author initials="S." surname="Bhandari" fullname="Shwetha Bhandari">
              <organization showOnFrontPage="true">Thoughtspot</organization>
            </author>
            <author initials="F." surname="Brockners" fullname="Frank Brockners">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <date month="October" day="11" year="2022"/>
            <abstract>
              <t indent="0">   In-situ Operations, Administration, and Maintenance (IOAM) records
   operational and telemetry information in the packet while the packet
   traverses a path between two points in the network.  This document
   outlines how IOAM data fields are encapsulated in IPv6.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ippm-ioam-ipv6-options-09"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-ippm-ioam-ipv6-options-09.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.spiegel-ippm-ioam-rawexport" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-spiegel-ippm-ioam-rawexport-06" derivedAnchor="IOAM-RAWEXPORT">
          <front>
            <title>In-situ OAM raw data export with IPFIX</title>
            <author initials="M." surname="Spiegel" fullname="Mickey Spiegel">
              <organization showOnFrontPage="true">Barefoot Networks, an Intel company</organization>
            </author>
            <author initials="F." surname="Brockners" fullname="Frank Brockners">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author initials="S." surname="Bhandari" fullname="Shwetha Bhandari">
              <organization showOnFrontPage="true">Thoughtspot</organization>
            </author>
            <author initials="R." surname="Sivakolundu" fullname="Ramesh Sivakolundu">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <date month="February" day="21" year="2022"/>
            <abstract>
              <t indent="0">   In-situ Operations, Administration, and Maintenance (IOAM) records
   operational and telemetry information in the packet while the packet
   traverses a path between two points in the network.  This document
   discusses how In-situ Operations, Administration, and Maintenance
   (IOAM) information can be exported in raw, i.e. uninterpreted, format
   from network devices to systems, such as monitoring or analytics
   systems using IPFIX.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-spiegel-ippm-ioam-rawexport-06"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-spiegel-ippm-ioam-rawexport-06.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.song-ippm-postcard-based-telemetry" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-song-ippm-postcard-based-telemetry-14" derivedAnchor="POSTCARD-BASED-TELEMETRY">
          <front>
            <title>Marking-based Direct Export for On-path Telemetry</title>
            <author initials="H." surname="Song" fullname="Haoyu Song">
              <organization showOnFrontPage="true">Futurewei Technologies</organization>
            </author>
            <author initials="G." surname="Mirsky" fullname="Greg Mirsky">
              <organization showOnFrontPage="true">Ericsson</organization>
            </author>
            <author initials="C." surname="Filsfils" fullname="Clarence Filsfils">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author initials="A." surname="Abdelsalam" fullname="Ahmed Abdelsalam">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author initials="T." surname="Zhou" fullname="Tianran Zhou">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <author initials="Z." surname="Li" fullname="Zhenbin Li">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <author initials="T." surname="Graf" fullname="Thomas Graf">
              <organization showOnFrontPage="true">Swisscom</organization>
            </author>
            <author initials="G. S." surname="Mishra" fullname="Gyan Mishra">
              <organization showOnFrontPage="true">Verizon Inc.</organization>
            </author>
            <author initials="J." surname="Shin" fullname="Jongyoon Shin">
              <organization showOnFrontPage="true">SK Telecom</organization>
            </author>
            <author initials="K." surname="Lee" fullname="Kyungtae Lee">
              <organization showOnFrontPage="true">LG U+</organization>
            </author>
            <date month="September" day="7" year="2022"/>
            <abstract>
              <t indent="0">   The document describes a postcard-based telemetry method using
   packet-marking, referred to as PBT-M.  PBT-M does not carry the
   telemetry data in user packets but sends the telemetry data through a
   dedicated packet.  PBT-M does not require an extra instruction header
   but claims a bit as a trigger in existing header fields.  PBT-M
   raises some unique issues that need to be considered.  This document
   describes the high level scheme and covers the common requirements
   and issues when applying PBT-M in different networks.  PBT-M is
   complementary to the other on-path telemetry schemes such as IOAM.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-song-ippm-postcard-based-telemetry-14"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-song-ippm-postcard-based-telemetry-14.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="RFC5475" target="https://www.rfc-editor.org/info/rfc5475" quoteTitle="true" derivedAnchor="RFC5475">
          <front>
            <title>Sampling and Filtering Techniques for IP Packet Selection</title>
            <author initials="T." surname="Zseby" fullname="T. Zseby">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Molina" fullname="M. Molina">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Duffield" fullname="N. Duffield">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Niccolini" fullname="S. Niccolini">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F." surname="Raspall" fullname="F. Raspall">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2009" month="March"/>
            <abstract>
              <t indent="0">This document describes Sampling and Filtering techniques for IP packet selection.  It provides a categorization of schemes and defines what parameters are needed to describe the most common selection schemes.  Furthermore, it shows how techniques can be combined to build more elaborate packet Selectors.  The document provides the basis for the definition of information models for configuring selection techniques in Metering Processes and for reporting the technique in use to a Collector.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5475"/>
          <seriesInfo name="DOI" value="10.17487/RFC5475"/>
        </reference>
        <reference anchor="RFC6291" target="https://www.rfc-editor.org/info/rfc6291" quoteTitle="true" derivedAnchor="RFC6291">
          <front>
            <title>Guidelines for the Use of the "OAM" Acronym in the IETF</title>
            <author initials="L." surname="Andersson" fullname="L. Andersson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="van Helvoort" fullname="H. van Helvoort">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Bonica" fullname="R. Bonica">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Romascanu" fullname="D. Romascanu">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Mansfield" fullname="S. Mansfield">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="June"/>
            <abstract>
              <t indent="0">At first glance, the acronym "OAM" seems to be well-known and well-understood.  Looking at the acronym a bit more closely reveals a set of recurring problems that are revisited time and again.</t>
              <t indent="0">This document provides a definition of the acronym "OAM" (Operations, Administration, and Maintenance) for use in all future IETF documents that refer to OAM.  There are other definitions and acronyms that will be discussed while exploring the definition of the constituent parts of the "OAM" term.  This memo documents an Internet Best Current  Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="161"/>
          <seriesInfo name="RFC" value="6291"/>
          <seriesInfo name="DOI" value="10.17487/RFC6291"/>
        </reference>
        <reference anchor="RFC7014" target="https://www.rfc-editor.org/info/rfc7014" quoteTitle="true" derivedAnchor="RFC7014">
          <front>
            <title>Flow Selection Techniques</title>
            <author initials="S." surname="D'Antonio" fullname="S. D'Antonio">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Zseby" fullname="T. Zseby">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Henke" fullname="C. Henke">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Peluso" fullname="L. Peluso">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2013" month="September"/>
            <abstract>
              <t indent="0">The Intermediate Flow Selection Process is the process of selecting a subset of Flows from all observed Flows.  The Intermediate Flow Selection Process may be located at an IP Flow Information Export (IPFIX) Exporter or Collector, or within an IPFIX Mediator.  It reduces the effort of post-processing Flow data and transferring Flow Records.  This document describes motivations for using the Intermediate Flow Selection process and presents Intermediate Flow Selection techniques.  It provides an information model for configuring Intermediate Flow Selection Process techniques and discusses what information about an Intermediate Flow Selection Process should be exported.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7014"/>
          <seriesInfo name="DOI" value="10.17487/RFC7014"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author initials="M." surname="Cotton" fullname="M. Cotton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Narten" fullname="T. Narten">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="June"/>
            <abstract>
              <t indent="0">Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t indent="0">To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t indent="0">This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC9322" target="https://www.rfc-editor.org/info/rfc9322" quoteTitle="true" derivedAnchor="RFC9322">
          <front>
            <title>In Situ Operations, Administration, and Maintanence (IOAM) Loopback and Active Flags</title>
            <author initials="T" surname="Mizrahi" fullname="Tal Mizrahi">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F" surname="Brockners" fullname="Frank Brockners">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S" surname="Bhandari" fullname="Shwetha Bhandari">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B" surname="Gafni" fullname="Barak Gafni">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M" surname="Spiegel" fullname="Mickey Spiegel">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2022" month="November"/>
          </front>
          <seriesInfo name="RFC" value="9322"/>
          <seriesInfo name="DOI" value="10.17487/RFC9322"/>
        </reference>
      </references>
    </references>
    <section anchor="appendix" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-notes-about-the-history-of-">Notes about the History of This Document</name>
      <t indent="0" pn="section-appendix.a-1">This document evolved from combining some of the concepts of PBT-I
      from <xref target="I-D.song-ippm-postcard-based-telemetry" format="default" sectionFormat="of" derivedContent="POSTCARD-BASED-TELEMETRY"/> with
      immediate exporting from early versions of 
	  <xref target="RFC9322" format="default" sectionFormat="of" derivedContent="RFC9322"/>.</t>
      <t indent="0" pn="section-appendix.a-2">In order to help correlate and order the exported packets, it is
      possible to include the Hop_Lim/Node_ID IOAM-Data-Field in exported
      packets. If the IOAM-Trace-Type <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/> has the
      Hop_Lim/Node_ID bit set, then exported packets include the
      Hop_Lim/Node_ID IOAM-Data-Field, which contains the TTL/Hop Limit value
      from a lower layer protocol.
      An alternative approach was considered during the design of this
      document, according to which a 1-octet Hop Count field would be included
      in the DEX header (presumably by claiming some space from the Flags
      field). The Hop Limit would start from 0 at the encapsulating node and
      be incremented by each IOAM transit node that supports the DEX
      Option-Type. In this approach, the Hop Count field value would also be
      included in the exported packet.</t>
    </section>
    <section anchor="Acknowledgments" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.b-1">The authors thank <contact fullname="Martin Duke"/>, <contact fullname="Tommy Pauly"/>, <contact fullname="Meral Shirazipour"/>,
      <contact fullname="Colin Perkin"/>s, <contact fullname="Stephen       Farrell"/>, <contact fullname="Linda Dunbar"/>, <contact fullname="Justin Iurman"/>, <contact fullname="Greg Mirsky"/>, and other members of the IPPM
      working group for many helpful comments.</t>
    </section>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.c">
      <name slugifiedName="name-contributors">Contributors</name>
      <t indent="0" pn="section-appendix.c-1">The Editors would like to recognize the contributions of the
      following individuals to this document.</t>
      <contact fullname="Tianran Zhou">
        <organization showOnFrontPage="true">Huawei</organization>
        <address>
          <postal>
            <street>156 Beiqing Rd.</street>
            <city>Beijing</city>
            <region/>
            <code>100095</code>
            <country>China</country>
          </postal>
          <email>zhoutianran@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Zhenbin Li">
        <organization showOnFrontPage="true">Huawei</organization>
        <address>
          <postal>
            <street>156 Beiqing Rd.</street>
            <city>Beijing</city>
            <region/>
            <code>100095</code>
            <country>China</country>
          </postal>
          <email>lizhenbin@huawei.com</email>
        </address>
      </contact>
      <contact fullname="Ramesh Sivakolundu">
        <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
        <address>
          <postal>
            <street>170 West Tasman Dr.</street>
            <city>San Jose</city>
            <region>CA</region>
            <code>95134</code>
            <country>United States of America</country>
          </postal>
          <email>sramesh@cisco.com</email>
        </address>
      </contact>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.d">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Haoyu Song" initials="H." surname="Song">
        <organization abbrev="" showOnFrontPage="true">Futurewei</organization>
        <address>
          <postal>
            <street>2330 Central Expressway</street>
            <city>Santa Clara</city>
            <code>95050</code>
            <country>United States of America</country>
          </postal>
          <email>haoyu.song@futurewei.com</email>
        </address>
      </author>
      <author fullname="Barak Gafni" initials="B." surname="Gafni">
        <organization abbrev="" showOnFrontPage="true">Nvidia</organization>
        <address>
          <postal>
            <extaddr>Suite 100</extaddr>
            <street>350 Oakmead Parkway</street>
            <city>Sunnyvale</city>
            <region>CA</region>
            <code>94085</code>
            <country>United States of America</country>
          </postal>
          <email>gbarak@nvidia.com</email>
        </address>
      </author>
      <author fullname="Frank Brockners" initials="F." surname="Brockners">
        <organization abbrev="Cisco" showOnFrontPage="true">Cisco Systems, Inc.</organization>
        <address>
          <postal>
            <street>Hansaallee 249</street>
            <city>Duesseldorf</city>
            <code>40549</code>
            <country>Germany</country>
          </postal>
          <email>fbrockne@cisco.com</email>
        </address>
      </author>
      <author fullname="Shwetha Bhandari" initials="S." surname="Bhandari">
        <organization abbrev="Thoughtspot" showOnFrontPage="true">Thoughtspot</organization>
        <address>
          <postal>
            <extaddr>3rd Floor, Indiqube Orion, Garden Layout, HSR Layout</extaddr>
            <street>24th Main Rd</street>
            <city>Bangalore</city>
            <region>Karnataka</region>
            <code>560 102</code>
            <country>India</country>
          </postal>
          <email>shwetha.bhandari@thoughtspot.com</email>
        </address>
      </author>
      <author fullname="Tal Mizrahi" initials="T." surname="Mizrahi">
        <organization abbrev="" showOnFrontPage="true">Huawei</organization>
        <address>
          <postal>
            <street>8-2 Matam</street>
            <city>Haifa</city>
            <code>3190501</code>
            <country>Israel</country>
          </postal>
          <email>tal.mizrahi.phd@gmail.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
