<?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.1 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-ipfix-tcpo-v6eh-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <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-05"/>
    <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="2023" month="October" 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) 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. 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 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 occurences 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 no 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 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 target="I-D.ietf-opsawg-ipfix-fixes"/> to address some of the issues listed in <xref target="sec-eh-issues"/>. Because some of these limitations can't be addressed by simple updates to ipv6ExtensionHeaders, this section specifies a set of new IEs to address all the ipv6ExtensionHeaders IE limitations.</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
contained 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 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
may be aggregated in one single ipv6ExtensionHeadersFull Information Element or
be exported in separate ipv6ExtensionHeadersFull IEs, one for each extension header chain.</t>
          </dd>
          <dt/>
          <dd>
            <t>This Information Element <bcp14>SHOULD NOT</bcp14> be exported if ipv6ExtensionHeaderCount Information Element is also present.</t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>unsigned</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 in
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>unsigned</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 headerss.</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 can't 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 contained 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>unsigned</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>Observed 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>Observed 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 it includes an extension header that it does no 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 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>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 few examples to illustrate the use of some IEs defined in the 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 1.</t>
        <figure anchor="ex-eh1">
          <name>A First Example of Extension Headers</name>
          <artwork align="center"><![CDATA[
MSB                                                        LSB
                     1                   2     ...25
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 ... 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|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 35.</t>
        <figure anchor="ex-eh2">
          <name>A Second Example of Extension Headers</name>
          <artwork align="center"><![CDATA[
MSB                                                        LSB
                     1                   2     ...25
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 ... 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|   |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 octers 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 13.</t>
        <figure anchor="ex-tcp1">
          <name>First Example of TCP Options</name>
          <artwork align="center"><![CDATA[
MSB                                                        LSB
                     1                   2     ...25
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 ... 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|1|0|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+
]]></artwork>
        </figure>
        <t>Let's 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 55067982 (i.e., 0x348454E) to report observed 2-byte ExIDs:  HOST_ID and TCP-ENO ExIDs.</t>
          </li>
          <li>
            <t>The tcpSharedOptionExID32 IE set to 3805594585 (i.e., 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>
      <t>This document requests IANA to add the following new IPFIX IEs to the IANA IPFIX registry <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>
  </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="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="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="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="17" month="October" year="2023"/>
            <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-03"/>
        </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 503?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Paul Aitken and Eric Vyncke for the review and comments.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
mDZKLGjsCG9jDIRgQfT/DxqCIrVKUQAA

-->

</rfc>
