<?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-flags-10" indexInclude="true" ipr="trust200902" number="9322" prepTime="2022-11-15T15:50:25" 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-flags-10" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9322" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="IOAM Flags">In Situ Operations, Administration, and Maintenance (IOAM) Loopback and Active Flags</title>
    <seriesInfo name="RFC" value="9322" stream="IETF"/>
    <author fullname="Tal Mizrahi" initials="T." surname="Mizrahi">
      <organization abbrev="" showOnFrontPage="true">Huawei</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <code/>
          <country>Israel</country>
        </postal>
        <email>tal.mizrahi.phd@gmail.com</email>
      </address>
    </author>
    <author fullname="Frank Brockners" initials="F." surname="Brockners">
      <organization abbrev="Cisco" showOnFrontPage="true">Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <extaddr>3rd Floor</extaddr>
          <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</extaddr>
          <extaddr>Indiqube Orion</extaddr>
          <extaddr>Garden Layout</extaddr>
          <extaddr>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="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="Mickey Spiegel" initials="M." surname="Spiegel">
      <organization abbrev="Barefoot Networks" showOnFrontPage="true">Barefoot Networks, an Intel company</organization>
      <address>
        <postal>
          <street>4750 Patrick Henry Drive</street>
          <city>Santa Clara</city>
          <region>CA</region>
          <code>95054</code>
          <country>United States of America</country>
        </postal>
        <email>mickey.spiegel@intel.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) collects
      operational and telemetry information in packets while they traverse a
      path between two points in the network. This document defines two new
      flags in the IOAM Trace Option headers, specifically the Loopback and
      Active flags.</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/rfc9322" 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-new-ioam-trace-option-flags">New IOAM Trace Option Flags</xref></t>
          </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-loopback-in-ioam">Loopback in IOAM</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-loopback-encapsulating-node">Loopback: Encapsulating Node Functionality</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.1.2">
                  <li pn="section-toc.1-1.4.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.1.2.1.1"><xref derivedContent="4.1.1" format="counter" sectionFormat="of" target="section-4.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-loopback-packet-selection">Loopback Packet Selection</xref></t>
                  </li>
                </ul>
              </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-receiving-and-processing-lo">Receiving and Processing Loopback</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-loopback-on-the-return-path">Loopback on the Return Path</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.4">
                <t indent="0" pn="section-toc.1-1.4.2.4.1"><xref derivedContent="4.4" format="counter" sectionFormat="of" target="section-4.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminating-a-looped-back-p">Terminating a Looped-Back Packet</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-active-measurement-with-ioa">Active Measurement with IOAM</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-iana-considerations">IANA 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-performance-considerations">Performance Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <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.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </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.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</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.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><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 by incorporating IOAM data fields into in-flight data
      packets.</t>
      <t indent="0" pn="section-1-2">IOAM data may be represented in one of four possible IOAM options:
      Pre-allocated Trace, Incremental Trace, Proof of Transit
      (POT), and Edge-to-Edge. This document defines two new
      flags in the Pre-allocated and Incremental Trace options: the Loopback
      and Active flags.</t>
      <t indent="0" pn="section-1-3">The Loopback flag is used to request that each transit device along
      the path loops back a truncated copy of the data packet to the sender.
      The Active flag indicates that a packet is used for active measurement.
      The term "active measurement" in the context of this document is as
      defined in <xref target="RFC7799" format="default" sectionFormat="of" derivedContent="RFC7799"/>.</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>
        </dl>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-new-ioam-trace-option-flags">New IOAM Trace Option Flags</name>
      <t anchor="TraceFlags" indent="0" pn="section-3-1">This document defines two new
      flags in the Pre-allocated and Incremental Trace options: </t>
      <dl newline="false" spacing="normal" indent="3" pn="section-3-2">
        <dt pn="section-3-2.1">Bit 1 "Loopback" (L-bit):</dt>
        <dd pn="section-3-2.2">When set, the Loopback flag
          triggers the sending of a copy of a packet back towards the source, as
          further described in <xref target="LoopbackSec" format="default" sectionFormat="of" derivedContent="Section 4"/>.</dd>
        <dt pn="section-3-2.3">Bit 2 "Active" (A-bit):</dt>
        <dd pn="section-3-2.4">When set, the Active flag
          indicates that a packet is an active measurement packet rather than
          a data packet, where "active" is used in the sense defined in <xref target="RFC7799" format="default" sectionFormat="of" derivedContent="RFC7799"/>. The packet may be an IOAM probe packet or a
          replicated data packet (the second and third use cases of <xref target="UseCaseSec" format="default" sectionFormat="of" derivedContent="Section 5"/>).</dd>
      </dl>
    </section>
    <section anchor="LoopbackSec" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-loopback-in-ioam">Loopback in IOAM</name>
      <t indent="0" pn="section-4-1">The Loopback flag is used to request that each transit device along
      the path loops back a truncated copy of the data packet to the sender.
      Loopback allows an IOAM encapsulating node to trace the path to a given
      destination and to receive per-hop data about both the forward and return
      paths. Loopback is intended to provide an accelerated alternative to
      Traceroute that allows the encapsulating node to receive responses from
      multiple transit nodes along the path in less than one round-trip time (RTT)
      and by sending a single packet.</t>
      <t indent="0" pn="section-4-2">As illustrated in <xref target="LoopbackFig" format="default" sectionFormat="of" derivedContent="Figure 1"/>, an IOAM encapsulating
      node can push an IOAM encapsulation that includes the Loopback flag onto
      some or all of the packets it forwards using one of the IOAM
      encapsulation types, e.g., <xref target="I-D.ietf-sfc-ioam-nsh" format="default" sectionFormat="of" derivedContent="IOAM-NSH"/> or
      <xref target="I-D.ietf-ippm-ioam-ipv6-options" format="default" sectionFormat="of" derivedContent="IOAM-IPV6-OPTIONS"/>.
	  The IOAM transit node and the
      decapsulating node both create copies of the packet and loop them back
      to the encapsulating node. The decapsulating node also terminates the
      IOAM encapsulation and then forwards the packet towards the
      destination. The two IOAM looped-back copies are terminated by the
      encapsulating node.</t>
      <figure anchor="LoopbackFig" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-loopback-in-ioam-2">Loopback in IOAM</name>
        <artwork align="left" name="" type="" alt="" pn="section-4-3.1">
