<?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.5 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-ipfix-tcpo-v6eh-09" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.1 -->
  <front>
    <title abbrev="New TCP and IPv6 EH IPFIX IEs">Extended TCP Options and IPv6 Extension Headers IPFIX Information Elements</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-ipfix-tcpo-v6eh-09"/>
    <author fullname="Mohamed Boucadair">
      <organization>Orange</organization>
      <address>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Benoit Claise">
      <organization>Huawei</organization>
      <address>
        <email>benoit.claise@huawei.com</email>
      </address>
    </author>
    <date year="2024" month="January" day="23"/>
    <area>Operations and Management</area>
    <workgroup>OPSAWG</workgroup>
    <keyword>IPFIX</keyword>
    <abstract>
      <?line 60?>

<t>This document specifies new IP Flow Information Export (IPFIX) Information Elements (IEs) to solve some issues with existing ipv6ExtensionHeaders and tcpOptions IPFIX IEs, especially the ability to export any observed IPv6 extension headers or TCP 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/ipfix-tcpoptions-and-v6eh"/>.</t>
    </note>
  </front>
  <middle>
    <?line 64?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document specifies new IP Flow Information Export (IPFIX) <xref target="RFC7011"/> Information Elements (IEs) to solve a set of issues encountered with the specifications of ipv6ExtensionHeaders (to export IPv6 extension headers) and tcpOptions (to export TCP options) IEs <xref target="IANA-IPFIX"/>. More details about these issues are provided in the following sub-sections.</t>
      <section anchor="sec-eh-issues">
        <name>Issues with ipv6ExtensionHeaders Information Element</name>
        <t>The specification of ipv6ExtensionHeaders IPFIX IE (64) does not:</t>
        <ul spacing="normal">
          <li>
            <t>Cover the full extension headers' range (<xref section="4" sectionFormat="of" target="RFC8200"/>).</t>
          </li>
          <li>
            <t>Specify the procedure to follow when all bits are exhausted.</t>
          </li>
          <li>
            <t>Specify a means to export the order and the number of occurrences of a given extension header.</t>
          </li>
          <li>
            <t>Specify how to automatically update the IANA IPFIX registry (<xref target="IANA-IPFIX"/>) when a new value is assigned in <xref target="IANA-EH"/>. Only a frozen set of extension headers can be exported using the ipv6ExtensionHeaders IE.</t>
          </li>
          <li>
            <t>Specify whether the exported values match the full enclosed values or only up to a limit imposed by hardware or software (e.g., <xref section="1.1" sectionFormat="of" target="RFC8883"/>).</t>
          </li>
          <li>
            <t>Specify how to report the length of IPv6 extension headers.</t>
          </li>
          <li>
            <t>Optimize the encoding.</t>
          </li>
          <li>
            <t>Explain the reasoning for reporting values which do not correspond to extension headers (e.g., "Unknown Layer 4 header" or "Payload compression header").</t>
          </li>
        </ul>
        <t><xref target="sec-eh"/> addresses these issues.</t>
      </section>
      <section anchor="sec-tcp-issues">
        <name>Issues with tcpOptions Information Element</name>
        <t>The specification of tcpOptions IPFIX IE (209) does not:</t>
        <ul spacing="normal">
          <li>
            <t>Describe how any observed TCP option in a Flow can be exported using IPFIX. Only TCP options having a kind &lt;= 63 can be exported in a tcpOptions IPFIX IE.</t>
          </li>
          <li>
            <t>Allow reporting the observed Experimental Identifiers (ExIDs) that are carried in shared TCP options (kind=253 or 254) <xref target="RFC6994"/>.</t>
          </li>
          <li>
            <t>Optimize the encoding.</t>
          </li>
        </ul>
        <t><xref target="sec-tcp"/> addresses these issues.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>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"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document uses the IPFIX-specific terminology (Information Element, Template Record,
   Flow, etc.) 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>Also, the document uses the terms defined in <xref target="RFC8200"/> and <xref target="RFC9293"/>.</t>
      <t>In addition, the document makes use of the following term:</t>
      <dl>
        <dt>Extension header chain:</dt>
        <dd>
          <t>Refers to the chain of extension headers that are present in an IPv6 packet.</t>
        </dd>
        <dt/>
        <dd>
          <t>This term should not be confused with the IPv6 header chain, which includes
