<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.11 (Ruby 3.2.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-tsvwg-udp-ipfix-09" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="IPFIX IE for UDP Options">Export of UDP Options Information in IP Flow Information Export (IPFIX)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-tsvwg-udp-ipfix-09"/>
    <author fullname="Mohamed Boucadair">
      <organization>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">
      <organization>Nokia</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <date year="2024" month="May" day="14"/>
    <area>Operations and Management</area>
    <workgroup>OPSAWG</workgroup>
    <keyword>surplus area</keyword>
    <keyword>UDP options</keyword>
    <abstract>
      <?line 48?>

<t>This document specifies new IP Flow Information Export (IPFIX) Information Elements for UDP options.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Operations and Management Area Working Group Working Group mailing list (opsawg@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/opsawg/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/boucadair/udp-ipfix"/>.</t>
    </note>
  </front>
  <middle>
    <?line 52?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>IP Flow Information Export (IPFIX) <xref target="RFC7011"/> is a protocol that is widely deployed in operators networks for traffic management purposes (<xref section="2" sectionFormat="of" target="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"/> for interoperability.</t>
      <t>This document specifies new IPFIX Information Elements for UDP options (<xref target="sec-IE"/>). A brief overview of UDP options is provided in <xref target="uo"/>.</t>
      <t>The IE specified in <xref target="udpOptions"/> uses the new abstract data type defined in  <xref target="sec-iana-192"/>.</t>
      <t>Examples to illustrate the use of the new IPFIX Information Elements are provided in <xref target="sec-ex"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>This document uses the IPFIX-specific terminology (e.g., Flow) defined in <xref section="2" sectionFormat="of" target="RFC7011"/>.
As in <xref target="RFC7011"/>, these IPFIX-specific terms have the first letter of a word capitalized.</t>
      <t>The document adheres to the naming conventions for Information Elements per <xref section="2.3" sectionFormat="of" target="RFC7012"/>.</t>
      <t>Also, this document uses the terms defined in <xref section="3" sectionFormat="of" target="I-D.ietf-tsvwg-udp-options"/>, especially "datagram" and "surplus area".</t>
    </section>
    <section anchor="uo">
      <name>UDP Options at a Glance</name>
      <t>UDP <xref target="RFC0768"/> does not support an extension mechanism similar to the options supported by other transport protocols, such as TCP <xref target="RFC9293"/>, SCTP <xref target="RFC9260"/>, or DCCP <xref target="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="I-D.ietf-tsvwg-udp-options"/> 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="I-D.ietf-tsvwg-udp-options"/> 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"/>. An example of the use of UDP options is described in <xref target="I-D.ietf-tsvwg-udp-options-dplpmtud"/>.</t>
      <figure anchor="spa">
        <name>Surplus Area</name>
        <artwork align="center"><![CDATA[
                       IP transport payload
          <------------------------------------------------->
+--------+---------+----------------------+------------------+
| IP Hdr | UDP Hdr |     UDP user data    |   surplus area   |
+--------+---------+----------------------+------------------+
          <------------------------------>
                     UDP Length
]]></artwork>
      </figure>
      <t>Sections <xref format="counter" target="udpOptions"/> and <xref format="counter" target="udpUnsafeOptions"/> introduce new IEs to export the observed UDP options.</t>
      <t>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="I-D.ietf-tsvwg-udp-options"/>). Safe options are exported using the IE defined in <xref target="udpOptions"/>.</t>
      <t>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="I-D.ietf-tsvwg-udp-options"/>). Unsafe options are exported using the IE defined in <xref target="udpUnsafeOptions"/>.</t>
      <t>UDP options occur per-packet within a Flow and can be inserted at any time in the Flow.</t>
      <t><xref target="I-D.ietf-tsvwg-udp-options"/> reserves two options for experiments: the Experimental option (EXP, Kind=127) for SAFE options and the UNSAFE Experimental option (UEXP, Kind=254). For both options, Experimental ID (ExIDs) are used to differentiate concurrent use of these options. Known ExIDs are expected to be registered within IANA. <xref target="udpExID"/> specifies a new IPFIX IE to export observed ExIDs in the EXP options. Also, <xref target="udpUExID"/> specifies a new IPFIX IE to export observed ExIDs in the UEXP options. Only 16-bit ExIDs are supported in <xref target="I-D.ietf-tsvwg-udp-options"/>.</t>
      <t>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">
      <name>New UDP IPFIX Information Elements</name>
      <ul empty="true">
        <li>
          <t>RFC Editor Note: Please update "URL_IANA_UDP_OPTIONS" reference with the URL of the "UDP Option Kind Numbers" registry group and "URL_IANA_UDP_ExIDs" with the URL of the "UDP Experimental Option Experiment Identifiers (UDP ExIDs)" registry that will be created by IANA as per <xref section="25" sectionFormat="of" target="I-D.ietf-tsvwg-udp-options"/>.</t>
        </li>
      </ul>
      <section anchor="udpOptions">
        <name>udpSafeOptions</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>udpSafeOptions</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD1</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>Observed safe UDP options in a Flow. The information is encoded in a set of bit fields.</t>
          </dd>
          <dt/>
          <dd>
            <t>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 most-significant bit of the IE. The bit is set to 1 if the corresponding safe UDP option is observed in the Flow. The bit is set to 0 if the option is not observed in the Flow.</t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>unsigned192</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd>
            <t>flags</t>
          </dd>
          <dt>Additional Information:</dt>
          <dd>
            <t>See the "UDP Option Kind Numbers" registry at <xref target="URL_IANA_UDP_OPTIONS"/>.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="I-D.ietf-tsvwg-udp-options"/> for more details about UDP options.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This-Document</t>
          </dd>
        </dl>
      </section>
      <section anchor="udpUnsafeOptions">
        <name>udpUnsafeOptions</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>udpUnsafeOptions</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD2</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>Observed unsafe UDP options in a Flow. The information is encoded in a set of bit fields.</t>
          </dd>
          <dt/>
          <dd>
            <t>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 in the Flow. The bit is set to 0 if the option is not observed in the Flow.</t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>unsigned64</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd>
            <t>flags</t>
          </dd>
          <dt>Additional Information:</dt>
          <dd>
            <t>See the "UDP Option Kind Numbers" registry at <xref target="URL_IANA_UDP_OPTIONS"/>.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="I-D.ietf-tsvwg-udp-options"/> for more details about UDP options.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This-Document</t>
          </dd>
        </dl>
      </section>
      <section anchor="udpExID">
        <name>udpSafeExperimentalOptionExID</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>udpSafeExperimentalOptionExID</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD3</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>Observed Experiments ID (ExIDs) in the Experimental option (EXP, Kind=127).</t>
          </dd>
          <dt/>
          <dd>
            <t>The information is encoded in a set of 16-bit fields. Each 16-bit field carries the ExID observed in an EXP option.</t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>octetArray</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd>
            <t>identifier</t>
          </dd>
          <dt>Additional Information:</dt>
          <dd>
            <t>See the assignments in the "UDP Experimental Option Experiment Identifiers (UDP ExIDs)" registry at <xref target="URL_IANA_UDP_ExIDs"/>.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="I-D.ietf-tsvwg-udp-options"/> for more details about ExIDs.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This-Document</t>
          </dd>
        </dl>
      </section>
      <section anchor="udpUExID">
        <name>udpUnsafeExperimentalOptionExID</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>udpUnsafeExperimentalOptionExID</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD4</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>Observed Experiments ID (ExIDs) in the UNSAFE Experimental option (UEXP, Kind=254).</t>
          </dd>
          <dt/>
          <dd>
            <t>The information is encoded in a set of 16-bit fields. Each 16-bit field carries the ExID observed in an UEXP option.</t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>octetArray</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd>
            <t>identifier</t>
          </dd>
          <dt>Additional Information:</dt>
          <dd>
            <t>See the assignments in the "UDP Experimental Option Experiment Identifiers (UDP ExIDs)" registry at <xref target="URL_IANA_UDP_ExIDs"/>.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="I-D.ietf-tsvwg-udp-options"/> for more details about ExIDs.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This-Document</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="sec-ops">
      <name>Operational Considerations</name>
      <t>The reduced-size encoding specified in <xref section="6.2" sectionFormat="of" target="RFC7011"/> is followed whenever fewer octets are needed to report observed safe and unsafe UDP options. For example, if only option Kinds &lt;= 32 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>
      <t>The presence of udpSafeExperimentalOptionExID (or udpUnsafeExperimentalOptionExID) is an indication that the SAFE (or UNSAFE) Experimental option is observed in a Flow. The presence of udpSafeExperimentalOptionExID (or udpUnsafeExperimentalOptionExID) takes precedence over setting the correspoding bit in the udpSafeOptions (or udpUnsafeOptions) IE for the same Flow. In order to make use of the reduced-size encoding in the presence of udpSafeExperimentalOptionExID (or udpUnsafeExperimentalOptionExID) IE, the Exporter SHOULD NOT set to 1 the EXP (or UEXP) flags of the the udpSafeOptions (or udpUnsafeOptions) IE that is reported for the same Flow.</t>
      <t>Transport (including MTU) considerations are discussed in <xref section="10" sectionFormat="of" target="RFC7011"/>.</t>
    </section>
    <section anchor="sec-ex">
      <name>Examples</name>
      <t>Given UDP Kind allocation in <xref section="10" sectionFormat="of" target="I-D.ietf-tsvwg-udp-options"/> and the option mapping defined in <xref target="udpOptions"/> of this document, fewer octets are likely to be used for Flows with mandatory UDP options.</t>
      <t><xref target="ex-udp"/> shows an example of reported values in a udpSafeOptions IE for a Flow in which End of Options List (EOL, Kind=0) and Alternate payload checksum (APC, Kind=2) options are observed. One octet is sufficient to report these observed options because the leading zeros are dropped per the reduced-size encoding guidance in <xref target="sec-ops"/>. Concretely, the reported udpSafeOptions IE will be set to 0x05.</t>
      <figure anchor="ex-udp">
        <name>An Example of udpSafeOptions with EOL and APC Options</name>
        <artwork align="center"><![CDATA[
MSB                                                       LSB
                     1                                  19
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+
|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>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"/>). This example does not make any assumption about the presence of other UDP options.</t>
      <figure anchor="ex-udp-shared">
        <name>An Example of udpSafeOptions with EXP Option</name>
        <artwork align="center"><![CDATA[
MSB                                                     LSB
                  12                                  19
 0 1 2 3 ... 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 4 5 6 7 8 9 0 1
+-+-+-+-+...+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+
|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>
      <t>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. As shown in <xref target="ex-sho"/>, the following IEs are used to report observed ExIDs:</t>
      <ol spacing="normal" type="1"><li>
          <t>udpSafeExperimentalOptionExID IE set to 0x9858E2D4 to report observed ExIDs of SAFE Experimental options.</t>
        </li>
        <li>
          <t>udpUnsafeExperimentalOptionExID IE set to 0xC3D91234 to report the ExIDs of the observed UNSAFE Experimental options.</t>
        </li>
      </ol>
      <figure anchor="ex-sho">
        <name>Example of UDP Experimental Option IEs</name>
        <artwork align="center"><![CDATA[
udpSafeExperimentalOptionExID IE:

MSB                                                          LSB
                     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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              0x9858           |             0xE2D4            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

udpUnsafeExperimentalOptionExID IE:

                     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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              0xC3D9           |             0x1234            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document does not introduce new security considerations other than those already discussed in <xref section="11" sectionFormat="of" target="RFC7011"/> and <xref section="8" sectionFormat="of" target="RFC7012"/>.</t>
      <t>The reader may refer to <xref section="24" sectionFormat="of" target="I-D.ietf-tsvwg-udp-options"/> for the security considerations related to UDP options.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <section anchor="ipfix-information-elements">
        <name>IPFIX Information Elements</name>
        <t>This document requests IANA to add the following new IEs to the "IPFIX Information Elements" registry under the "IP Flow Information Export (IPFIX) Entities" registry group <xref target="IANA-IPFIX"/>:</t>
        <table>
          <name>New IPFIX Information Elements</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Name</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD1</td>
              <td align="left">udpSafeOptions</td>
              <td align="left">
                <xref target="udpOptions"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD2</td>
              <td align="left">udpUnsafeOptions</td>
              <td align="left">
                <xref target="udpUnsafeOptions"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD3</td>
              <td align="left">udpSafeExperimentalOptionExID</td>
              <td align="left">
                <xref target="udpExID"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD4</td>
              <td align="left">udpUnsafeExperimentalOptionExID</td>
              <td align="left">
                <xref target="udpUExID"/> of This-Document</td>
            </tr>
          </tbody>
        </table>
        <ul empty="true">
          <li>
            <t>udpSafeOptions uses the abstract data type ("unsigned192") defined in <xref target="sec-iana-192"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-iana-192">
        <name>IPFIX Information Element Data Type</name>
        <t>This document requests IANA to add the following new abstract data type to the "IPFIX Information Element Data Types" registry under the "IP Flow Information Export (IPFIX) Entities" registry group <xref target="IANA-IPFIX"/>:</t>
        <table anchor="iana-new-dt">
          <name>New IPFIX Information Element Data Type</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD5</td>
              <td align="left">unsigned192</td>
              <td align="left">This-Document</td>
            </tr>
          </tbody>
        </table>
        <t>The type "unsigned192" represents a non-negative integer value in the
range of '0' to '2^192 - 1'. Similar to <xref section="6.1.1" sectionFormat="of" target="RFC7011"/>, this type MUST be encoded using the default canonical format in network byte order. Reduced-Size encoding (<xref section="6.2" sectionFormat="of" target="RFC7011"/>) applies to this data type.</t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="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>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">
          <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>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="I-D.ietf-tsvwg-udp-options">
          <front>
            <title>Transport Options for UDP</title>
            <author fullname="Dr. Joseph D. Touch" initials="J. D." surname="Touch">
              <organization>Independent Consultant</organization>
            </author>
            <date day="21" month="March" year="2024"/>
            <abstract>
              <t>   Transport protocols are extended through the use of transport header
   options. This document updates RFC 768 (UDP) by indicating the
   location, syntax, and semantics for UDP transport layer options
   within the surplus area after the end of the UDP user data but
   before the end of the IP length.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-udp-options-32"/>
        </reference>
        <reference anchor="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="IANA-IPFIX" target="https://www.iana.org/assignments/ipfix/ipfix.xhtml">
          <front>
            <title>IP Flow Information Export (IPFIX) Entities</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="URL_IANA_UDP_OPTIONS" target="https://www.iana.org/assignments/url1">
          <front>
            <title>UDP Option Kind Numbers</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="URL_IANA_UDP_ExIDs" target="https://www.iana.org/assignments/url2">
          <front>
            <title>UDP Experimental Option Experiment Identifiers (UDP ExIDs)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="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>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="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>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="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>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>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>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>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="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>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="I-D.ietf-tsvwg-udp-options-dplpmtud">
          <front>
            <title>Datagram PLPMTUD for UDP Options</title>
            <author fullname="Gorry Fairhurst" initials="G." surname="Fairhurst">
              <organization>University of Aberdeen</organization>
            </author>
            <author fullname="Tom Jones" initials="T." surname="Jones">
              <organization>University of Aberdeen</organization>
            </author>
            <date day="7" month="May" year="2024"/>
            <abstract>
              <t>   This document specifies how a UDP Options sender implements Datagram
   Packetization Layer Path Maximum Transmission Unit Discovery
   (DPLPMTUD) as a robust method for Path Maximum Transmission Unit
   discovery.  This method uses the UDP Options packetization layer.  It
   allows an application to discover the largest size of datagram that
   can be sent across a network path.  It also provides a way to allow
   the application to periodically verify the current maximum packet
   size supported by a path and to update this when required.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-udp-options-dplpmtud-12"/>
        </reference>
      </references>
    </references>
    <?line 301?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Benoît Claise for the discussion on the ordering of IPFIX IEs. Thanks to Paul Aitken for the review and comments.</t>
      <t>Thanks to Tommy Pauly for the tsvart review, Joe Touch for the intdir review, Robert Sparks for the genart review, and Watson Ladd for the secdir review.</t>
      <t>Thanks to Thomas Graf for the Shepherd review.</t>
      <t>Thanks to Mahesh Jethanandani for the AD review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
i5I191WAQPdb5Wxw4fDJpffHrYVTFrIG032lynesYkVN8KF6oKMT0pVtvCgV
mNCfqHo9ypHR9KUXkw9T2dum7R6FQU0VaiUdSMWP78RBh5dwFLlZHNtzyygv
u71LqbPtijhjRi3jwuRBh08K1q14fPDNVzw+tGdKU+qwUJ0IIpsD2A443IIa
u3wAHbuOGm2CyznijjGAaBg42F2JBwt5SjUV/MaMZvJO0Xmogi0asmRIwJbM
NcZcTsX2WaZ3i2KurWYf7roLPnzEAMi1+6geUk/AQPX0c7Vf2DW/8eb7vT2X
FVCrJRHXf7y8PT8TF5c3ZWrpOkGsM/yyazI2x+9LROEuIhhnhG6XZQNrLE4s
dsLYj3Le/8eb211qllURhXyBzr/yNF3Ei/b+4qEswKk4fTZQpB6BRD+H93Ah
cn7OKCUQxS8udC3R2wicrodoTZiqDuJ8befZCLDStdpbxi86MgMQmF4fdxBJ
Yh/40IlbL4g/Ad3fmC2kqE9P6pH4oy7dmI+oasdQhQLKDrdcgRu0mG3nYgQq
F8TWHrYJCm7UOYIOAv3luY3e+7ssiC41r2NqTLkDM3+s/Ls0n4id7tWpC/W7
ta60c3lqCSojBi5IcrqLElL0K4HctkkdSDgylQ46FWdsO7+pRFtrSTSXglPb
WF/ta64nWF4uoKj1pX6caKa7Lvpye8Q2rlwx9bh/5M7qPl6/X3Nct+1zfv1+
9blUe/vc9lsPJV1bdMSBOBRH4lj8IN6ItyuftVqtxTHe981n/mDy0jNvvv/M
H3Ba+avN/21e2/xvw9rFSZ3xCHdY140dIFTA1GmQfQtGbWz56rS4nbn+VO9c
UQsfNfJDgVP2XLjuP+ty4EUX6A9XuiRlwY819MQTWqHIBgCxzgCLqyWE3xS6
ClDfcQDR5KsCgb28xdSNUIoWOgcoOrZBxppPDLiZnHAxIpnLEnUg+l0mv9rg
252XmTuZ81ca+yqD2mzs3vyz/SFT/rzyp73m/eZ1Nxv6oplbvb7A2j+75soG
I7+ggz0yA2UMjXGf8ZzrN/KW6tlOzaSriZx1FhmluvSWIkUsZqz3FbZsc1hU
QOzbN0dvmIX9x17n7NCys7boXE3k9ODsrSXS7hwctkQ35QhqEwIIF3/ZG122
AqGYQUfy1VO+xXLDXmj12q0teRtdwKtuiHayliDpcu32Wl6ntbUpUF2Otk57
rkfZcqX6RYP1cnVev22jEMfXx8K16CBWh8NVmHHw/JC45tnzw+K6H29e58ma
cfmZL7xmg6i+/wY8eNvN5MT7Z5Q1e/t6WbM3fGNZV3EaUOIAuoLO67pAwJgN
0PxKoFjJkzCbLXReNp2NVy4VpW72QpVlb0COJeUWGqm1jBIk1rO1pVd7oVNj
bjW512+W7pmaZhBd8EOqMTMn1gRBlcPdw+3VV1FJrtmGu+wNwvUE5ZU5UV7q
VtHTL9xYXX9CvyjaRP0F1RQ1P4kklpJBsBAoKve3uOW3nnilpZfHga1YGi/4
FsjSKX79Tjo8ev5vVP7NBXWDyfaL5t7cm9Mp93whU5gvV7C1FqCZ1pkvVf/z
VfeJ1kw/mG8OkfPq3ZbVJA7n2wLfvHaRZZkKHNQ65sXG2+gNvpuxkE8Vt6RX
3JDfaVSOkxsLV8qXLsxvsr6yQ20bGsXMrzTLFdxutdKSib+nvVbOHxiyF+z2
aF49s58vq/YViwp7bgbZs/RcbrNh29csnpouKWfiYijj+1A6xgIj/lYX30Ia
qcS2ae3xsLlOCNP7bv87EvR3nf+kU+amaH/XEtfl3fRqF7zdWkBXe0Gfufl4
e31TbfOWd/tgZDKPMuoD6zj0JV8tn0huZdrv/YjBjK5GUVeyRV93477Ida0v
srOhH79rLqi77yKQ9Tkjsl9tGkj/jtC269+hRo5UMDIQ+nRijt1V8K4xREFg
JSzjO6b1XsX6r/+didNIhqkqYN4GH+JFm9Yos26/XuQuovHVLUfpCiIQ3TC7
Q5XsyCSKvyDDdxX1hBlqVVe/wcMZz5wVcxB9EITt1D3xJ60wjG58ugHQdhAm
xYBPekDX5K+nsvh2FQaNVFylQhz8WWYpNnNO3lkJZyWtOmtjPZGp+DmRw2L0
9VhNEa2DVeM/yrFKx+JPikI5dQ3jsJjXPStm/A2/RXZF9joAAA==

-->

</rfc>