+--------+     +--------+     +--------+     +--------+     +--------+
|        |     |  IOAM  |.....|  IOAM  |.....|  IOAM  |     |        |
+--------+     +--------+     +--------+     +--------+     +--------+
| L2/L3  |&lt;===&gt;| L2/L3  |&lt;===&gt;| L2/L3  |&lt;===&gt;| L2/L3  |&lt;===&gt;| L2/L3  |
+--------+     +--------+     +--------+     +--------+     +--------+
  Source      Encapsulating    Transit      Decapsulating   Destination
                   Node           Node           Node

               &lt;------------  IOAM-Domain  -----------&gt;
 
                    IOAM encap. with Loopback flag
Data packet  -------&gt;============================&gt;-----------&gt;
                                  |             |
                 IOAM looped back |             |
                    &lt;=============+             |
                                IOAM looped back|
                    &lt;===========================+
</artwork>
      </figure>
      <t indent="0" pn="section-4-4">Loopback can be used only if a return path from transit nodes and
      destination nodes towards the source (encapsulating node) exists.
      Specifically, loopback is only applicable in encapsulations in which the
      identity of the encapsulating node is available in the encapsulation
      header. If an encapsulating node receives a looped-back packet that was
      not originated from the current encapsulating node, the packet is
      dropped.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-loopback-encapsulating-node">Loopback: Encapsulating Node Functionality</name>
        <t indent="0" pn="section-4.1-1">The encapsulating node either generates synthetic packets with an
        IOAM trace option that has the Loopback flag set or sets the Loopback
        flag in a subset of the in-transit data packets. Loopback is used
        either proactively or on-demand, i.e., when a failure is detected. The
        encapsulating node also needs to ensure that sufficient space is
        available in the IOAM header for loopback operation, which includes
        transit nodes adding trace data on the original path and again on
        the return path.</t>
        <t indent="0" pn="section-4.1-2">An IOAM trace option that has the Loopback flag set <bcp14>MUST</bcp14> have the
        value '1' in the most significant bit of IOAM-Trace-Type and '0' in
        the rest of the bits of IOAM-Trace-Type. Thus, every transit node that
        processes this trace option only adds a single data field, which is
        the Hop_Lim and node_id data field. A transit node that receives a
        packet with an IOAM trace option that has the Loopback flag set and
        the IOAM-Trace-Type is not equal to '1' in the most significant bit
        and '0' in the rest of the bits <bcp14>MUST NOT</bcp14> loop back a copy of the
        packet. The reason for allowing only a single data field per hop is to
        minimize the impact of amplification attacks.</t>
        <t indent="0" pn="section-4.1-3">IOAM encapsulating nodes <bcp14>MUST NOT</bcp14> push an IOAM encapsulation with
        the Loopback flag onto data packets that already include an IOAM
        encapsulation. This requirement is intended to prevent IOAM Loopback
        nesting where looped-back packets may be subject to loopback in a
        nested IOAM-Domain.</t>
        <section anchor="SelectSec" numbered="true" toc="include" removeInRFC="false" pn="section-4.1.1">
          <name slugifiedName="name-loopback-packet-selection">Loopback Packet Selection</name>
          <t indent="0" pn="section-4.1.1-1">If an IOAM encapsulating node incorporates the Loopback flag into
          all the traffic it forwards, it may lead to an excessive amount of
          looped back packets, which may overload the network and the
          encapsulating node. Therefore, an IOAM encapsulating node that
          supports the Loopback flag <bcp14>MUST</bcp14> support the ability to incorporate
          the Loopback flag selectively into a subset of the packets that are
          forwarded by it.</t>
          <t indent="0" pn="section-4.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 loopback to a subset of the forwarded
          traffic.</t>
          <t indent="0" pn="section-4.1.1-3">The subset of traffic that is forwarded or transmitted with a
          Loopback flag <bcp14>SHOULD NOT</bcp14> exceed 1/N of the interface capacity on any
          of the IOAM encapsulating node's interfaces. This requirement
          applies to the total traffic that incorporates a Loopback flag,
          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 configuring N such that
          N &gt;&gt; M (i.e., N is much greater than M) is <bcp14>RECOMMENDED</bcp14>. 
		  The rationale is that a packet that
          includes the Loopback flag triggers a looped-back packet from each
          IOAM transit node along the path for a total of M looped-back
          packets. Thus, if N &gt;&gt; M, then the number of looped-back
          packets is significantly lower than the number of data packets
          forwarded by the IOAM encapsulating node. It is <bcp14>RECOMMENDED</bcp14>
		  that the default value of N satisfies N&gt;100 to be used
		  in the absence of explicit operator configuration or
		  if there is no prior knowledge about the network topology or size.</t>
          <t indent="0" pn="section-4.1.1-4">An IOAM-Domain in which the Loopback flag is used <bcp14>MUST</bcp14> be 
		  configured such that there is expected to be a return path from each 
		  of the IOAM transit and IOAM decapsulating nodes; if this expectation 
		  does not apply, or if the encapsulating node's identity is not
          available in the encapsulation header, then configuration <bcp14>MUST NOT</bcp14> 
		  enable the Loopback flag to be set.</t>
        </section>
      </section>
      <section anchor="ReceiveSec" numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-receiving-and-processing-lo">Receiving and Processing Loopback</name>
        <t indent="0" pn="section-4.2-1">A Loopback flag that is set indicates to the transit nodes
        processing this option that they are to create a copy of the received
        packet and send the copy back to the source of the packet. In this
        context, the source is the IOAM encapsulating node and it is assumed
        that the source address is available in the encapsulation header.
        Thus, the source address of the original packet is used as the
        destination address in the copied packet. If IOAM is used over an
		encapsulation that does not include the address of the encapsulating
		node, then
        the transit/decapsulating node does not loop back a copy of the
        original packet. The address of the node performing the copy operation
        is used as the source address; the specific method of source address
		assignment is encapsulation specific, e.g., if an IPv6
		encapsulation is used, then the source address can be assigned as
		specified in <xref target="RFC6724" format="default" sectionFormat="of" derivedContent="RFC6724"/>. 
		The copy is also truncated, i.e., any
        payload that resides after the IOAM option(s) is removed before
        transmitting the looped-back packet back towards the encapsulating
        node. Creating the copy that is looped back, and specifically the 
		truncation, may require some encapsulation-specific updates 
		in the encapsulation header.
		The original packet continues towards its destination. The L-bit
        <bcp14>MUST</bcp14> be cleared in the copy of the packet that a node sends back
        towards the source.</t>
        <t indent="0" pn="section-4.2-2">An IOAM node that supports the reception and processing of the
        Loopback flag <bcp14>MUST</bcp14> support the ability to limit the
        rate of the looped-back packets. The rate of looped-back packets
        <bcp14>SHOULD</bcp14> be limited so that the number of looped-back
        packets is significantly lower than the number of packets that are
        forwarded by the device. The looped-back data rate <bcp14>SHOULD NOT</bcp14> exceed 1/N of the interface capacity on any of the IOAM
        node's interfaces. Using N&gt;100 is
        <bcp14>RECOMMENDED</bcp14>. Depending on the IOAM node's architecture
        considerations, the loopback response rate may be limited to a lower
        number in order to avoid overloading the IOAM node.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-loopback-on-the-return-path">Loopback on the Return Path</name>
        <t indent="0" pn="section-4.3-1">On its way back towards the source, the copied packet is processed
        like any other packet with IOAM information, including adding
        requested data at each transit node (assuming there is sufficient
        space).</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-4.4">
        <name slugifiedName="name-terminating-a-looped-back-p">Terminating a Looped-Back Packet</name>
        <t indent="0" pn="section-4.4-1">Once the return packet reaches the IOAM-Domain boundary, IOAM
        decapsulation occurs as with any other packet containing IOAM
        information. Note that the looped-back packet does not have the L-bit
        set. The IOAM encapsulating node that initiated the original loopback
        packet recognizes a received packet as an IOAM looped-back packet by
        checking the Node ID in the Hop_Lim/node_id field that corresponds to
        the first hop. If the Node ID and IOAM-Namespace match the current
        IOAM node, it indicates that this is a looped-back packet that was
        initiated by the current IOAM node and processed accordingly. If
        there is no match in the Node ID, the packet is processed like a
        conventional IOAM-encapsulated packet.</t>
        <t indent="0" pn="section-4.4-2">Note that an IOAM encapsulating node may be either an endpoint
        (such as an IPv6 host) or a switch/router that pushes a tunnel
        encapsulation onto data packets. In both cases, the functionality that
        was described above avoids IOAM data leaks from the IOAM-Domain.
        Specifically, if an IOAM looped-back packet reaches an IOAM boundary
        node that is not the IOAM node that initiated the loopback, the node
        does not process the packet as a loopback; the IOAM encapsulation is
        removed, preventing IOAM information from
        leaking out from the IOAM-Domain. Since the packet does not have any payload, it is
        terminated.</t>
      </section>
    </section>
    <section anchor="UseCaseSec" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-active-measurement-with-ioa">Active Measurement with IOAM</name>
      <t indent="0" pn="section-5-1">Active measurement methods <xref target="RFC7799" format="default" sectionFormat="of" derivedContent="RFC7799"/> make use of
      synthetically generated packets in order to facilitate measurement. This
      section presents use cases of active measurement using the IOAM Active
      flag.</t>
      <t indent="0" pn="section-5-2">The Active flag indicates that a packet is used for active
      measurement. An IOAM decapsulating node that receives a packet with the
      Active flag set in one of its Trace options must terminate the packet.
      The Active flag is intended to simplify the implementation of
      decapsulating nodes by indicating that the packet should not be
      forwarded further. It is not intended as a replacement for existing
      active OAM protocols, which may run in higher layers and make use of the
      Active flag.</t>
      <t indent="0" pn="section-5-3">An example of an IOAM deployment scenario is illustrated in <xref target="NetworkFig" format="default" sectionFormat="of" derivedContent="Figure 2"/>. The figure depicts two endpoints: a source and a
      destination. The data traffic from the source to the destination is
      forwarded through a set of network devices, including an IOAM
      encapsulating node (which incorporates one or more IOAM options), a
      decapsulating node (which removes the IOAM options), and optionally one or
      more transit nodes. The IOAM options are encapsulated in one of the IOAM
      encapsulation types, e.g., <xref target="I-D.ietf-sfc-ioam-nsh" format="default" sectionFormat="of" derivedContent="IOAM-NSH"/> or
      <xref target="I-D.ietf-ippm-ioam-ipv6-options" format="default" sectionFormat="of" derivedContent="IOAM-IPV6-OPTIONS"/>.</t>
      <figure anchor="NetworkFig" align="left" suppress-title="false" pn="figure-2">
        <name slugifiedName="name-network-using-ioam">Network Using IOAM</name>
        <artwork align="left" name="" type="" alt="" pn="section-5-4.1">
         