the IPv6 header, zero or more IPv6 extension headers,
and zero or a single Upper-Layer Header.</t>
        </dd>
      </dl>
    </section>
    <section anchor="sec-eh">
      <name>Information Elements for IPv6 Extension Headers</name>
      <t>The definition of the ipv6ExtensionHeaders IE is updated in <xref section="4.1" sectionFormat="of" target="I-D.ietf-opsawg-ipfix-fixes"/> to address some of the issues listed in <xref target="sec-eh-issues"/> of this document. Because some of these limitations cannot be addressed by simple updates to ipv6ExtensionHeaders, this section specifies a set of new IEs to address all the ipv6ExtensionHeaders IE limitations. Refer also to <xref section="4.1.1" sectionFormat="of" target="I-D.ietf-opsawg-ipfix-fixes"/> for more details.</t>
      <section anchor="sec-v6full">
        <name>ipv6ExtensionHeadersFull Information Element</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>ipv6ExtensionHeadersFull</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD1</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>IPv6 extension headers observed in packets of this Flow. The
information is encoded in a set of bit fields.  For each IPv6
extension header, there is a bit in this set. The bit is set to 1 if
any observed packet of this Flow contains the corresponding IPv6
extension header.  Otherwise, if no observed packet of this Flow
contains the respective IPv6 extension header, the value of the
corresponding bit is 0.</t>
          </dd>
          <dt/>
          <dd>
            <t>The IPv6 extension header associated with each bit is provided in
[NEW_IPFIX_IPv6EH_SUBREGISTRY]. Bit 0 corresponds to the least-significant bit
in the ipv6ExtensionHeadersFull IE while bit 255 corresponds to the most-significant bit of the IE.
In doing so, few octets will be needed to encode common IPv6 extension headers when observed in a Flow.</t>
          </dd>
          <dt/>
          <dd>
            <t>The "No Next Header" (59) value (<xref section="4.7" sectionFormat="of" target="RFC8200"/>) is used if there is no upper-layer header in an IPv6 packet.
Even if the value is not considered as an extension header as such, the corresponding
bit is set in the ipv6ExtensionHeadersFull IE whenever that value is encountered in the Flow.</t>
          </dd>
          <dt/>
          <dd>
            <t>Several extension header chains may be observed in a Flow. These extension headers
<bcp14>MAY</bcp14> be aggregated in one single ipv6ExtensionHeadersFull Information Element or
be exported in separate ipv6ExtensionHeadersFull IEs, one for each extension header chain.</t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>unsigned256</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd>
            <t>flags</t>
          </dd>
          <dt>Additional Information:</dt>
          <dd>
            <t>See the assigned bits to each IPv6 extension header type in [NEW_IPFIX_IPv6EH_SUBREGISTRY].</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="IANA-EH"/> for assigned extension header types.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref section="4" sectionFormat="of" target="RFC8200"/> for the general definition of IPv6 extension headers.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This-Document</t>
          </dd>
        </dl>
        <ul empty="true">
          <li>
            <t>Note to the RFC Editor: Please replace [NEW_IPFIX_IPv6EH_SUBREGISTRY] with the link to the "ipv6ExtensionHeaders Bits" registry created by <xref target="I-D.ietf-opsawg-ipfix-fixes"/>.</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-v6count">
        <name>ipv6ExtensionHeaderCount Information Element</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>ipv6ExtensionHeaderCount</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD2</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>As per <xref section="4.1" sectionFormat="of" target="RFC8200"/>, IPv6 nodes must accept and attempt to process extension headers
occurring any number of times in the same packet. This Information Element echoes the
order of extension headers and number of consecutive occurrences of the same extension header type in a Flow.</t>
          </dd>
          <dt/>
          <dd>
            <t>If several extension header chains are observed in a Flow, each header
chain <bcp14>MUST</bcp14> be exported in a separate ipv6ExtensionHeaderCount IE.</t>
          </dd>
          <dt/>
          <dd>
            <t>The same extension header type may appear several times in an ipv6ExtensionHeaderCount Information Element.
