<?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.8 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-ipfix-tcpo-v6eh-11" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.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-11"/>
    <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="April" day="16"/>
    <area>Operations and Management</area>
    <workgroup>OPSAWG</workgroup>
    <keyword>IPFIX</keyword>
    <abstract>
      <?line 68?>

<t>This document specifies new IP Flow Information Export (IPFIX) Information Elements (IEs) to solve issues with existing ipv6ExtensionHeaders and tcpOptions IPFIX IEs, especially the ability to export any observed IPv6 extension headers or TCP options.</t>
    </abstract>
    <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 72?>

<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. For example, the ipv6ExtensionHeaders IE can't report some IPv6 EHs, specifically 139, 140, 253, and 254.</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"/>). Note that some implementations may not be able to export all observed extension headers in a Flow because of a hardware or software limit (see, e.g., <xref target="I-D.ietf-6man-eh-limits"/>). The specification of the ipv6ExtensionHeaders Information Element does not discuss whether it covers all enclosed extension headers or only up to a limit.</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>
          <li>
            <t>Specify how to report extension header chains or aggregate extension headers length.</t>
          </li>
        </ul>
        <t><xref target="sec-eh"/> addresses these issues. Also, ipv6ExtensionHeaders IPFIX IE is deprecated in favor of the new IEs defined in this document.</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 some 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 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. Also, tcpOptions IE is deprecated in favor of the new IEs defined in this document.</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>
      <section anchor="sec-v6ehtype">
        <name>ipv6ExtensionHeaderType Information Element</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>ipv6ExtensionHeaderType</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD1</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>Type of an IPv6 extension header observed in packets of this Flow.</t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>unsigned8</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd>
            <t>identifier</t>
          </dd>
          <dt>Additional Information:</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>
      </section>
      <section anchor="sec-v6ehcount">
        <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>The number of consecutive occurrences of a same extension header type in a Flow.</t>
          </dd>
          <dt/>
          <dd>
            <t>The type of the extension header is provided in the ipv6ExtensionHeaderType Information Element.</t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>unsigned8</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd>
            <t>totalCounter</t>
          </dd>
          <dt>Additional Information:</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>
      </section>
      <section anchor="sec-v6full">
        <name>ipv6ExtensionHeadersFull Information Element</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>ipv6ExtensionHeadersFull</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD3</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 (<xref target="sec-iana-eh"/>).</t>
          </li>
        </ul>
      </section>
      <section anchor="sec-v6count">
        <name>ipv6ExtensionHeaderTypeCountList Information Element</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>ipv6ExtensionHeaderTypeCountList</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD4</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>This Information Element is a subTemplateList of ipv6ExtensionHeaderType and ipv6ExtensionHeaderCount Information Elements.</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  IE.</t>
          </dd>
          <dt/>
          <dd>
            <t>The same extension header type may appear several times in an ipv6ExtensionHeaderTypeCountList 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 ipv6ExtensionHeaderTypeCountList Information Element will report:</t>
            <ul spacing="normal">
              <li>
                <t>the count of Hop-by-Hop Options header,</t>
              </li>
              <li>
                <t>the occurrences of the Destination Options header that are observed before the Fragment header,</t>
              </li>
              <li>
                <t>the occurrences of the Fragment header, and</t>
              </li>
              <li>
                <t>the occurrences of the Destination Options header that are observed right after the Fragment header.</t>
              </li>
            </ul>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>subTemplateList</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd>
            <t>list</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>TBD5</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 ipv6ExtensionHeaderTypeCountList) 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>TBD6</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 might 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>
      <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>TBD7</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>TBD8</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>TBD9</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 IE 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 ipv6ExtensionHeaderTypeCountList 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 node 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 ipv6ExtensionHeaderTypeCountList Information Element is also present because of the overlapping scopes between these two IEs. If both IEs are present, then ipv6ExtensionHeaderTypeCountList 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. The bits are set following the table provided in <xref target="sec-initial"/>.</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>An 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"/>.</t>
      <t>ipv6ExtensionHeadersChainLength and ipv6ExtensionHeadersLimit IEs can be exploited by an unauthorized observer as a means to deduce the processing capabilities of nodes. <xref section="8" sectionFormat="of" target="RFC7012"/> discusses the required measures to guarantee the integrity and confidentiality of the exported information.</t>
      <t>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="deprecate-ipv6extensionheaders-and-tcpoptions-information-elements">
        <name>Deprecate ipv6ExtensionHeaders and tcpOptions Information Elements</name>
        <t>This document requests IANA to update the "IPFIX Information Elements" registry under the "IP Flow Information Export (IPFIX) Entities" registry group <xref target="IANA-IPFIX"/> as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Update the ipv6ExtensionHeaders IE (64) entry by marking it as deprecated in favor of the ipv6ExtensionHeadersFull IE defined in this document. This note should also be echoed in the "Additional Information" of this IE.</t>
          </li>
          <li>
            <t>Update the tcpOptions IE (209) entry by marking it as deprecated in favor of the tcpOptionsFull IE defined in this document. This note should also be echoed in the "Additional Information" of this IE.</t>
          </li>
        </ul>
        <t>IANA is also requested to update the reference of ipv6ExtensionHeaders IE (64) and tcpOptions IE (209) to point to this document.</t>
      </section>
      <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 anchor="iana-new-ies">
          <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">ipv6ExtensionHeader</td>
              <td align="left">
                <xref target="sec-v6ehtype"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD2</td>
              <td align="left">ipv6ExtensionHeaderCount</td>
              <td align="left">
                <xref target="sec-v6ehcount"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD3</td>
              <td align="left">ipv6ExtensionHeadersFull</td>
              <td align="left">
                <xref target="sec-v6full"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD4</td>
              <td align="left">ipv6ExtensionHeaderTypeCountList</td>
              <td align="left">
                <xref target="sec-v6count"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD5</td>
              <td align="left">ipv6ExtensionHeadersLimit</td>
              <td align="left">
                <xref target="sec-v6limit"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD6</td>
              <td align="left">ipv6ExtensionHeadersChainLength</td>
              <td align="left">
                <xref target="sec-v6aggr"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD7</td>
              <td align="left">tcpOptionsFull</td>
              <td align="left">
                <xref target="sec-tcpfull"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD8</td>
              <td align="left">tcpSharedOptionExID16</td>
              <td align="left">
                <xref target="sec-ex"/> of This-Document</td>
            </tr>
            <tr>
              <td align="left">TBD9</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 anchor="iana-new-dt">
          <name>New IPFIX Information Element Data Type</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD10</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'. This type <bcp14>MUST</bcp14> be encoded per <xref section="6.1.1" sectionFormat="of" target="RFC7011"/>. Reduced-Size encoding (<xref section="6.2" sectionFormat="of" target="RFC7011"/>) applies to this data type.</t>
      </section>
      <section anchor="sec-iana-eh">
        <name>IPFIX Subregistry for IPv6 Extension Headers</name>
        <t>This document requests IANA to create a new registry entitled "ipv6ExtensionHeaders Bits" under the IANA IPFIX registry group <xref target="IANA-IPFIX"/>.</t>
        <t>When a new code is assigned to an IPv6 EH in <xref target="IANA-EH"/>, the next available free bit is selected by IANA for this EH from "ipv6ExtensionHeaders Bits" registry and the registry is updated with the details that mirror the assigned EH. The "Label" mirrors the "keyword" of an EH as indicated in <xref target="IANA-Protocols"/>, while the "Protocol Number" mirrors the "Protocol Number" in <xref target="IANA-EH"/>. IANA is requested to add the following note to <xref target="IANA-EH"/>:</t>
        <ul empty="true">
          <li>
            <dl>
              <dt>Note:</dt>
              <dd>
                <t>When a new code is assigned to an IPv6 Extension Header, the next available free bit in [NEW_IPFIX_IPv6EH_SUBREGISTRY] is selected for this new Extension Header. [NEW_IPFIX_IPv6EH_SUBREGISTRY] is updated accordingly. Modifications to existing registrations must be mirrored in [NEW_IPFIX_IPv6EH_SUBREGISTRY].</t>
              </dd>
            </dl>
          </li>
        </ul>
        <ul empty="true">
          <li>
            <t>Note to the RFC Editor: Please replace [NEW_IPFIX_IPv6EH_SUBREGISTRY] with the link used by IANA for this new registry.</t>
          </li>
        </ul>
        <t>Otherwise, the registration policy for the registry is Expert Review (<xref section="4.5" sectionFormat="of" target="RFC8126"/>). See more details in <xref target="sec-de"/>.</t>
        <section anchor="sec-initial">
          <name>Initial Values</name>
          <t>The initial values of this registry are provided in <xref target="iana-new-eh"/>.</t>
          <table anchor="iana-new-eh">
            <name>Initial Values of the IPv6 Extension Headers IPFIX Subregistry</name>
            <thead>
              <tr>
                <th align="left">Bit</th>
                <th align="left">Label</th>
                <th align="left">Protocol Number</th>
                <th align="left">Description</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">0</td>
                <td align="left">DST</td>
                <td align="left">60</td>
                <td align="left">Destination Options for IPv6</td>
                <td align="left">This-Document</td>
              </tr>
              <tr>
                <td align="left">1</td>
                <td align="left">HOP</td>
                <td align="left">0</td>
                <td align="left">Pv6 Hop-by-Hop Options</td>
                <td align="left">This-Document</td>
              </tr>
              <tr>
                <td align="left">2</td>
                <td align="left">NoNxt</td>
                <td align="left">59</td>
                <td align="left">No Next Header for IPv6</td>
                <td align="left">This-Document</td>
              </tr>
              <tr>
                <td align="left">3</td>
                <td align="left">UNK</td>
                <td align="left"> </td>
                <td align="left">Unknown Layer 4 header (compressed, encrypted, not supported)</td>
                <td align="left">This-Document</td>
              </tr>
              <tr>
                <td align="left">4</td>
                <td align="left">FRA0</td>
                <td align="left">44</td>
                <td align="left">Fragment header - first fragment</td>
                <td align="left">This-Document</td>
              </tr>
              <tr>
                <td align="left">5</td>
                <td align="left">RH</td>
                <td align="left">43</td>
                <td align="left">Routing header</td>
                <td align="left">This-Document</td>
              </tr>
              <tr>
                <td align="left">6</td>
                <td align="left">FRA1</td>
                <td align="left">44</td>
                <td align="left">Fragmentation header - not first fragment</td>
                <td align="left">This-Document</td>
              </tr>
              <tr>
                <td align="left">7 to 11</td>
                <td align="left"> </td>
                <td align="left"> </td>
                <td align="left">Unassigned</td>
                <td align="left"> </td>
              </tr>
              <tr>
                <td align="left">12</td>
                <td align="left">MOB</td>
                <td align="left">135</td>
                <td align="left">Mobility Header</td>
                <td align="left">This-Document</td>
              </tr>
              <tr>
                <td align="left">13</td>
                <td align="left">ESP</td>
                <td align="left">50</td>
                <td align="left">Encapsulating Security Payload</td>
                <td align="left">This-Document</td>
              </tr>
              <tr>
                <td align="left">14</td>
                <td align="left">AH</td>
                <td align="left">51</td>
                <td align="left">Authentication Header</td>
                <td align="left">This-Document</td>
              </tr>
              <tr>
                <td align="left">15</td>
                <td align="left"> </td>
                <td align="left"> </td>
                <td align="left">Unassigned</td>
                <td align="left"> </td>
              </tr>
              <tr>
                <td align="left">16</td>
                <td align="left">HIP</td>
                <td align="left">139</td>
                <td align="left">Host Identity Protocol</td>
                <td align="left">This-Document</td>
              </tr>
              <tr>
                <td align="left">17</td>
                <td align="left">SHIM6</td>
                <td align="left">140</td>
                <td align="left">Shim6 Protocol</td>
                <td align="left">This-Document</td>
              </tr>
              <tr>
                <td align="left">18</td>
                <td align="left"> </td>
                <td align="left">253</td>
                <td align="left">Use for experimentation and testing</td>
                <td align="left">This-Document</td>
              </tr>
              <tr>
                <td align="left">19</td>
                <td align="left"> </td>
                <td align="left">254</td>
                <td align="left">Use for experimentation and testing</td>
                <td align="left">This-Document</td>
              </tr>
              <tr>
                <td align="left">20 to 255</td>
                <td align="left"> </td>
                <td align="left"> </td>
                <td align="left">Unassigned</td>
                <td align="left"> </td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="sec-de">
          <name>Guidelines for the Designated Experts</name>
          <t>It is suggested that multiple designated experts be appointed for registry change requests.</t>
          <t>Criteria that should be applied by the designated experts include determining whether the proposed registration duplicates existing entries and whether the registration description is clear and fits the purpose of this registry.</t>
          <t>Within the review period, the designated experts will either approve or deny the registration request, communicating this decision to the IANA. Denials should include an explanation and, if applicable, suggestions as to how to make the request successful.</t>
        </section>
      </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="IANA-Protocols" target="https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml">
          <front>
            <title>Protocol Numbers</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>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </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-6man-eh-limits">
          <front>
            <title>Limits on Sending and Processing IPv6 Extension Headers</title>
            <author fullname="Tom Herbert" initials="T." surname="Herbert">
              <organization>SiPanda</organization>
            </author>
            <date day="18" month="December" year="2023"/>
            <abstract>
              <t>   This specification defines various limits that may be applied to
   receiving, sending, and otherwise processing packets that contain
   IPv6 extension headers.  The need for such limits is pragmatic to
   facilitate interoperability amongst hosts and routers in the presence
   of extension headers, thereby increasing the feasibility of
   deployment of extension headers.  The limits described herein
   establish the minimum baseline of support for use of extension
   headers on the Internet.  If it is known that all communicating
   parties for a particular communication, including destination hosts
   and any routers in the path, are capable of supporting more than the
   baseline then these default limits may be freely exceeded.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-6man-eh-limits-12"/>
        </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 632?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Paul Aitken and Eric Vyncke for the review and comments. Special thanks to Andrew Feren for sharing data about scans of IPFIX data he collected.</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>
      <t>Thanks to Mahesh Jethanandani for the AD review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
yakd8T8OYYuuSm8AAA==

-->

</rfc>