+--------+     +--------+     +--------+     +--------+     +--------+
|        |     |  IOAM  |.....|  IOAM  |.....|  IOAM  |     |        |
+--------+     +--------+     +--------+     +--------+     +--------+
| L2/L3  |&lt;===&gt;| L2/L3  |&lt;===&gt;| L2/L3  |&lt;===&gt;| L2/L3  |&lt;===&gt;| L2/L3  |
+--------+     +--------+     +--------+     +--------+     +--------+
  Source      Encapsulating    Transit      Decapsulating   Destination
                  Node           Node           Node

               &lt;------------  IOAM-Domain  -----------&gt;
</artwork>
      </figure>
      <t indent="0" pn="section-5-5">This document focuses on three possible use cases of active measurement
      using IOAM. These use cases are described using the example of <xref target="NetworkFig" format="default" sectionFormat="of" derivedContent="Figure 2"/>.</t>
      <dl newline="true" spacing="normal" indent="3" pn="section-5-6">
        <dt pn="section-5-6.1">Endpoint active measurement:</dt>
        <dd pn="section-5-6.2">synthetic probe packets are sent
          between the source and destination, traversing the IOAM-Domain.
          Since the probe packets are sent between the endpoints, these
          packets are treated as data packets by the IOAM-Domain and do not
          require special treatment at the IOAM layer. Specifically, the
          Active flag is not used in this case and the IOAM layer does not
		  need to
          be aware that an active measurement mechanism is used at a higher
          layer.</dd>
        <dt pn="section-5-6.3">IOAM active measurement using probe packets within the
        IOAM-Domain:</dt>
        <dd pn="section-5-6.4">probe packets are generated and transmitted by the IOAM
        encapsulating node and are expected to be terminated by the
        decapsulating node. IOAM data related to probe packets may be exported
        by one or more nodes along its path by an exporting protocol that is
        outside the scope of this document (e.g., <xref target="I-D.spiegel-ippm-ioam-rawexport" format="default" sectionFormat="of" derivedContent="IOAM-RAWEXPORT"/>). Probe
        packets include a Trace Option that has its Active flag set,
        indicating that the decapsulating node must terminate them. The
        specification of these probe packets and the processing of these
        packets by the encapsulating and decapsulating nodes is outside the
        scope of this document.</dd>
        <dt pn="section-5-6.5">IOAM active measurement using replicated data packets:</dt>
        <dd pn="section-5-6.6">probe
          packets are created by the encapsulating node by selecting some or
          all of the en route data packets and replicating them. A selected
          data packet and its (possibly truncated) copy is
          forwarded with one or more IOAM options while the original packet
          is forwarded normally without IOAM options. To the extent possible,
          the original data packet and its replica are forwarded through the
          same path. The replica includes a Trace Option that has its Active
          flag set, indicating that the decapsulating node should terminate
          it. The current document defines the role of the Active flag in
          allowing the decapsulating node to terminate the packet, but the
          replication functionality and the functionality of the decapsulating
		  node in this context is outside the scope of this document.</dd>
      </dl>
      <t indent="0" pn="section-5-7">If the volume of traffic that incorporates the Active flag is large,
      it may overload the network and the IOAM node(s) that process the active
      measurement packet. Thus, the rate of the traffic that includes the
      Active flag <bcp14>SHOULD NOT</bcp14> exceed 1/N of the interface capacity on any
      of the IOAM node's interfaces. Using N&gt;100 is <bcp14>RECOMMENDED</bcp14>. Depending
      on the IOAM node's architecture considerations, the rate of
      Active-enabled IOAM packets may be limited to a lower number in order to
      avoid overloading the IOAM node.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-6-1">IANA has allocated the following bits in the "IOAM Trace-Flags" registry as follows:</t>
      <dl newline="false" spacing="normal" indent="3" pn="section-6-2">
        <dt pn="section-6-2.1">Bit 1</dt>
        <dd pn="section-6-2.2">"Loopback" (L-bit)</dd>
        <dt pn="section-6-2.3">Bit 2</dt>
        <dd pn="section-6-2.4">"Active" (A-bit)</dd>
      </dl>
      <t indent="0" pn="section-6-3">This document is specified as the "Reference" in the registry for both bits.</t>
      <t indent="0" pn="section-6-4">Note that bit 0 is the most significant bit in the "IOAM Trace-Flags"
      registry. This bit was allocated by <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/> as the 
	  'Overflow' bit.</t>
    </section>
    <section anchor="Performance" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-performance-considerations">Performance Considerations</name>
      <t indent="0" pn="section-7-1">Each of the flags that are defined in this document may have
      performance implications. When using the loopback mechanism, a copy of
      the data packet is sent back to the sender (thus, generating more traffic
      than originally sent by the endpoints). Using active measurement with the
      Active flag requires the use of synthetic (overhead) traffic.</t>
      <t indent="0" pn="section-7-2">Each of the mechanisms that use the flags above has a cost in terms
      of the network bandwidth and may potentially load the node that
      analyzes the data. Therefore, it <bcp14>MUST</bcp14> be possible to use each of the
      mechanisms on a subset of the data traffic; an encapsulating node needs
      to be able to set the Loopback and Active flags selectively in a way
      that considers the effect on the network performance, as further
      discussed in Sections <xref target="SelectSec" format="counter" sectionFormat="of" derivedContent="4.1.1"/> and <xref target="UseCaseSec" format="counter" sectionFormat="of" derivedContent="5"/>.</t>
      <t indent="0" pn="section-7-3">Transit and decapsulating nodes that support loopback need to be able
      to limit the looped-back packets (as discussed in <xref target="ReceiveSec" format="default" sectionFormat="of" derivedContent="Section 4.2"/>) so as to
      ensure that the mechanisms are used at a rate that does not
      significantly affect the network bandwidth and does not overload the
      source node in the case of loopback.</t>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-8-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-8-2">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"/>. However, even given this
      limited scope, security threats should still be considered and
      mitigated. Specifically, an attacker may attempt to overload network
      devices by injecting synthetic packets that include an IOAM Trace Option
      with one or more of the flags defined in this document. Similarly, an
      on-path attacker may maliciously set one or more of the flags of transit
      packets.</t>
      <dl newline="true" spacing="normal" indent="3" pn="section-8-3">
        <dt pn="section-8-3.1">Loopback flag:</dt>
        <dd pn="section-8-3.2">an attacker that sets this flag, either in
          synthetic packets or transit packets, can potentially cause an
          amplification since each device along the path creates a copy of
          the data packet and sends it back to the source. The attacker can
          potentially leverage the Loopback flag for a DDoS attack as multiple devices send looped-back copies
          of a packet to a single victim.</dd>
        <dt pn="section-8-3.3">Active flag:</dt>
        <dd pn="section-8-3.4">the impact of synthetic packets with the Active flag
          is no worse than synthetic data packets in which the Active flag is
          not set. By setting the Active flag in en route packets, an attacker
          can prevent these packets from reaching their destination since the
          packet is terminated by the decapsulating device. However, note that
          an on-path attacker may achieve the same goal by changing the
          destination address of a packet. Another potential threat is
          amplification; if an attacker causes transit switches to replicate
          more packets than they are intended to replicate (either by setting
          the Active flag or by sending synthetic packets), then traffic is
          amplified, causing bandwidth degradation. As mentioned in <xref target="UseCaseSec" format="default" sectionFormat="of" derivedContent="Section 5"/>, the specification of the replication
          mechanism is not within the scope of this document. A specification
          that defines the replication functionality should also address the
          security aspects of this mechanism.</dd>
      </dl>
      <t indent="0" pn="section-8-4">Some of the security threats that were discussed in this document may
      be worse in a wide area network in which there are nested IOAM-Domains.
      For example, if there are two nested IOAM-Domains that use loopback,
      then a looped-back copy in the outer IOAM-Domain may be forwarded
      through another (inner) IOAM-Domain and may be subject to loopback in
      that (inner) IOAM-Domain, causing the amplification to be worse than in
      the conventional case.</t>
      <t indent="0" pn="section-8-5">In order to mitigate the performance-related attacks described in
      <xref target="Performance" format="default" sectionFormat="of" derivedContent="Section 7"/>, it should be possible for
      IOAM-enabled devices to selectively apply the mechanisms that use the
      flags defined in this document to a subset of the traffic and to limit
      the performance of synthetically generated packets to a configurable
      rate. Specifically, IOAM nodes should be able to:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-8-6">
        <li pn="section-8-6.1">Limit the rate of IOAM packets with the Loopback flag (IOAM
          encapsulating nodes) as discussed in <xref target="SelectSec" format="default" sectionFormat="of" derivedContent="Section 4.1.1"/>.</li>
        <li pn="section-8-6.2">Limit the rate of looped back packets (IOAM transit and
          decapsulating nodes) as discussed in <xref target="ReceiveSec" format="default" sectionFormat="of" derivedContent="Section 4.2"/>.</li>
        <li pn="section-8-6.3">Limit the rate of IOAM packets with the Active flag (IOAM
          encapsulating nodes) as discussed in <xref target="UseCaseSec" format="default" sectionFormat="of" derivedContent="Section 5"/>.</li>
      </ul>
      <t indent="0" pn="section-8-7">As defined in <xref target="LoopbackSec" format="default" sectionFormat="of" derivedContent="Section 4"/>, transit nodes that
      process a packet with the Loopback flag only add a single data field
      and truncate any payload that follows the IOAM option(s), thus
      significantly limiting the possible impact of an amplification
      attack.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.spiegel-ippm-ioam-rawexport" to="IOAM-RAWEXPORT"/>
    <displayreference target="I-D.ietf-ippm-ioam-ipv6-options" to="IOAM-IPV6-OPTIONS"/>
    <displayreference target="I-D.ietf-sfc-ioam-nsh" to="IOAM-NSH"/>
    <references pn="section-9">
      <name slugifiedName="name-references">References</name>
      <references pn="section-9.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-9.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <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 fullname="Shwetha Bhandari" role="editor">
              <organization showOnFrontPage="true">Thoughtspot</organization>
            </author>
            <author fullname="Frank Brockners" role="editor">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <date month="October" day="11" year="2022"/>
          </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.ietf-sfc-ioam-nsh" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-sfc-ioam-nsh-11" derivedAnchor="IOAM-NSH">
          <front>
            <title>Network Service Header (NSH) Encapsulation for In-situ OAM (IOAM) Data</title>
            <author fullname="Frank Brockners" role="editor">
              <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Shwetha Bhandari" role="editor">
              <organization showOnFrontPage="true">Thoughtspot</organization>
            </author>
            <date month="September" day="30" year="2022"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sfc-ioam-nsh-11"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-sfc-ioam-nsh-11.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="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="RFC6724" target="https://www.rfc-editor.org/info/rfc6724" quoteTitle="true" derivedAnchor="RFC6724">
          <front>
            <title>Default Address Selection for Internet Protocol Version 6 (IPv6)</title>
            <author initials="D." surname="Thaler" fullname="D. Thaler" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Draves" fullname="R. Draves">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Matsumoto" fullname="A. Matsumoto">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Chown" fullname="T. Chown">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2012" month="September"/>
            <abstract>
              <t indent="0">This document describes two algorithms, one for source address selection and one for destination address selection.  The algorithms specify default behavior for all Internet Protocol version 6 (IPv6) implementations.  They do not override choices made by applications or upper-layer protocols, nor do they preclude the development of more advanced mechanisms for address selection.  The two algorithms share a common context, including an optional mechanism for allowing administrators to provide policy that can override the default behavior.  In dual-stack implementations, the destination address selection algorithm can consider both IPv4 and IPv6 addresses -- depending on the available source addresses, the algorithm might prefer IPv6 addresses over IPv4 addresses, or vice versa.</t>
              <t indent="0">Default address selection as defined in this specification applies to all IPv6 nodes, including both hosts and routers.  This document obsoletes RFC 3484.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6724"/>
          <seriesInfo name="DOI" value="10.17487/RFC6724"/>
        </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="RFC7799" target="https://www.rfc-editor.org/info/rfc7799" quoteTitle="true" derivedAnchor="RFC7799">
          <front>
            <title>Active and Passive Metrics and Methods (with Hybrid Types In-Between)</title>
            <author initials="A." surname="Morton" fullname="A. Morton">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2016" month="May"/>
            <abstract>
              <t indent="0">This memo provides clear definitions for Active and Passive performance assessment.  The construction of Metrics and Methods can be described as either "Active" or "Passive".  Some methods may use a subset of both Active and Passive attributes, and we refer to these as "Hybrid Methods".  This memo also describes multiple dimensions to help evaluate new methods as they emerge.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7799"/>
          <seriesInfo name="DOI" value="10.17487/RFC7799"/>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgments" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.a-1">The authors thank <contact fullname="Martin Duke"/>, <contact fullname="Tommy Pauly"/>, <contact fullname="Donald Eastlake"/>,
      <contact fullname="Paul Kyzivat"/>, <contact fullname="Bernard Aboba"/>,
      <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.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <t indent="0" pn="section-appendix.b-1">The Editors would like to recognize the contributions of the
      following individuals to this document.</t>
      <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>
      <contact fullname="Carlos Pignataro">
        <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
        <address>
          <postal>
            <street>7200-11 Kit Creek Road</street>
            <city>Research Triangle Park</city>
            <region>NC</region>
            <code>27709</code>
            <country>United States of America</country>
          </postal>
          <email>cpignata@cisco.com</email>
        </address>
      </contact>
      <contact fullname="Aviv Kfir">
        <organization showOnFrontPage="true">Nvidia</organization>
        <address>
          <email>avivk@nvidia.com</email>
        </address>
      </contact>
      <contact fullname="Jennifer Lemon">
        <organization showOnFrontPage="true">Broadcom</organization>
        <address>
          <postal>
            <street>270 Innovation Drive</street>
            <city>San Jose</city>
            <region>CA</region>
            <code>95134</code>
            <country>United States of America</country>
          </postal>
          <email>jennifer.lemon@broadcom.com</email>
        </address>
      </contact>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Tal Mizrahi" initials="T." surname="Mizrahi">
        <organization abbrev="" showOnFrontPage="true">Huawei</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <code/>
            <country>Israel</country>
          </postal>
          <email>tal.mizrahi.phd@gmail.com</email>
        </address>
      </author>
      <author fullname="Frank Brockners" initials="F." surname="Brockners">
        <organization abbrev="Cisco" showOnFrontPage="true">Cisco Systems, Inc.</organization>
        <address>
          <postal>
            <extaddr>3rd Floor</extaddr>
            <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</extaddr>
            <extaddr>Indiqube Orion</extaddr>
            <extaddr>Garden Layout</extaddr>
            <extaddr>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="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="Mickey Spiegel" initials="M." surname="Spiegel">
        <organization abbrev="Barefoot Networks" showOnFrontPage="true">Barefoot Networks, an Intel company</organization>
        <address>
          <postal>
            <street>4750 Patrick Henry Drive</street>
            <city>Santa Clara</city>
            <region>CA</region>
            <code>95054</code>
            <country>United States of America</country>
          </postal>
          <email>mickey.spiegel@intel.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