For example, if an IPv6 packet of a Flow includes a Hop-by-Hop Options header, a Destination Options header, a Fragment header,
and Destination Options header, the ipv6ExtensionHeaderCount Information Element will report two counts of the Destination Options header: the occurrences
that are observed before the Fragment header and the occurrences right after the Fragment header.</t>
          </dd>
        </dl>
        <artwork align="center"><![CDATA[
MSB                                                                 LSB
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  EH Type#1    |   Count       |...|  EH Type#n      |   Count       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        <dl>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>unsigned64</t>
          </dd>
          <dt>Additional Information:</dt>
          <dd>
            <t>See the assigned IPv6 extension header types in <xref target="IANA-EH"/>.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="RFC8200"/> for the general definition of IPv6 extension headers.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This-Document</t>
          </dd>
        </dl>
      </section>
      <section anchor="sec-v6limit">
        <name>ipv6ExtensionHeadersLimit Information Element</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>ipv6ExtensionHeadersLimit</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD3</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>When set to "false", this Information Element indicates that the exported extension
headers information (e.g., ipv6ExtensionHeadersFull or ipv6ExtensionHeaderCount) does
not match the full enclosed extension headers, but only up to a
limit that is typically set by hardware or software.</t>
          </dd>
          <dt/>
          <dd>
            <t>When set to "true", this Information Element indicates that the exported extension
header information matches the full enclosed extension headers.</t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>boolean</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd>
            <t>default</t>
          </dd>
          <dt>Additional Information:</dt>
          <dd>
            <t>See <xref section="4" sectionFormat="of" target="RFC8200"/> for the general definition of IPv6 extension headers.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="RFC8883"/> for an example of IPv6 packet processing due to limits on extension headers.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This-Document</t>
          </dd>
        </dl>
      </section>
      <section anchor="sec-v6aggr">
        <name>ipv6ExtensionHeadersChainLength Information Element</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>ipv6ExtensionHeadersChainLength</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD4</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>In theory, there are no limits on the number of IPv6 extension headers that may
be present in a packet other than the path MTU. However, it was regularly
reported that IPv6 packets with extension headers are often dropped in the Internet.</t>
          </dd>
          <dt/>
          <dd>
            <t>As discussed in <xref section="1.2" sectionFormat="of" target="RFC8883"/>, some hardware devices implement
a parsing buffer of a fixed size to process packets, including all the headers.
When the aggregate length of headers of an IPv6 packet exceeds that size, the packet will be discarded or deferred to a slow path.</t>
          </dd>
          <dt/>
          <dd>
            <t>The ipv6ExtensionHeadersChainLength IE is used to report, in octets, the length of
an extension header chain observed in a Flow.  The length is the sum of the length of all extension headers of the chain. Exporting such information may help identifying root causes of performance degradation, including packet drops.</t>
          </dd>
          <dt/>
          <dd>
            <t>If several extension header chains are observed in a Flow, each header
chain length <bcp14>MUST</bcp14> be exported in a separate ipv6ExtensionHeadersChainLength IE.</t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>unsigned32</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd>
            <t>identifier</t>
          </dd>
          <dt>Units:</dt>
          <dd>
            <t>octets</t>
          </dd>
          <dt>Additional Information:</dt>
          <dd>
            <t>See <xref section="4" sectionFormat="of" target="RFC8200"/> for the general definition of IPv6 extension headers.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="RFC9098"/> for an overview of operational implications of IPv6 packets with extension headers.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This-Document</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="sec-tcp">
      <name>Information Elements for TCP Options</name>
      <t>The definition of the tcpOptions IE is updated in <xref target="I-D.ietf-opsawg-ipfix-fixes"/> to address some of the issues listed in <xref target="sec-tcp-issues"/>. Because some of these limitations cannot be addressed by simple updates to tcpOptions, this section specifies a set of new IEs to address all the tcpOptions IE limitations.</t>
      <section anchor="sec-tcpfull">
        <name>tcpOptionsFull Information Element</name>
        <t>This section specifies a new IE to cover the full TCP options range.</t>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>tcpOptionsFull</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD5</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>TCP options in packets of this Flow.  The information is encoded
    in a set of bit fields.  For each TCP option, there is a bit in
    this set.  The bit is set to 1 if any observed packet of this Flow
    contains the corresponding TCP option.  Otherwise, if no observed
    packet of this Flow contains the respective TCP option, the value
    of the corresponding bit is 0.</t>
          </dd>
          <dt/>
          <dd>
            <t>Options are mapped to bits according to their option numbers.
TCP option kind 0 corresponds to the least-significant bit
in the tcpOptionsFull IE while kind 255 corresponds to the most-significant bit of the IE. This approach allows
an observer to export any observed TCP option even if it does support
that option and without requiring updating a mapping table.</t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>unsigned256</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd>
            <t>flags</t>
          </dd>
          <dt>Additional Information:</dt>
          <dd>
            <t>See the assigned TCP option kinds at <xref target="IANA-TCP"/>.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="RFC9293"/> for the general definition of TCP options.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This-Document</t>
          </dd>
        </dl>
      </section>
      <section anchor="sec-ex">
        <name>tcpSharedOptionExID16 Information Element</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>tcpSharedOptionExID16</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD6</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>Any observed 2-byte Experiments IDs (ExIDs) in a shared
    TCP option (Kind=253 or 254)  in a Flow.  The information is encoded in a set of
    16-bit fields.  Each 16-bit field carries an observed 2-byte ExID in a
    shared 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 assigned ExIDs at <xref target="IANA-TCP-EXIDs"/>.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="RFC9293"/> for the general definition of TCP options.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="RFC6994"/> for the shared use of experimental TCP Options.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This-Document</t>
          </dd>
        </dl>
      </section>
      <section anchor="sec-ex32">
        <name>tcpSharedOptionExID32 Information Element</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>tcpSharedOptionExID32</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD7</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>Any observed  4-byte Experiments IDs (ExIDs) in a shared
TCP option (Kind=253 or 254)  in a Flow.  The information is encoded in a set of
32-bit fields. Each 32-bit field carries an observed 4-byte ExID in a
shared 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 assigned ExIDs at <xref target="IANA-TCP-EXIDs"/>.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="RFC9293"/> for the general definition of TCP options.</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="RFC6994"/> for the shared use of experimental TCP Options.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This-Document</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <section anchor="op-eh">
        <name>IPv6 Extension Headers</name>
        <t>The value of ipv6ExtensionHeadersFull and ipv6ExtensionHeaderCount IEs should be encoded in fewer octets as per the guidelines in <xref section="6.2" sectionFormat="of" target="RFC7011"/>.</t>
        <t>If an implementation determines that an observed packet of a Flow includes an extension header that it does not support, then the exact observed code of that extension header will be echoed in the ipv6ExtensionHeaderCount IE (<xref target="sec-v6count"/>). How an implementation disambiguates between unknown upper-layer protocols vs. extension headers is not IPFIX-specific. Readers may refer, for example, to <xref section="2.2" sectionFormat="of" target="RFC8883"/> for a behavior of an intermediate nodes that encounters an unknown Next Header type. It is out of the scope of this document to discuss those considerations.</t>
        <t>The ipv6ExtensionHeadersFull Information Element <bcp14>SHOULD NOT</bcp14> be exported if ipv6ExtensionHeaderCount Information Element is also present because of the overlapping scopes between these two IEs. If both IEs are present, then ipv6ExtensionHeaderCount Information Element takes precedence.</t>
        <t>The ipv6ExtensionHeadersLimit IE (<xref target="sec-v6limit"/>) may or may not be present when the ipv6ExtensionHeadersChainLength IE (<xref target="sec-v6aggr"/>) is also present as these IEs are targeting distinct properties of extension headers handling.</t>
      </section>
      <section anchor="op-tcp">
        <name>TCP Options</name>
        <t>The value of tcpOptionsFull IE should be encoded in fewer octets as per the guidelines in <xref section="6.2" sectionFormat="of" target="RFC7011"/>.</t>
        <t>Implementations of tcpSharedOptionExID16 and tcpSharedOptionExID32 IEs are assumed to be provided with a list of valid Experiment IDs <xref target="IANA-TCP-EXIDs"/>. How that list is maintained is implementation-specific. Absent that list, an implementation can't autonomously determine whether an ExID is present and, if so, whether it is 2- or 4-byte length.</t>
        <t>If a TCP Flow contains packets with a mix of 2-byte and 4-byte Experiment IDs, the same Template Record is used with both tcpSharedOptionExID16 and tcpSharedOptionExID32 IEs.</t>
      </section>
    </section>
    <section anchor="sec-examples">
      <name>Examples</name>
      <t>This section provides a few examples to illustrate the use of some IEs defined in this document.</t>
      <section anchor="ipv6-extension-headers">
        <name>IPv6 Extension Headers</name>
        <t><xref target="ex-eh1"/> provides an example of reported values in an ipv6ExtensionHeadersFull IE for an IPv6 Flow in which only
the     IPv6 Destination Options header is observed. One octet is sufficient to report these observed options. Concretely, the ipv6ExtensionHeadersFull IE will be set to 0x01.</t>
        <figure anchor="ex-eh1">
          <name>A First Example of Extension Headers</name>
          <artwork align="center"><![CDATA[
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|0|0|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t><xref target="ex-eh2"/> provides another example of reported values in an ipv6ExtensionHeadersFull IE for an IPv6 Flow in which
the     IPv6 Hop-by-Hop Options, Routing, and Destination Options headers are observed. One octet is sufficient to report these observed options. Concretely, the ipv6ExtensionHeadersFull IE will be set to 0x23.</t>
        <figure anchor="ex-eh2">
          <name>A Second Example of Extension Headers</name>
          <artwork align="center"><![CDATA[
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|1|0|0|0|1|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
      </section>
      <section anchor="tcp-options">
        <name>TCP Options</name>
        <t>Given TCP kind allocation practices and the option mapping defined in <xref target="sec-tcpfull"/>, fewer octets are likely to be used for
Flows with common TCP options.</t>
        <t><xref target="ex-tcp1"/> shows an example of reported values in a tcpOptionsFull IE for a TCP Flow in which End of Option List, Maximum Segment Size, and Window Scale options are observed. One octet is sufficient to report these observed options. Concretely, the tcpOptionsFull IE will be set to 0x0D.</t>
        <figure anchor="ex-tcp1">
          <name>First Example of TCP Options</name>
          <artwork align="center"><![CDATA[
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|1|1|0|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Let us consider a TCP Flow in which shared options with ExIDs 0x0348 (HOST_ID) <xref target="RFC7974"/>, 0x454E     (TCP-ENO) <xref target="RFC8547"/>, and 0xE2D4C3D9  (Shared Memory communications over RMDA protocol)       <xref target="RFC7609"/> are observed. As shown in <xref target="ex-tcp2"/>, two TCP shared IEs will be used to report these observed ExIDs:</t>
        <ol spacing="normal" type="1"><li>
            <t>The tcpSharedOptionExID16 IE set to 0x348454E to report observed 2-byte ExIDs:  HOST_ID and TCP-ENO ExIDs.</t>
          </li>
          <li>
            <t>The tcpSharedOptionExID32 IE set to 0xE2D4C3D9 to report the only observed 4-byte ExID.</t>
          </li>
        </ol>
        <figure anchor="ex-tcp2">
          <name>Example of TCP Shared IEs</name>
          <artwork align="center"><![CDATA[
tcpSharedOptionExID16 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              0x0348           |             0x454E            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

tcpSharedOptionExID32 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           0xE2D4C3D9                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>IPFIX security considerations are discussed in <xref section="11" sectionFormat="of" target="RFC7011"/>. This document does not add new security considerations for exporting IEs other than those already discussed in <xref section="8" sectionFormat="of" target="RFC7012"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="new-ipfix-information-elements">
        <name>New IPFIX Information Elements</name>
        <t>This document requests IANA to add the following new IPFIX 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">ipv6ExtensionHeadersFull</td>
              <td align="left">
                <xref target="sec-v6full"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD2</td>
              <td align="left">ipv6ExtensionHeaderCount</td>
              <td align="left">
                <xref target="sec-v6count"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD3</td>
              <td align="left">ipv6ExtensionHeadersLimit</td>
              <td align="left">
                <xref target="sec-v6limit"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD4</td>
              <td align="left">ipv6ExtensionHeadersChainLength</td>
              <td align="left">
                <xref target="sec-v6aggr"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD5</td>
              <td align="left">tcpOptionsFull</td>
              <td align="left">
                <xref target="sec-tcpfull"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD6</td>
              <td align="left">tcpSharedOptionExID16</td>
              <td align="left">
                <xref target="sec-ex"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD7</td>
              <td align="left">tcpSharedOptionExID32</td>
              <td align="left">
                <xref target="sec-ex32"/> of This-Document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="new-ipfix-information-element-data-type">
        <name>New 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>
          <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">TBD8</td>
              <td align="left">unsigned256</td>
              <td align="left">This-Document</td>
            </tr>
          </tbody>
        </table>
        <t>The type "unsigned256" represents a non-negative integer value in the
range of '0' to '2^256 - 1'.</t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative 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>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="IANA-EH" target="https://www.iana.org/assignments/ipv6-parameters/ipv6-parameters.xhtml#ipv6-parameters-1">
          <front>
            <title>Internet Protocol Version 6 (IPv6) Parameters, IPv6 Extension Header Types</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="IANA-TCP" target="https://www.iana.org/assignments/tcp-parameters/tcp-parameters.xhtml#tcp-parameters-1">
          <front>
            <title>Transmission Control Protocol (TCP) Parameters, TCP Option Kind Numbers</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="IANA-TCP-EXIDs" target="https://www.iana.org/assignments/tcp-parameters/tcp-parameters.xhtml#tcp-exids">
          <front>
            <title>Transmission Control Protocol (TCP) Parameters, TCP Experimental Option Experiment Identifiers (TCP ExIDs)</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <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="RFC8200">
          <front>
            <title>Internet Protocol, Version 6 (IPv6) Specification</title>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="July" year="2017"/>
            <abstract>
              <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="86"/>
          <seriesInfo name="RFC" value="8200"/>
          <seriesInfo name="DOI" value="10.17487/RFC8200"/>
        </reference>
        <reference anchor="RFC6994">
          <front>
            <title>Shared Use of Experimental TCP Options</title>
            <author fullname="J. Touch" initials="J." surname="Touch"/>
            <date month="August" year="2013"/>
            <abstract>
              <t>This document describes how the experimental TCP option codepoints can concurrently support multiple TCP extensions, even within the same connection, using a new IANA TCP experiment identifier. This approach is robust to experiments that are not registered and to those that do not use this sharing mechanism. It is recommended for all new TCP options that use these codepoints.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6994"/>
          <seriesInfo name="DOI" value="10.17487/RFC6994"/>
        </reference>
        <reference anchor="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>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8883">
          <front>
            <title>ICMPv6 Errors for Discarding Packets Due to Processing Limits</title>
            <author fullname="T. Herbert" initials="T." surname="Herbert"/>
            <date month="September" year="2020"/>
            <abstract>
              <t>Network nodes may discard packets if they are unable to process protocol headers of packets due to processing constraints or limits. When such packets are dropped, the sender receives no indication, so it cannot take action to address the cause of discarded packets. This specification defines several new ICMPv6 errors that can be sent by a node that discards packets because it is unable to process the protocol headers. A node that receives such an ICMPv6 error may use the information to diagnose packet loss and may modify what it sends in future packets to avoid subsequent packet discards.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8883"/>
          <seriesInfo name="DOI" value="10.17487/RFC8883"/>
        </reference>
        <reference anchor="I-D.ietf-opsawg-ipfix-fixes">
          <front>
            <title>Simple Fixes to the IP Flow Information Export (IPFIX) IANA Registry</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Huawei</organization>
            </author>
            <date day="15" month="January" year="2024"/>
            <abstract>
              <t>   This document provides simple fixes to the IANA IP Flow Information
   Export (IPFIX) registry.  Specifically, this document provides
   updates to fix a shortcoming in the description of some Information
   Elements (IE), updates to ensure a consistent structure when calling
   an existing IANA registry, and updates to fix broken pointers, orphan
   section references, etc.  The updates are also meant to bringing some
   consistency among the entries of the registry.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-ipfix-fixes-04"/>
        </reference>
        <reference anchor="RFC9098">
          <front>
            <title>Operational Implications of IPv6 Packets with Extension Headers</title>
            <author fullname="F. Gont" initials="F." surname="Gont"/>
            <author fullname="N. Hilliard" initials="N." surname="Hilliard"/>
            <author fullname="G. Doering" initials="G." surname="Doering"/>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="W. Liu" initials="W." surname="Liu"/>
            <date month="September" year="2021"/>
            <abstract>
              <t>This document summarizes the operational implications of IPv6 extension headers specified in the IPv6 protocol specification (RFC 8200) and attempts to analyze reasons why packets with IPv6 extension headers are often dropped in the public Internet.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9098"/>
          <seriesInfo name="DOI" value="10.17487/RFC9098"/>
        </reference>
        <reference anchor="RFC7974">
          <front>
            <title>An Experimental TCP Option for Host Identification</title>
            <author fullname="B. Williams" initials="B." surname="Williams"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <date month="October" year="2016"/>
            <abstract>
              <t>Recent RFCs have discussed issues with host identification in IP address-sharing systems, such as address/prefix-sharing devices and application-layer proxies. Potential solutions for revealing a host identifier in shared address deployments have also been discussed. This memo describes the design, deployment, and privacy considerations for one such solution in operational use on the Internet today that uses a TCP option to transmit a host identifier.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7974"/>
          <seriesInfo name="DOI" value="10.17487/RFC7974"/>
        </reference>
        <reference anchor="RFC8547">
          <front>
            <title>TCP-ENO: Encryption Negotiation Option</title>
            <author fullname="A. Bittau" initials="A." surname="Bittau"/>
            <author fullname="D. Giffin" initials="D." surname="Giffin"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="D. Mazieres" initials="D." surname="Mazieres"/>
            <author fullname="E. Smith" initials="E." surname="Smith"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>Despite growing adoption of TLS, a significant fraction of TCP traffic on the Internet remains unencrypted. The persistence of unencrypted traffic can be attributed to at least two factors. First, some legacy protocols lack a signaling mechanism (such as a STARTTLS command) by which to convey support for encryption, thus making incremental deployment impossible. Second, legacy applications themselves cannot always be upgraded and therefore require a way to implement encryption transparently entirely within the transport layer. The TCP Encryption Negotiation Option (TCP-ENO) addresses both of these problems through a new TCP option kind providing out-of-band, fully backward-compatible negotiation of encryption.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8547"/>
          <seriesInfo name="DOI" value="10.17487/RFC8547"/>
        </reference>
        <reference anchor="RFC7609">
          <front>
            <title>IBM's Shared Memory Communications over RDMA (SMC-R) Protocol</title>
            <author fullname="M. Fox" initials="M." surname="Fox"/>
            <author fullname="C. Kassimis" initials="C." surname="Kassimis"/>
            <author fullname="J. Stevens" initials="J." surname="Stevens"/>
            <date month="August" year="2015"/>
            <abstract>
              <t>This document describes IBM's Shared Memory Communications over RDMA (SMC-R) protocol. This protocol provides Remote Direct Memory Access (RDMA) communications to TCP endpoints in a manner that is transparent to socket applications. It further provides for dynamic discovery of partner RDMA capabilities and dynamic setup of RDMA connections, as well as transparent high availability and load balancing when redundant RDMA network paths are available. It maintains many of the traditional TCP/IP qualities of service such as filtering that enterprise users demand, as well as TCP socket semantics such as urgent data.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7609"/>
          <seriesInfo name="DOI" value="10.17487/RFC7609"/>
        </reference>
      </references>
    </references>
    <?line 518?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Paul Aitken and Eric Vyncke for the review and comments.</t>
      <t>Thanks to Wesley Eddy for the tsvart review, Yingzhen Qu for the opsdir review,
and Dirk Von Hugo for intdir review.</t>
      <t>Thanks to Thomas Graf for the Shepherd review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
