<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" ipr="trust200902" docName="draft-ietf-opsawg-tsvwg-udp-ipfix-14" number="9870" category="std" updates="" obsoletes="" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" xml:lang="en" prepTime="2025-10-07T15:55:28" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-opsawg-tsvwg-udp-ipfix-14" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9870" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="IPFIX IE for UDP Options">Export of UDP Options Information in IP Flow Information Export (IPFIX)</title>
    <seriesInfo name="RFC" value="9870" stream="IETF"/>
    <author fullname="Mohamed Boucadair" surname="Boucadair" initials="M.">
      <organization showOnFrontPage="true">Orange</organization>
      <address>
        <postal>
          <city>Rennes</city>
          <code>35000</code>
          <country>France</country>
        </postal>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Tirumaleswar Reddy.K" surname="Reddy.K" initials="T.">
      <organization showOnFrontPage="true">Nokia</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <date month="10" year="2025"/>
    <area>OPS</area>
    <workgroup>opsawg</workgroup>
    <keyword>surplus area</keyword>
    <keyword>UDP options</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document specifies new IP Flow Information Export (IPFIX) Information Elements for UDP Options.</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/rfc9870" 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) 2025 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" keepWithNext="true" 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-and-definitions">Conventions and Definitions</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" 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-udp-options-at-a-glance">UDP Options at a Glance</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-new-udp-ipfix-information-e">New UDP IPFIX Information Elements</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-udpsafeoptions">udpSafeOptions</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-udpunsafeoptions">udpUnsafeOptions</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-udpexid">udpExID</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-udpsafeexidlist">udpSafeExIDList</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.5">
                <t indent="0" pn="section-toc.1-1.4.2.5.1"><xref derivedContent="4.5" format="counter" sectionFormat="of" target="section-4.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-udpunsafeexidlist">udpUnsafeExIDList</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-examples">Examples</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-reduced-size-encoding">Reduced-Size Encoding</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-safe-experimental-option">SAFE Experimental Option</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-exids-and-reduced-size-enco">ExIDs and Reduced-Size Encoding</xref></t>
              </li>
            </ul>
          </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-iana-considerations">IANA Considerations</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-ipfix-information-elements">IPFIX Information Elements</xref></t>
              </li>
            </ul>
          </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-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </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.a"/><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.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">IP Flow Information Export (IPFIX) <xref target="RFC7011" format="default" sectionFormat="of" derivedContent="RFC7011"/> is a protocol that is widely deployed in networks for traffic management purposes (<xref section="2" sectionFormat="of" target="RFC6632" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6632#section-2" derivedContent="RFC6632"/>). The protocol specifies the encoding of a set of basic data types and how the various Information Elements (IEs) are transmitted. In order to support the export of new Flow-related measurement data, new IEs can be defined and registered in a dedicated IANA registry <xref target="IANA-IPFIX" format="default" sectionFormat="of" derivedContent="IANA-IPFIX"/> for interoperability.</t>
      <t indent="0" pn="section-1-2">This document specifies new IPFIX Information Elements for UDP Options (<xref target="sec-IE" format="default" sectionFormat="of" derivedContent="Section 4"/>). A brief overview of UDP Options is provided in <xref target="uo" format="default" sectionFormat="of" derivedContent="Section 3"/>.</t>
      <t indent="0" pn="section-1-3">The IE specified in <xref target="udpOptions" format="default" sectionFormat="of" derivedContent="Section 4.1"/> uses the new abstract data type ("unsigned256") defined in <xref target="RFC9740" format="default" sectionFormat="of" derivedContent="RFC9740"/>.</t>
      <t indent="0" pn="section-1-4">Transport (including MTU) considerations are discussed in <xref section="10" sectionFormat="of" target="RFC7011" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7011#section-10" derivedContent="RFC7011"/>.</t>
      <t indent="0" pn="section-1-5">Examples to illustrate the use of the new IPFIX Information Elements are provided in <xref target="sec-ex" format="default" sectionFormat="of" derivedContent="Section 5"/>.</t>
    </section>
    <section anchor="conventions-and-definitions" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-conventions-and-definitions">Conventions and Definitions</name>
      <t indent="0" pn="section-2-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>
      <t indent="0" pn="section-2-2">This document uses the IPFIX-specific terminology (e.g., Flow) defined in <xref section="2" sectionFormat="of" target="RFC7011" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7011#section-2" derivedContent="RFC7011"/>.
As in the base IPFIX specification <xref target="RFC7011" format="default" sectionFormat="of" derivedContent="RFC7011"/>, these IPFIX-specific terms have the first letter of a word capitalized.</t>
      <t indent="0" pn="section-2-3">The document adheres to the naming conventions for Information Elements per <xref section="2.3" sectionFormat="of" target="RFC7012" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7012#section-2.3" derivedContent="RFC7012"/>.</t>
      <t indent="0" pn="section-2-4">Also, this document uses the terms defined in <xref section="3" sectionFormat="of" target="RFC9868" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9868#section-3" derivedContent="RFC9868"/>, especially "datagram" and "surplus area".</t>
    </section>
    <section anchor="uo" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-udp-options-at-a-glance">UDP Options at a Glance</name>
      <t indent="0" pn="section-3-1">UDP <xref target="RFC0768" format="default" sectionFormat="of" derivedContent="RFC0768"/> does not support an extension mechanism similar to the options supported by other transport protocols, such as TCP <xref target="RFC9293" format="default" sectionFormat="of" derivedContent="RFC9293"/>, Stream Control Transmission Protocol (SCTP) <xref target="RFC9260" format="default" sectionFormat="of" derivedContent="RFC9260"/>, or Datagram Congestion Control Protocol (DCCP) <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>. Such a mechanism can be useful for various applications, e.g., to discover a path MTU or share timestamps. To fill that void, <xref target="RFC9868" format="default" sectionFormat="of" derivedContent="RFC9868"/> extends UDP with a mechanism to insert extensions in datagrams. To do so, and unlike the conventional approach that relies upon transport headers, <xref target="RFC9868" format="default" sectionFormat="of" derivedContent="RFC9868"/> uses trailers. Concretely, UDP Options are placed in the surplus area (that is, the area of an IP payload that follows a UDP packet). See <xref target="spa" format="default" sectionFormat="of" derivedContent="Figure 1"/>. An example of the use of UDP Options for Datagram Packetization Layer Path MTU Discovery (DPLPMTUD) is described in <xref target="RFC9869" format="default" sectionFormat="of" derivedContent="RFC9869"/>.</t>
      <figure anchor="spa" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-surplus-area">Surplus Area</name>
        <artwork align="center" pn="section-3-2.1">
                       IP transport payload
          &lt;-------------------------------------------------&gt;
+--------+---------+----------------------+------------------+
| IP Hdr | UDP Hdr |     UDP user data    |   surplus area   |
+--------+---------+----------------------+------------------+
          &lt;------------------------------&gt;
                     UDP Length</artwork>
      </figure>
      <t indent="0" pn="section-3-3">Sections <xref format="counter" target="udpOptions" sectionFormat="of" derivedContent="4.1"/> and <xref format="counter" target="udpUnsafeOptions" sectionFormat="of" derivedContent="4.2"/> introduce new IEs to export the observed UDP Options.</t>
      <t indent="0" pn="section-3-4">UDP Options are unambiguously identified by means of a 1-byte field, called "Kind".</t>
      <t indent="0" pn="section-3-5">Options indicated by Kind values in the range 0-191 are called SAFE Options. Such options can be silently ignored by legacy receivers because they do not alter the UDP user data (<xref section="11" sectionFormat="of" target="RFC9868" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9868#section-11" derivedContent="RFC9868"/>). SAFE Options are exported using the IE defined in <xref target="udpOptions" format="default" sectionFormat="of" derivedContent="Section 4.1"/>.</t>
      <t indent="0" pn="section-3-6">Options indicated by Kind values in the range 192-255 are called UNSAFE Options. Such options are not safe for legacy receivers to ignore because they alter the UDP user data (<xref section="12" sectionFormat="of" target="RFC9868" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9868#section-12" derivedContent="RFC9868"/>). UNSAFE Options are exported using the IE defined in <xref target="udpUnsafeOptions" format="default" sectionFormat="of" derivedContent="Section 4.2"/>.</t>
      <t indent="0" pn="section-3-7">UDP Options occur per-packet within a Flow and can be inserted at any time in the Flow.</t>
      <t indent="0" pn="section-3-8"><xref target="RFC9868" format="default" sectionFormat="of" derivedContent="RFC9868"/> reserves two options for experiments: the Experimental (EXP, Kind=127) Option for SAFE Options and the UNSAFE Experimental (UEXP, Kind=254) Option. For both options, Experiment Identifiers (ExIDs) are used to differentiate concurrent use of these options. Known ExIDs are expected to be registered within IANA. <xref target="udpExID" format="default" sectionFormat="of" derivedContent="Section 4.4"/> specifies a new IPFIX IE to export observed ExIDs in the EXP Options. Also, <xref target="udpUExID" format="default" sectionFormat="of" derivedContent="Section 4.5"/> specifies a new IPFIX IE to export observed ExIDs in the UEXP Options. Only 16-bit ExIDs are supported in <xref target="RFC9868" format="default" sectionFormat="of" derivedContent="RFC9868"/>.</t>
      <t indent="0" pn="section-3-9">This document does not intend to elaborate operational guidance/implications of UDP Options. The document focuses exclusively on exporting observed UDP Options in datagrams.</t>
    </section>
    <section anchor="sec-IE" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-new-udp-ipfix-information-e">New UDP IPFIX Information Elements</name>
      <t indent="0" pn="section-4-1">Given the Kind structure of SAFE and UNSAFE UDP Options, using one
   single IE that would multiplex both types of options will limit the
   benefits of reduced-size encoding in the presence of UNSAFE Options.
   For example, at least 24 octets would be needed to report mandatory SAFE
   Options that are observed in a Flow.
   In order to use less bits to report observed UDP Options, distinct
   IEs are thus defined to report SAFE (<xref target="udpOptions" format="default" sectionFormat="of" derivedContent="Section 4.1"/>) and UNSAFE
   (<xref target="udpUnsafeOptions" format="default" sectionFormat="of" derivedContent="Section 4.2"/>) UDP Options. As further detailed in <xref target="sec-ex-rs" format="default" sectionFormat="of" derivedContent="Section 5.1"/>, only
   one octet is needed to report mandatory SAFE Options.</t>
      <section anchor="udpOptions" numbered="true" removeInRFC="false" toc="include" pn="section-4.1">
        <name slugifiedName="name-udpsafeoptions">udpSafeOptions</name>
        <dl indent="3" newline="false" spacing="normal" pn="section-4.1-1">
          <dt pn="section-4.1-1.1">Name:</dt>
          <dd pn="section-4.1-1.2">
            <t indent="0" pn="section-4.1-1.2.1">udpSafeOptions</t>
          </dd>
          <dt pn="section-4.1-1.3">ElementID:</dt>
          <dd pn="section-4.1-1.4">
            <t indent="0" pn="section-4.1-1.4.1">525</t>
          </dd>
          <dt pn="section-4.1-1.5">Description:</dt>
          <dd pn="section-4.1-1.6">
            <t indent="0" pn="section-4.1-1.6.1">Observed SAFE UDP Options in a Flow. The information is encoded in a set of bit fields.</t>
          </dd>
          <dt pn="section-4.1-1.7"/>
          <dd pn="section-4.1-1.8">
            <t indent="0" pn="section-4.1-1.8.1">Options are mapped to bits according to their option numbers. UDP
Option Kind 0 corresponds to the least significant bit in the
udpSafeOptions IE, while Kind 191 corresponds to the 65th most significant bit of the IE. The bit is set to 1 if the corresponding SAFE UDP Option is observed at least once in the Flow. The bit is set to 0 if the option is never observed in the Flow. The 64 most significant bits <bcp14>MUST</bcp14> be set to 0.</t>
          </dd>
          <dt pn="section-4.1-1.9"/>
          <dd pn="section-4.1-1.10">
            <t indent="0" pn="section-4.1-1.10.1">The reduced-size encoding per <xref section="6.2" sectionFormat="of" target="RFC7011" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7011#section-6.2" derivedContent="RFC7011"/> is followed whenever fewer octets are needed to report observed SAFE UDP Options. For example, if only option Kinds &lt;= 31 are observed, then the value of the udpSafeOptions IE can be encoded as unsigned32, or if only option Kinds &lt;= 63 are observed, then the value of the udpSafeOptions IE can be encoded as unsigned64.</t>
          </dd>
          <dt pn="section-4.1-1.11"/>
          <dd pn="section-4.1-1.12">
            <t indent="0" pn="section-4.1-1.12.1">The presence of udpSafeExIDList is an indication that the SAFE Experimental Option is observed in a Flow. The presence of udpSafeExIDList takes precedence over setting the corresponding bit in the udpSafeOptions IE for the same Flow. In order to optimize the use of the reduced-size encoding in the presence of udpSafeExIDList IE, the Exporter <bcp14>MUST NOT</bcp14> set the EXP flag of the udpSafeOptions IE that is reported for the same Flow to 1.</t>
          </dd>
          <dt pn="section-4.1-1.13">Abstract Data Type:</dt>
          <dd pn="section-4.1-1.14">
            <t indent="0" pn="section-4.1-1.14.1">unsigned256</t>
          </dd>
          <dt pn="section-4.1-1.15">Data Type Semantics:</dt>
          <dd pn="section-4.1-1.16">
            <t indent="0" pn="section-4.1-1.16.1">flags</t>
          </dd>
          <dt pn="section-4.1-1.17">Additional Information:</dt>
          <dd pn="section-4.1-1.18">
            <t indent="0" pn="section-4.1-1.18.1">See the "UDP Option Kind Numbers" registry at <xref target="UDP_OPTIONS" format="default" sectionFormat="of" derivedContent="UDP_OPTIONS"/>.</t>
          </dd>
          <dt pn="section-4.1-1.19"/>
          <dd pn="section-4.1-1.20">
            <t indent="0" pn="section-4.1-1.20.1">See <xref target="RFC9868" format="default" sectionFormat="of" derivedContent="RFC9868"/> for more details about UDP Options.</t>
          </dd>
          <dt pn="section-4.1-1.21">Reference:</dt>
          <dd pn="section-4.1-1.22">
            <t indent="0" pn="section-4.1-1.22.1">RFC 9870</t>
          </dd>
        </dl>
      </section>
      <section anchor="udpUnsafeOptions" numbered="true" removeInRFC="false" toc="include" pn="section-4.2">
        <name slugifiedName="name-udpunsafeoptions">udpUnsafeOptions</name>
        <dl indent="3" newline="false" spacing="normal" pn="section-4.2-1">
          <dt pn="section-4.2-1.1">Name:</dt>
          <dd pn="section-4.2-1.2">
            <t indent="0" pn="section-4.2-1.2.1">udpUnsafeOptions</t>
          </dd>
          <dt pn="section-4.2-1.3">ElementID:</dt>
          <dd pn="section-4.2-1.4">
            <t indent="0" pn="section-4.2-1.4.1">526</t>
          </dd>
          <dt pn="section-4.2-1.5">Description:</dt>
          <dd pn="section-4.2-1.6">
            <t indent="0" pn="section-4.2-1.6.1">Observed UNSAFE UDP Options in a Flow. The information is encoded in a set of bit fields.</t>
          </dd>
          <dt pn="section-4.2-1.7"/>
          <dd pn="section-4.2-1.8">
            <t indent="0" pn="section-4.2-1.8.1">Options are mapped to bits according to their option numbers. UDP
Option Kind 192 corresponds to the least significant bit in the
udpUnsafeOptions IE, while Kind 255 corresponds to the most significant bit of the IE. The bit is set to 1 if the corresponding UNSAFE UDP Option is observed at least once in the Flow. The bit is set to 0 if the option is never observed in the Flow.</t>
          </dd>
          <dt pn="section-4.2-1.9"/>
          <dd pn="section-4.2-1.10">
            <t indent="0" pn="section-4.2-1.10.1">The reduced-size encoding per <xref section="6.2" sectionFormat="of" target="RFC7011" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7011#section-6.2" derivedContent="RFC7011"/> is followed whenever fewer octets are needed to report observed UNSAFE UDP Options.</t>
          </dd>
          <dt pn="section-4.2-1.11"/>
          <dd pn="section-4.2-1.12">
            <t indent="0" pn="section-4.2-1.12.1">The presence of udpUnsafeExIDList is an indication that the UNSAFE Experimental Option is observed in a Flow. The presence of udpUnsafeExIDList takes precedence over setting the corresponding bit in the udpUnsafeOptions IE for the same Flow. In order to optimize the use of the reduced-size encoding in the presence of udpUnsafeExIDList IE, the Exporter <bcp14>MUST NOT</bcp14> set the UEXP flag of the udpUnsafeOptions IE that is reported for the same Flow to 1.</t>
          </dd>
          <dt pn="section-4.2-1.13">Abstract Data Type:</dt>
          <dd pn="section-4.2-1.14">
            <t indent="0" pn="section-4.2-1.14.1">unsigned64</t>
          </dd>
          <dt pn="section-4.2-1.15">Data Type Semantics:</dt>
          <dd pn="section-4.2-1.16">
            <t indent="0" pn="section-4.2-1.16.1">flags</t>
          </dd>
          <dt pn="section-4.2-1.17">Additional Information:</dt>
          <dd pn="section-4.2-1.18">
            <t indent="0" pn="section-4.2-1.18.1">See the "UDP Option Kind Numbers" registry at <xref target="UDP_OPTIONS" format="default" sectionFormat="of" derivedContent="UDP_OPTIONS"/>.</t>
          </dd>
          <dt pn="section-4.2-1.19"/>
          <dd pn="section-4.2-1.20">
            <t indent="0" pn="section-4.2-1.20.1">See <xref target="RFC9868" format="default" sectionFormat="of" derivedContent="RFC9868"/> for more details about UDP Options.</t>
          </dd>
          <dt pn="section-4.2-1.21">Reference:</dt>
          <dd pn="section-4.2-1.22">
            <t indent="0" pn="section-4.2-1.22.1">RFC 9870</t>
          </dd>
        </dl>
      </section>
      <section anchor="udpBasicExID" numbered="true" removeInRFC="false" toc="include" pn="section-4.3">
        <name slugifiedName="name-udpexid">udpExID</name>
        <dl indent="3" newline="false" spacing="normal" pn="section-4.3-1">
          <dt pn="section-4.3-1.1">Name:</dt>
          <dd pn="section-4.3-1.2">
            <t indent="0" pn="section-4.3-1.2.1">udpExID</t>
          </dd>
          <dt pn="section-4.3-1.3">ElementID:</dt>
          <dd pn="section-4.3-1.4">
            <t indent="0" pn="section-4.3-1.4.1">527</t>
          </dd>
          <dt pn="section-4.3-1.5">Description:</dt>
          <dd pn="section-4.3-1.6">
            <t indent="0" pn="section-4.3-1.6.1">Observed ExID in an Experimental (EXP, Kind=127) Option or an UNSAFE Experimental (UEXP, Kind=254) Option.</t>
          </dd>
          <dt pn="section-4.3-1.7"/>
          <dd pn="section-4.3-1.8">
            <t indent="0" pn="section-4.3-1.8.1">A basicList of udpExID is used to report udpSafeExIDList and udpUnsafeExIDList values.</t>
          </dd>
          <dt pn="section-4.3-1.9">Abstract Data Type:</dt>
          <dd pn="section-4.3-1.10">
            <t indent="0" pn="section-4.3-1.10.1">unsigned16</t>
          </dd>
          <dt pn="section-4.3-1.11">Data Type Semantics:</dt>
          <dd pn="section-4.3-1.12">
            <t indent="0" pn="section-4.3-1.12.1">identifier</t>
          </dd>
          <dt pn="section-4.3-1.13">Additional Information:</dt>
          <dd pn="section-4.3-1.14">
            <t indent="0" pn="section-4.3-1.14.1">See the "TCP/UDP Experimental Option Experiment Identifiers (TCP/UDP ExIDs)" registry at <xref target="UDP_ExIDs" format="default" sectionFormat="of" derivedContent="UDP_ExIDs"/>.</t>
          </dd>
          <dt pn="section-4.3-1.15"/>
          <dd pn="section-4.3-1.16">
            <t indent="0" pn="section-4.3-1.16.1">See <xref target="RFC9868" format="default" sectionFormat="of" derivedContent="RFC9868"/> for more details about ExIDs.</t>
          </dd>
          <dt pn="section-4.3-1.17">Reference:</dt>
          <dd pn="section-4.3-1.18">
            <t indent="0" pn="section-4.3-1.18.1">RFC 9870</t>
          </dd>
        </dl>
      </section>
      <section anchor="udpExID" numbered="true" removeInRFC="false" toc="include" pn="section-4.4">
        <name slugifiedName="name-udpsafeexidlist">udpSafeExIDList</name>
        <dl indent="3" newline="false" spacing="normal" pn="section-4.4-1">
          <dt pn="section-4.4-1.1">Name:</dt>
          <dd pn="section-4.4-1.2">
            <t indent="0" pn="section-4.4-1.2.1">udpSafeExIDList</t>
          </dd>
          <dt pn="section-4.4-1.3">ElementID:</dt>
          <dd pn="section-4.4-1.4">
            <t indent="0" pn="section-4.4-1.4.1">528</t>
          </dd>
          <dt pn="section-4.4-1.5">Description:</dt>
          <dd pn="section-4.4-1.6">
            <t indent="0" pn="section-4.4-1.6.1">Observed ExIDs in the Experimental (EXP, Kind=127) Option.</t>
          </dd>
          <dt pn="section-4.4-1.7"/>
          <dd pn="section-4.4-1.8">
            <t indent="0" pn="section-4.4-1.8.1">A basicList of udpExID Information Elements in which each udpExID Information Element carries the ExID observed in an EXP Option.</t>
          </dd>
          <dt pn="section-4.4-1.9">Abstract Data Type:</dt>
          <dd pn="section-4.4-1.10">
            <t indent="0" pn="section-4.4-1.10.1">basicList</t>
          </dd>
          <dt pn="section-4.4-1.11">Data Type Semantics:</dt>
          <dd pn="section-4.4-1.12">
            <t indent="0" pn="section-4.4-1.12.1">list</t>
          </dd>
          <dt pn="section-4.4-1.13">Additional Information:</dt>
          <dd pn="section-4.4-1.14">
            <t indent="0" pn="section-4.4-1.14.1">See the "TCP/UDP Experimental Option Experiment Identifiers (TCP/UDP ExIDs)" registry at <xref target="UDP_ExIDs" format="default" sectionFormat="of" derivedContent="UDP_ExIDs"/>.</t>
          </dd>
          <dt pn="section-4.4-1.15"/>
          <dd pn="section-4.4-1.16">
            <t indent="0" pn="section-4.4-1.16.1">See <xref target="RFC9868" format="default" sectionFormat="of" derivedContent="RFC9868"/> for more details about ExIDs.</t>
          </dd>
          <dt pn="section-4.4-1.17">Reference:</dt>
          <dd pn="section-4.4-1.18">
            <t indent="0" pn="section-4.4-1.18.1">RFC 9870</t>
          </dd>
        </dl>
      </section>
      <section anchor="udpUExID" numbered="true" removeInRFC="false" toc="include" pn="section-4.5">
        <name slugifiedName="name-udpunsafeexidlist">udpUnsafeExIDList</name>
        <dl indent="3" newline="false" spacing="normal" pn="section-4.5-1">
          <dt pn="section-4.5-1.1">Name:</dt>
          <dd pn="section-4.5-1.2">
            <t indent="0" pn="section-4.5-1.2.1">udpUnsafeExIDList</t>
          </dd>
          <dt pn="section-4.5-1.3">ElementID:</dt>
          <dd pn="section-4.5-1.4">
            <t indent="0" pn="section-4.5-1.4.1">529</t>
          </dd>
          <dt pn="section-4.5-1.5">Description:</dt>
          <dd pn="section-4.5-1.6">
            <t indent="0" pn="section-4.5-1.6.1">Observed ExIDs in the UNSAFE Experimental (UEXP, Kind=254) Option.</t>
          </dd>
          <dt pn="section-4.5-1.7"/>
          <dd pn="section-4.5-1.8">
            <t indent="0" pn="section-4.5-1.8.1">A basicList of udpExID Information Elements in which each udpExID Information Element carries the ExID observed in an UEXP Option.</t>
          </dd>
          <dt pn="section-4.5-1.9">Abstract Data Type:</dt>
          <dd pn="section-4.5-1.10">
            <t indent="0" pn="section-4.5-1.10.1">basicList</t>
          </dd>
          <dt pn="section-4.5-1.11">Data Type Semantics:</dt>
          <dd pn="section-4.5-1.12">
            <t indent="0" pn="section-4.5-1.12.1">list</t>
          </dd>
          <dt pn="section-4.5-1.13">Additional Information:</dt>
          <dd pn="section-4.5-1.14">
            <t indent="0" pn="section-4.5-1.14.1">See the "TCP/UDP Experimental Option Experiment Identifiers (TCP/UDP ExIDs)" registry at <xref target="UDP_ExIDs" format="default" sectionFormat="of" derivedContent="UDP_ExIDs"/>.</t>
          </dd>
          <dt pn="section-4.5-1.15"/>
          <dd pn="section-4.5-1.16">
            <t indent="0" pn="section-4.5-1.16.1">See <xref target="RFC9868" format="default" sectionFormat="of" derivedContent="RFC9868"/> for more details about ExIDs.</t>
          </dd>
          <dt pn="section-4.5-1.17">Reference:</dt>
          <dd pn="section-4.5-1.18">
            <t indent="0" pn="section-4.5-1.18.1">RFC 9870</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="sec-ex" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-examples">Examples</name>
      <section anchor="sec-ex-rs" numbered="true" removeInRFC="false" toc="include" pn="section-5.1">
        <name slugifiedName="name-reduced-size-encoding">Reduced-Size Encoding</name>
        <t indent="0" pn="section-5.1-1">Given the UDP Kind allocation in <xref section="10" sectionFormat="of" target="RFC9868" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9868#section-10" derivedContent="RFC9868"/> and the option mapping defined in <xref target="udpOptions" format="default" sectionFormat="of" derivedContent="Section 4.1"/> of this document, fewer octets are likely to be used for Flows with mandatory UDP Options.</t>
        <t indent="0" pn="section-5.1-2"><xref target="ex-udp" format="default" sectionFormat="of" derivedContent="Figure 2"/> shows an example of the Kind/bit mappings in the udpSafeOptions IE for a Flow in which End of Options List (EOL, Kind=0) and Additional Payload Checksum (APC, Kind=2) Options are observed. Only the bits that corresponds to EOL and APC Options are set to 1.</t>
        <figure anchor="ex-udp" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-an-example-of-udpsafeoption">An Example of udpSafeOptions IE with EOL and APC Options</name>
          <artwork align="center" pn="section-5.1-3.1">
MSB                                                       LSB
                     1                          25
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+
|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|   |0|0|0|0|0|1|0|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-++-+-+-+-+...+-+-+-+-+-+-+-+-+</artwork>
        </figure>
        <t indent="0" pn="section-5.1-4">One octet is sufficient to report these observed options because the leading zeros are dropped per the reduced-size encoding guidance. Concretely, the reported udpSafeOptions IE will be set to 0x05 (<xref target="ex-udp-wire" format="default" sectionFormat="of" derivedContent="Figure 3"/>).</t>
        <figure anchor="ex-udp-wire" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-an-example-of-the-wire-udps">An Example of the Wire udpSafeOptions IE Value with EOL and APC Options</name>
          <artwork align="center" pn="section-5.1-5.1">
MSB           LSB
 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|0|0|0|0|0|1|0|1|
+-+-+-+-+-+-+-+-+</artwork>
        </figure>
      </section>
      <section anchor="safe-experimental-option" numbered="true" removeInRFC="false" toc="include" pn="section-5.2">
        <name slugifiedName="name-safe-experimental-option">SAFE Experimental Option</name>
        <t indent="0" pn="section-5.2-1">Let us now consider a UDP Flow in which SAFE Experimental Options are observed. If a udpSafeOptions IE is exported for this Flow, then that IE will have the EXP bit set to 1 (<xref target="ex-udp-shared" format="default" sectionFormat="of" derivedContent="Figure 4"/>). This example does not make any assumption about the presence of other UDP Options ("X" can be set to 0 or 1).</t>
        <figure anchor="ex-udp-shared" align="left" suppress-title="false" pn="figure-4">
          <name slugifiedName="name-an-example-of-udpsafeoptions">An Example of udpSafeOptions with EXP Option</name>
          <artwork align="center" pn="section-5.2-2.1">
MSB                                                     LSB
                  12                          25
 0 1 2 3 ... 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 8 9 0 1 2 3 4 5
+-+-+-+-+...+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+
|X|X|X|X|   |X|X|X|X|X|X|X|X|X|X|X|1|X|X|   |X|X|X|X|X|X|X|
+-+-+-+-+...+-+-+-+-+-+-+-+-++-++-+-+-+-+...+-+-+-+-+-+-+-+</artwork>
        </figure>
      </section>
      <section anchor="exids-and-reduced-size-encoding" numbered="true" removeInRFC="false" toc="include" pn="section-5.3">
        <name slugifiedName="name-exids-and-reduced-size-enco">ExIDs and Reduced-Size Encoding</name>
        <t indent="0" pn="section-5.3-1">Now assume that EOL, APC, EXP, and UEXP Options are observed in a Flow. Let us also consider that the observed SAFE Experimental Options have ExIDs set to 0x9858 and 0xE2D4 and UNSAFE Experimental Options have ExIDs set to 0xC3D9 and 0x1234. <xref target="ex-sho" format="default" sectionFormat="of" derivedContent="Figure 5"/> shows an excerpt of the Data Set encoding with a focus on SAFE Experimental Options that have ExIDs. The fields are defined in <xref target="RFC6313" format="default" sectionFormat="of" derivedContent="RFC6313"/>.</t>
        <figure anchor="ex-sho" align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-example-of-udp-experimental">Example of UDP Experimental Option ExID IEs</name>
          <artwork align="center" pn="section-5.3-2.1">
 MSB                                                          LSB
 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
:                           ...                                 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      255      |        List Length = 9        |semantic=allof |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           udpExID = 527       |         Field Length = 2      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SAFE ExID =  0x9858           | SAFE ExID = 0xE2D4            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      255      |        List Length = 9        |semantic=allof |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           udpExID = 527       |         Field Length = 2      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| UNSAFE ExID =  0xC3D9         | UNSAFE ExID =  0x1234         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
:                           ...                                 :</artwork>
        </figure>
        <t indent="0" pn="section-5.3-3">Following the guidance in <xref target="udpOptions" format="default" sectionFormat="of" derivedContent="Section 4.1"/>, the reported udpSafeOptions IE will be set to 0x05 even in the presence of EXP Options.</t>
      </section>
    </section>
    <section anchor="security-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-6-1">This document does not introduce new security considerations other than those already discussed in <xref section="11" sectionFormat="of" target="RFC7011" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7011#section-11" derivedContent="RFC7011"/> and <xref section="8" sectionFormat="of" target="RFC7012" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7012#section-8" derivedContent="RFC7012"/>.</t>
      <t indent="0" pn="section-6-2">The reader may refer to <xref section="24" sectionFormat="of" target="RFC9868" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9868#section-24" derivedContent="RFC9868"/> for the security considerations related to UDP Options.</t>
    </section>
    <section anchor="IANA" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section anchor="ipfix-information-elements" numbered="true" removeInRFC="false" toc="include" pn="section-7.1">
        <name slugifiedName="name-ipfix-information-elements">IPFIX Information Elements</name>
        <t indent="0" pn="section-7.1-1">IANA has added the following new IEs to the "IPFIX Information Elements" registry under the "IP Flow Information Export (IPFIX) Entities" registry group <xref target="IANA-IPFIX" format="default" sectionFormat="of" derivedContent="IANA-IPFIX"/>:</t>
        <table align="center" pn="table-1">
          <name slugifiedName="name-new-ipfix-information-eleme">New IPFIX Information Elements</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">ElementID</th>
              <th align="left" colspan="1" rowspan="1">Name</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">525</td>
              <td align="left" colspan="1" rowspan="1">udpSafeOptions</td>
              <td align="left" colspan="1" rowspan="1">
                <xref target="udpOptions" format="default" sectionFormat="of" derivedContent="Section 4.1"/> of RFC 9870</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">526</td>
              <td align="left" colspan="1" rowspan="1">udpUnsafeOptions</td>
              <td align="left" colspan="1" rowspan="1">
                <xref target="udpUnsafeOptions" format="default" sectionFormat="of" derivedContent="Section 4.2"/> of RFC 9870</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">527</td>
              <td align="left" colspan="1" rowspan="1">udpExID</td>
              <td align="left" colspan="1" rowspan="1">
                <xref target="udpBasicExID" format="default" sectionFormat="of" derivedContent="Section 4.3"/> of RFC 9870</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">528</td>
              <td align="left" colspan="1" rowspan="1">udpSafeExIDList</td>
              <td align="left" colspan="1" rowspan="1">
                <xref target="udpExID" format="default" sectionFormat="of" derivedContent="Section 4.4"/> of RFC 9870</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">529</td>
              <td align="left" colspan="1" rowspan="1">udpUnsafeExIDList</td>
              <td align="left" colspan="1" rowspan="1">
                <xref target="udpUExID" format="default" sectionFormat="of" derivedContent="Section 4.5"/> of RFC 9870</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-7.1-3">udpSafeOptions uses the abstract data type ("unsigned256")
            defined in <xref target="RFC9740" format="default" sectionFormat="of" derivedContent="RFC9740"/>.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references" pn="section-8">
      <name slugifiedName="name-references">References</name>
      <references anchor="sec-normative-references" pn="section-8.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC0768" target="https://www.rfc-editor.org/info/rfc768" quoteTitle="true" derivedAnchor="RFC0768">
          <front>
            <title>User Datagram Protocol</title>
            <author fullname="J. Postel" initials="J." surname="Postel"/>
            <date month="August" year="1980"/>
          </front>
          <seriesInfo name="STD" value="6"/>
          <seriesInfo name="RFC" value="768"/>
          <seriesInfo name="DOI" value="10.17487/RFC0768"/>
        </reference>
        <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 fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <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="RFC6313" target="https://www.rfc-editor.org/info/rfc6313" quoteTitle="true" derivedAnchor="RFC6313">
          <front>
            <title>Export of Structured Data in IP Flow Information Export (IPFIX)</title>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <author fullname="G. Dhandapani" initials="G." surname="Dhandapani"/>
            <author fullname="P. Aitken" initials="P." surname="Aitken"/>
            <author fullname="S. Yates" initials="S." surname="Yates"/>
            <date month="July" year="2011"/>
            <abstract>
              <t indent="0">This document specifies an extension to the IP Flow Information Export (IPFIX) protocol specification in RFC 5101 and the IPFIX information model specified in RFC 5102 to support hierarchical structured data and lists (sequences) of Information Elements in data records. This extension allows definition of complex data structures such as variable-length lists and specification of hierarchical containment relationships between Templates. Finally, the semantics are provided in order to express the relationship among multiple list elements in a structured data record. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6313"/>
          <seriesInfo name="DOI" value="10.17487/RFC6313"/>
        </reference>
        <reference anchor="RFC7011" target="https://www.rfc-editor.org/info/rfc7011" quoteTitle="true" derivedAnchor="RFC7011">
          <front>
            <title>Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information</title>
            <author fullname="B. Claise" initials="B." role="editor" surname="Claise"/>
            <author fullname="B. Trammell" initials="B." role="editor" surname="Trammell"/>
            <author fullname="P. Aitken" initials="P." surname="Aitken"/>
            <date month="September" year="2013"/>
            <abstract>
              <t indent="0">This document specifies the IP Flow Information Export (IPFIX) protocol, which serves as a means for transmitting Traffic Flow information over the network. In order to transmit Traffic Flow information from an Exporting Process to a Collecting Process, a common representation of flow data and a standard means of communicating them are required. This document describes how the IPFIX Data and Template Records are carried over a number of transport protocols from an IPFIX Exporting Process to an IPFIX Collecting Process. This document obsoletes RFC 5101.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="77"/>
          <seriesInfo name="RFC" value="7011"/>
          <seriesInfo name="DOI" value="10.17487/RFC7011"/>
        </reference>
        <reference anchor="RFC7012" target="https://www.rfc-editor.org/info/rfc7012" quoteTitle="true" derivedAnchor="RFC7012">
          <front>
            <title>Information Model for IP Flow Information Export (IPFIX)</title>
            <author fullname="B. Claise" initials="B." role="editor" surname="Claise"/>
            <author fullname="B. Trammell" initials="B." role="editor" surname="Trammell"/>
            <date month="September" year="2013"/>
            <abstract>
              <t indent="0">This document defines the data types and management policy for the information model for the IP Flow Information Export (IPFIX) protocol. This information model is maintained as the IANA "IPFIX Information Elements" registry, the initial contents of which were defined by RFC 5102. This information model is used by the IPFIX protocol for encoding measured traffic information and information related to the traffic Observation Point, the traffic Metering Process, and the Exporting Process. Although this model was developed for the IPFIX protocol, it is defined in an open way that allows it to be easily used in other protocols, interfaces, and applications. This document obsoletes RFC 5102.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7012"/>
          <seriesInfo name="DOI" value="10.17487/RFC7012"/>
        </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 fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <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="RFC9740" target="https://www.rfc-editor.org/info/rfc9740" quoteTitle="true" derivedAnchor="RFC9740">
          <front>
            <title>New IPFIX Information Elements for TCP Options and IPv6 Extension Headers</title>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <date month="March" year="2025"/>
            <abstract>
              <t indent="0">This document specifies new IP Flow Information Export (IPFIX) Information Elements (IEs) to solve issues with existing ipv6ExtensionHeaders and tcpOptions IPFIX IEs, especially the ability to export any observed IPv6 extension headers or TCP options.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9740"/>
          <seriesInfo name="DOI" value="10.17487/RFC9740"/>
        </reference>
        <reference anchor="RFC9868" target="https://www.rfc-editor.org/info/rfc9868" quoteTitle="true" derivedAnchor="RFC9868">
          <front>
            <title>Transport Options for UDP</title>
            <author initials="J." surname="Touch" fullname="Dr. Joseph D. Touch">
              <organization showOnFrontPage="true">Independent Consultant</organization>
            </author>
            <author initials="C." surname="Heard" fullname="C. M. Heard" role="editor">
              <organization showOnFrontPage="true">Unaffiliated</organization>
            </author>
            <date month="October" year="2025"/>
          </front>
          <seriesInfo name="RFC" value="9868"/>
          <seriesInfo name="DOI" value="10.17487/RFC9868"/>
        </reference>
      </references>
      <references anchor="sec-informative-references" pn="section-8.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="IANA-IPFIX" target="https://www.iana.org/assignments/ipfix" quoteTitle="true" derivedAnchor="IANA-IPFIX">
          <front>
            <title>IP Flow Information Export (IPFIX) Entities</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC4340" target="https://www.rfc-editor.org/info/rfc4340" quoteTitle="true" derivedAnchor="RFC4340">
          <front>
            <title>Datagram Congestion Control Protocol (DCCP)</title>
            <author fullname="E. Kohler" initials="E." surname="Kohler"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <date month="March" year="2006"/>
            <abstract>
              <t indent="0">The Datagram Congestion Control Protocol (DCCP) is a transport protocol that provides bidirectional unicast connections of congestion-controlled unreliable datagrams. DCCP is suitable for applications that transfer fairly large amounts of data and that can benefit from control over the tradeoff between timeliness and reliability. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4340"/>
          <seriesInfo name="DOI" value="10.17487/RFC4340"/>
        </reference>
        <reference anchor="RFC6632" target="https://www.rfc-editor.org/info/rfc6632" quoteTitle="true" derivedAnchor="RFC6632">
          <front>
            <title>An Overview of the IETF Network Management Standards</title>
            <author fullname="M. Ersue" initials="M." role="editor" surname="Ersue"/>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <date month="June" year="2012"/>
            <abstract>
              <t indent="0">This document gives an overview of the IETF network management standards and summarizes existing and ongoing development of IETF Standards Track network management protocols and data models. The document refers to other overview documents, where they exist and classifies the standards for easy orientation. The purpose of this document is, on the one hand, to help system developers and users to select appropriate standard management protocols and data models to address relevant management needs. On the other hand, the document can be used as an overview and guideline by other Standard Development Organizations or bodies planning to use IETF management technologies and data models. This document does not cover Operations, Administration, and Maintenance (OAM) technologies on the data-path, e.g., OAM of tunnels, MPLS Transport Profile (MPLS-TP) OAM, and pseudowire as well as the corresponding management models. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6632"/>
          <seriesInfo name="DOI" value="10.17487/RFC6632"/>
        </reference>
        <reference anchor="RFC9260" target="https://www.rfc-editor.org/info/rfc9260" quoteTitle="true" derivedAnchor="RFC9260">
          <front>
            <title>Stream Control Transmission Protocol</title>
            <author fullname="R. Stewart" initials="R." surname="Stewart"/>
            <author fullname="M. Tüxen" initials="M." surname="Tüxen"/>
            <author fullname="K. Nielsen" initials="K." surname="Nielsen"/>
            <date month="June" year="2022"/>
            <abstract>
              <t indent="0">This document describes the Stream Control Transmission Protocol (SCTP) and obsoletes RFC 4960. It incorporates the specification of the chunk flags registry from RFC 6096 and the specification of the I bit of DATA chunks from RFC 7053. Therefore, RFCs 6096 and 7053 are also obsoleted by this document. In addition, RFCs 4460 and 8540, which describe errata for SCTP, are obsoleted by this document.</t>
              <t indent="0">SCTP was originally designed to transport Public Switched Telephone Network (PSTN) signaling messages over IP networks. It is also suited to be used for other applications, for example, WebRTC.</t>
              <t indent="0">SCTP is a reliable transport protocol operating on top of a connectionless packet network, such as IP. It offers the following services to its users:</t>
              <t indent="0">The design of SCTP includes appropriate congestion avoidance behavior and resistance to flooding and masquerade attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9260"/>
          <seriesInfo name="DOI" value="10.17487/RFC9260"/>
        </reference>
        <reference anchor="RFC9293" target="https://www.rfc-editor.org/info/rfc9293" quoteTitle="true" derivedAnchor="RFC9293">
          <front>
            <title>Transmission Control Protocol (TCP)</title>
            <author fullname="W. Eddy" initials="W." role="editor" surname="Eddy"/>
            <date month="August" year="2022"/>
            <abstract>
              <t indent="0">This document specifies the Transmission Control Protocol (TCP). TCP is an important transport-layer protocol in the Internet protocol stack, and it has continuously evolved over decades of use and growth of the Internet. Over this time, a number of changes have been made to TCP as it was specified in RFC 793, though these have only been documented in a piecemeal fashion. This document collects and brings those changes together with the protocol specification from RFC 793. This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093, 6429, 6528, and 6691 that updated parts of RFC 793. It updates RFCs 1011 and 1122, and it should be considered as a replacement for the portions of those documents dealing with TCP requirements. It also updates RFC 5961 by adding a small clarification in reset handling while in the SYN-RECEIVED state. The TCP header control bits from RFC 793 have also been updated based on RFC 3168.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="7"/>
          <seriesInfo name="RFC" value="9293"/>
          <seriesInfo name="DOI" value="10.17487/RFC9293"/>
        </reference>
        <reference anchor="RFC9869" target="https://www.rfc-editor.org/info/rfc9869" quoteTitle="true" derivedAnchor="RFC9869">
          <front>
            <title>Datagram Packetization Layer Path MTU Discovery (DPLPMTUD) for UDP Options</title>
            <author fullname="Gorry Fairhurst" initials="G." surname="Fairhurst">
              <organization showOnFrontPage="true">University of Aberdeen</organization>
            </author>
            <author fullname="Tom Jones" initials="T." surname="Jones">
              <organization showOnFrontPage="true">University of Aberdeen</organization>
            </author>
            <date month="October" year="2025"/>
          </front>
          <seriesInfo name="RFC" value="9869"/>
          <seriesInfo name="DOI" value="10.17487/RFC9869"/>
        </reference>
        <reference anchor="UDP_ExIDs" target="https://www.iana.org/assignments/udp" quoteTitle="true" derivedAnchor="UDP_ExIDs">
          <front>
            <title>TCP/UDP Experimental Option Experiment Identifiers (TCP/UDP ExIDs)</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="UDP_OPTIONS" target="https://www.iana.org/assignments/udp" quoteTitle="true" derivedAnchor="UDP_OPTIONS">
          <front>
            <title>UDP Option Kind Numbers</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-appendix.a-1">Thanks to <contact fullname="Benoît Claise"/> for the discussion on
      the ordering of IPFIX IEs. Thanks to <contact fullname="Paul Aitken"/>
      for the review and comments.</t>
      <t indent="0" pn="section-appendix.a-2">Thanks to <contact fullname="Tommy Pauly"/> for the TSVART review,
      <contact fullname="Joe Touch"/> for the INTDIR review, <contact fullname="Robert Sparks"/> for the GENART review, <contact fullname="Watson Ladd"/> for the SECDIR review, and <contact fullname="Jouni Korhonen"/> for the OPSDIR review.</t>
      <t indent="0" pn="section-appendix.a-3">Thanks to <contact fullname="Thomas Graf"/> for the shepherd review.</t>
      <t indent="0" pn="section-appendix.a-4">Thanks to <contact fullname="Mahesh Jethanandani"/> for the AD review.</t>
      <t indent="0" pn="section-appendix.a-5">Thanks to <contact fullname="Éric Vyncke"/>, <contact fullname="Roman       Danyliw"/>, and <contact fullname="Zahed Sarker"/> for the IESG
      review.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Mohamed Boucadair" surname="Boucadair" initials="M.">
        <organization showOnFrontPage="true">Orange</organization>
        <address>
          <postal>
            <city>Rennes</city>
            <code>35000</code>
            <country>France</country>
          </postal>
          <email>mohamed.boucadair@orange.com</email>
        </address>
      </author>
      <author fullname="Tirumaleswar Reddy.K" surname="Reddy.K" initials="T.">
        <organization showOnFrontPage="true">Nokia</organization>
        <address>
          <postal>
            <country>India</country>
          </postal>
          <email>kondtir@gmail.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
