<?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.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-claise-opsawg-ipfix-ordered-ie-00" category="std" consensus="true" submissionType="IETF" updates="7011, 5476, 6183" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="IPFIX Ordered IE">Ordered Information Element Export in IP Flow Information Export (IPFIX)</title>
    <seriesInfo name="Internet-Draft" value="draft-claise-opsawg-ipfix-ordered-ie-00"/>
    <author fullname="Benoit Claise">
      <organization>Everything OPS &amp; Arrcus</organization>
      <address>
        <email>benoit@everything-ops.net</email>
      </address>
    </author>
    <author fullname="Paul Aitken">
      <organization>Ciena</organization>
      <address>
        <email>paitken@ciena.com</email>
      </address>
    </author>
    <author fullname="Holger Keller">
      <organization>Deutsche Telekom</organization>
      <address>
        <email>holger.keller@telekom.de</email>
      </address>
    </author>
    <author fullname="Yao Liu">
      <organization>ZTE Corporation</organization>
      <address>
        <email>liu.yao71@zte.com.cn</email>
      </address>
    </author>
    <date year="2026" month="June" day="23"/>
    <area>Operations and Management</area>
    <workgroup>OPSAWG</workgroup>
    <keyword>IPFIX</keyword>
    <keyword>ordered</keyword>
    <keyword>encapsulation</keyword>
    <keyword>MPLS</keyword>
    <keyword>label stack</keyword>
    <keyword>tunneling</keyword>
    <abstract>
      <?line 83?>

<t>The IP Flow Information Export (IPFIX) protocol allows the same
Information Element to appear multiple times in a Template Record.
RFC 7011 states that multiple occurrences of the same Information
Element SHOULD follow the logical order of their treatments by the
Metering Process; however, no protocol mechanism exists for the
Exporting Process to explicitly signal to the Collecting Process that
this ordering is guaranteed.  Without such a guarantee, the Collecting
Process cannot safely interpret repeated Information Elements as ordered
observations.  This document describes the problem, presents use cases,
analyzes candidate solutions, and specifies a mechanism -- a new Ordered
Set type -- that establishes an end-to-end ordering guarantee: the
Metering Process records repeated Information Element values in the order
the corresponding observations are made, the Exporting Process preserves
and signals this guarantee, and the Collecting Process interprets the
n-th occurrence of an Information Element as corresponding to the n-th
observation by the Metering Process at the Observation Point.
This document updates RFC 7011, RFC 5476, and RFC 6183.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-claise-opsawg-ipfix-ordered-ie/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 103?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The IPFIX protocol <xref target="RFC7011"/> ("Specification of the IP Flow
Information Export (IPFIX) Protocol for the Exchange of Flow
Information") exports Flow information from an Exporting Process to one
or more Collecting Processes.  An (Options) Template Record defines the structure of a Data Record by
specifying an ordered list of Information Elements.</t>
      <t>When the same Information Element appears more than once in a Template
Record, Section 8 of <xref target="RFC7011"/> states:</t>
      <ul empty="true">
        <li>
          <t>If an Information Element is required more than once in a Template,
the different occurrences of this Information Element SHOULD follow
the logical order of their treatments by the Metering Process.</t>
        </li>
      </ul>
      <t>The use of SHOULD rather than MUST means that an Exporting Process is
not required to guarantee this ordering.  Furthermore, Section 4.2 and
Section 4.3 of <xref target="RFC7011"/> each explicitly state that "the order of the
Information Elements in the Template Records is not guaranteed."
Nevertheless, the Metering Process SHOULD record repeated Information
Element values in the order in which the corresponding observations
are made, as this is the natural basis for any ordering guarantee.</t>
      <t>It is important to note that IPFIX is fundamentally an export protocol:
<xref target="RFC7011"/> defines the behavior of the Exporting Process and the
Collecting Process in detail, but places very few normative constraints
on the Metering Process.  The IPFIX architecture <xref target="RFC5470"/> ("Architecture for IP Flow
Information Export") explicitly scopes IPFIX as governing "the export of measured IP Flow information
from an IPFIX Exporting Process to a Collecting Process" and defines the
Metering Process as an internal component of the IPFIX Device -- alongside the Exporting Process, but not a protocol peer (see Figure 2
of <xref target="RFC5470"/>).  An end-to-end ordering guarantee requires that all
three components act consistently: the Metering Process records values
in the order in which they are observed at the Observation Point, the
Exporting Process preserves that order during export, and the Collecting
Process interprets the received ordering accordingly.</t>
      <t>There is consequently no IPFIX protocol mechanism by which the Exporting
Process can signal to the Collecting Process that the ordering of
repeated Information Elements is guaranteed to reflect the Metering
Process observation order -- even when the Metering Process correctly
records those observations in order.  Without such a signal, a
Collecting Process cannot safely interpret the n-th occurrence of an
Information Element as corresponding to the n-th observation made by
the Metering Process at the Observation Point.</t>
      <t>This limitation has several practical consequences, of which the
following are the most prominent:</t>
      <ol spacing="normal" type="1"><li>
          <t>Information Element Proliferation: position-specific Information
Elements accumulate in the IANA IPFIX registry to work around the
missing ordering guarantee (see <xref target="ie-proliferation"/>).</t>
        </li>
        <li>
          <t>Multi-Layer Encapsulation Ambiguity: without an ordering
guarantee, the Collecting Process cannot determine which encapsulation
layer a given Information Element occurrence corresponds to
(see <xref target="ml-ambiguity"/>).</t>
        </li>
      </ol>
      <t>The ordering problem also arises in the Packet Sampling (PSAMP)
protocol family <xref target="RFC5474"/> <xref target="RFC5475"/> <xref target="RFC5476"/>, which uses IPFIX
as its export protocol and relies on IPFIX IEs to describe packet
selection and observation metadata.  PSAMP defines a Composite Selector as an
ordered sequence of Primitive Selectors applied in succession to a
Packet Stream.  Section 6.5.1 of <xref target="RFC5476"/> already requires that
selectorId Information Elements in the Selection Sequence Report
Options Template MUST be listed in the order the corresponding
Primitive Selectors are applied -- making the ordering requirement
for Options Template Records older than this document.  However, this
requirement cannot be enforced at the IPFIX protocol level: the Options
Template Set (Set ID 3) of <xref target="RFC7011"/> provides no mechanism for the
Exporting Process to signal to the Collecting Process that the ordering
of repeated selectorId occurrences is guaranteed.  The Ordered Options
Template Set (Set ID 5) defined in this document closes this gap.</t>
      <t><xref target="RFC6313"/> ("Export of Structured Data in IP Flow Information Export
(IPFIX)") has sometimes been cited as a solution to this problem,
through the "ordered" semantic defined for its basicList and
subTemplateMultiList structured data types.  However, as analyzed in
detail in <xref target="rfc6313-analysis"/>, the <xref target="RFC6313"/> "ordered" semantic is an export
ordering guarantee only -- it does not assert that the order reflects the
Metering Process observation order at the Observation Point.
Furthermore, <xref target="RFC6313"/> structured data still falls under the SHOULD of
Section 8 of <xref target="RFC7011"/> and does not upgrade it to a MUST.
<xref target="RFC6313"/> therefore does not solve the problem described in this
document.</t>
      <t>This document specifies a mechanism to address these use cases by
providing an explicit ordering guarantee for repeated Information
Elements in an IPFIX (Options) Template Record.  The scope of this document is deliberately
limited to this specific problem.  Other potential IPFIX improvements are
explicitly out of scope.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" 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>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>This document uses the IPFIX-specific terminology defined in <xref target="RFC7011"/>,
the PSAMP-specific terminology defined in <xref target="RFC5476"/>, and the IPFIX
Mediation terminology defined in <xref target="RFC6183"/>.  As in <xref target="RFC7011"/>, the
first letter of each IPFIX-specific term is capitalized.</t>
        <t>The following terms are used as defined in <xref target="RFC7011"/>:</t>
        <dl>
          <dt>Collecting Process:</dt>
          <dd>
            <t>The process in a Collector that receives and processes IPFIX Messages.</t>
          </dd>
          <dt>Data Record:</dt>
          <dd>
            <t>A record that contains values of the parameters corresponding to a
Template Record.</t>
          </dd>
          <dt>Data Set:</dt>
          <dd>
            <t>A Set that contains one or more Data Records defined by the same
Template Record.</t>
          </dd>
          <dt>Exporting Process:</dt>
          <dd>
            <t>The process in an Exporter that sends IPFIX Messages to a Collecting
Process.</t>
          </dd>
          <dt>Flow Record:</dt>
          <dd>
            <t>A record that contains information about a specific Flow.</t>
          </dd>
          <dt>Information Element:</dt>
          <dd>
            <t>A protocol-independent description of an attribute that has been
observed or metered.</t>
          </dd>
          <dt>Metering Process:</dt>
          <dd>
            <t>The process that generates Flow Records from packet observations at
an Observation Point.</t>
          </dd>
          <dt>Observation Domain:</dt>
          <dd>
            <t>The largest set of Observation Points for which Flow information can
be aggregated by a Metering Process.</t>
          </dd>
          <dt>Observation Point:</dt>
          <dd>
            <t>A location in the network where IP packets can be observed.</t>
          </dd>
          <dt>Options Template Record:</dt>
          <dd>
            <t>A Template Record that defines the structure of an Options Data
Record.</t>
          </dd>
          <dt>Options Template Set:</dt>
          <dd>
            <t>A collection of one or more Options Template Records that have been
grouped together in an IPFIX Message.</t>
          </dd>
          <dt>Set:</dt>
          <dd>
            <t>A collection of records that have a similar structure, prefixed by
a header.</t>
          </dd>
          <dt>Template Record:</dt>
          <dd>
            <t>A record that defines the structure of a Data Record.</t>
          </dd>
          <dt>Template Set:</dt>
          <dd>
            <t>A collection of one or more Template Records that have been grouped
together in an IPFIX Message.</t>
          </dd>
          <dt>Transport Session:</dt>
          <dd>
            <t>In SCTP, the Transport Session is the SCTP association.  In TCP,
the Transport Session is the TCP connection.  In UDP, the Transport
Session is the UDP session, uniquely identified by the combination
of IP addresses and UDP ports used.</t>
          </dd>
        </dl>
        <t>Note: A Flow Record is a specific type of Data Record.  Options Data
Records, which carry metadata rather than Flow measurements, are also
Data Records but not Flow Records.</t>
        <t>The following term is modified from <xref target="RFC7011"/>:</t>
        <dl>
          <dt>Set ID:</dt>
          <dd>
            <t>A field in the Set header that identifies the Set type.  Value 2
identifies a Template Set, value 3 an Options Template Set, values
4 and 5 identify Ordered Template Sets and Ordered Options Template
Sets respectively as defined in this document, and values 256 and
above identify Data Sets.  Values 6-255 are reserved for future use.</t>
          </dd>
        </dl>
        <t>The following terms are used as defined in <xref target="RFC5476"/>:</t>
        <dl>
          <dt>Composite Selector:</dt>
          <dd>
            <t>An ordered composition of Selectors, in which the output Packet
Stream issuing from one Selector forms the input Packet Stream to
the succeeding Selector.</t>
          </dd>
          <dt>Primitive Selector:</dt>
          <dd>
            <t>A Selector that applies exactly one selection method and is the
elemental component of a Composite Selector.</t>
          </dd>
          <dt>Selection Sequence:</dt>
          <dd>
            <t>A specific combination of an Observation Point and a Composite
Selector, identified by a selectionSequenceId Information Element.</t>
          </dd>
        </dl>
        <t>The following term is used as defined in <xref target="RFC6183"/>:</t>
        <dl>
          <dt>IPFIX Mediator:</dt>
          <dd>
            <t>An IPFIX Device that receives IPFIX Messages from one or more
Exporting Processes or other IPFIX Mediators, optionally transforms
them through one or more Intermediate Processes, and forwards the
results to one or more Collecting Processes.</t>
          </dd>
        </dl>
        <t>The following new terms are defined in this document:</t>
        <dl>
          <dt>Ordered Template Set:</dt>
          <dd>
            <t>A Set with Set ID 4 that carries Ordered Template Records.  It uses
the same wire format as the Template Set (Set ID 2) defined in
<xref target="RFC7011"/>, with the addition that the ordering of repeated
Information Elements in the corresponding Data Records is guaranteed
to reflect the Metering Process observation order at the Observation
Point.</t>
          </dd>
          <dt>Ordered Options Template Set:</dt>
          <dd>
            <t>A Set with Set ID 5 that carries Ordered Options Template Records.
It uses the same wire format as the Options Template Set (Set ID 3)
defined in <xref target="RFC7011"/>, with the same ordering guarantee as an
Ordered Template Set.</t>
          </dd>
          <dt>Ordered Template Record:</dt>
          <dd>
            <t>A Template Record transmitted in an Ordered Template Set (Set ID 4).
The order of Information Elements in an Ordered Template Record is
significant: when the same Information Element appears more than once,
its occurrences MUST reflect the order in which the corresponding
values are observed by the Metering Process at the Observation Point.</t>
          </dd>
          <dt>Ordered Options Template Record:</dt>
          <dd>
            <t>An Options Template Record transmitted in an Ordered Options Template
Set (Set ID 5), with the same ordering guarantee as an Ordered
Template Record.</t>
          </dd>
          <dt>Ordered Data Set:</dt>
          <dd>
            <t>A Data Set whose Template ID refers to an Ordered Template Record or
an Ordered Options Template Record.  The ordering of fields in each
Data Record within the Set reflects the Metering Process observation
order.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="problem-statement-use-cases">
      <name>Problem Statement &amp; Use Cases</name>
      <section anchor="the-ordering-ambiguity">
        <name>The Ordering Ambiguity</name>
        <t>The IPFIX protocol allows any Information Element to appear multiple
times in a Template Record.  Section 8 of <xref target="RFC7011"/> provides the
following guidance and example:</t>
        <ul empty="true">
          <li>
            <t>If an Information Element is required more than once in a Template,
the different occurrences of this Information Element SHOULD follow
the logical order of their treatments by the Metering Process.  For
example, when exporting the two source IP addresses of an
IPv4-in-IPv4 packet, the first sourceIPv4Address Information Element
occurrence should be the IPv4 address of the outer header, while the
second occurrence should be the address of the inner header.</t>
          </li>
        </ul>
        <t>The use of SHOULD rather than MUST means that a conformant Exporting
Process is not required to respect this ordering.  Even when the
Exporting Process does follow the ordering by convention, there is no
protocol field by which it can communicate this intent to the Collecting
Process.</t>
        <t>Furthermore, the ordering of Information Elements may be affected by
optimizations within the Metering Process itself (for example, software
that processes packet headers from different encapsulation layers in
parallel rather than in strict observation order) or by optimizations
that intervene between the Metering Process and the Exporting Process.
Section 2.2 ("IPFIX Limitations") of <xref target="RFC6313"/> notes that "some
encoding optimizations are based on the permutation of Information
Element order", which conflicts with any strict ordering requirement
applied universally to all existing IPFIX Sets.</t>
      </section>
      <section anchor="ie-proliferation">
        <name>Information Element Proliferation</name>
        <t>The absence of an ordering guarantee has led implementors to define
position-specific Information Elements, effectively polluting the IANA
IPFIX registry <xref target="IANA.IPFIX"/> with entries that exist solely to work
around the lack of an ordering mechanism.  The MPLS label stack is the
most prominent example.  Rather than using a single
mplsLabelStackSection (IPFIX IE TBD1) Information Element appearing multiple times in
ordered fashion, the IPFIX Information Elements registry <xref target="RFC7012"/> ("Information
Model for IP Flow Information Export (IPFIX)") defines ten separate
Information Elements:</t>
        <ul spacing="normal">
          <li>
            <t>mplsTopLabelStackSection (IPFIX IE 70)</t>
          </li>
          <li>
            <t>mplsLabelStackSection2 (IPFIX IE 71)</t>
          </li>
          <li>
            <t>mplsLabelStackSection3 (IPFIX IE 72)</t>
          </li>
          <li>
            <t>mplsLabelStackSection4 (IPFIX IE 73)</t>
          </li>
          <li>
            <t>mplsLabelStackSection5 (IPFIX IE 74)</t>
          </li>
          <li>
            <t>mplsLabelStackSection6 (IPFIX IE 75)</t>
          </li>
          <li>
            <t>mplsLabelStackSection7 (IPFIX IE 76)</t>
          </li>
          <li>
            <t>mplsLabelStackSection8 (IPFIX IE 77)</t>
          </li>
          <li>
            <t>mplsLabelStackSection9 (IPFIX IE 78)</t>
          </li>
          <li>
            <t>mplsLabelStackSection10 (IPFIX IE 79)</t>
          </li>
        </ul>
        <t>This approach has some drawbacks:</t>
        <ul spacing="normal">
          <li>
            <t>It consumes ten Information Element identifiers where one could suffice.</t>
          </li>
          <li>
            <t>It artificially limits the exportable label stack depth to ten entries.</t>
          </li>
          <li>
            <t>It cannot be generalized to other stacked or layered structures without
defining further sets of numbered Information Elements.</t>
          </li>
        </ul>
        <t>The same pattern extends beyond the label stack entries.  A cluster of
Information Elements exists for attributes of the top-of-stack label
only: mplsTopLabelType (IPFIX IE 46), mplsTopLabelIPv4Address (IPFIX IE 47),
mplsTopLabelPrefixLength (IPFIX IE 91), mplsTopLabelIPv6Address (IPFIX IE 140),
mplsTopLabelTTL (IPFIX IE 200), mplsTopLabelExp (IPFIX IE 203), and
postMplsTopLabelExp (IPFIX IE 237).  These exist because no general mechanism
allows expressing "the attribute of the label at stack position N."
With ordered export, a single repeated Information Element per attribute
would suffice.</t>
        <t>A Metering Process observing MPLS traffic may observe a label stack of
arbitrary depth.  An operator may wish to export the entire label stack
as a sequence of mplsLabelStackSection values, where the first occurrence
corresponds to the top of the stack, the second to the next label, and so
on.</t>
        <t>With the mechanism specified in this document, the Exporting Process can
use a single mplsLabelStackSection Information Element repeated N times
in an Ordered Template Record and signal that the sequence reflects the
top-to-bottom order of the label stack as observed by the Metering
Process.  This eliminates the need for the ten numbered label-stack
Information Elements.  Since N is a free parameter determined by the
Exporting Process, label stacks of depth greater than ten can be exported
in full.  This lifts the artificial cap inherent in the positional naming
scheme.</t>
      </section>
      <section anchor="ordering-ambiguity-in-psamp-options-template-records">
        <name>Ordering Ambiguity in PSAMP Options Template Records</name>
        <t>The ordering requirement extends beyond Template Records: it also applies
to Options Template Records used by the Packet Sampling (PSAMP) protocol
<xref target="RFC5474"/> ("A Framework for Packet Selection and Reporting")
<xref target="RFC5475"/> ("Sampling and Filtering Techniques for IP Packet
Selection") <xref target="RFC5476"/> ("Packet Sampling (PSAMP) Protocol
Specifications").  This is the primary use case for
the Ordered Options Template Set (Set ID 5) specified in this document.</t>
        <t>PSAMP defines a Composite Selector as "an ordered composition of
Selectors, in which the output Packet Stream issuing from one Selector
forms the input Packet Stream to the succeeding Selector"
(<xref target="RFC5476"/>).  The word "ordered"
in the definition is architecturally significant: a Composite Selector
is a sequence, not a set.</t>
        <t>The ordering matters semantically.  Section 8.1 of <xref target="RFC5475"/> demonstrates
that filtering followed by sampling and sampling followed by filtering
produce different statistical results:</t>
        <ul spacing="normal">
          <li>
            <t>Filter then Sample: the filter creates population subsets with
potentially different intensities, allowing the sampling rate to be
tuned per subset.  Packets not matching the filter never load the
Sampling function.</t>
          </li>
          <li>
            <t>Sample then Filter: the same sampling rate is applied to the
entire stream before filtering; packets ultimately discarded by the
filter still consume sampling capacity.</t>
          </li>
        </ul>
        <t>A Composite Selector is exported using the Selection Sequence Report
Options Template defined in Section 6.5.1 of <xref target="RFC5476"/>.  When the
Selection Sequence consists of multiple Primitive Selectors, the
selectorId Information Element appears once per Primitive Selector in
the same Options Template Record.  Section 6.5.1 of <xref target="RFC5476"/> is
explicit:</t>
        <ul empty="true">
          <li>
            <t>"the selectorId's MUST be identified in the order they are used."</t>
          </li>
        </ul>
        <t>Section 6.5.1 of <xref target="RFC5476"/> illustrates this with a concrete example:
Selection Sequence 7 (Filter selectorId 5, then Sampler selectorId 10)
and Selection Sequence 9 (Sampler selectorId 10, then Filter selectorId
5) are distinct, produce different results, and are differentiated
solely by the order of the two selectorId occurrences in the Options
Template Record.</t>
        <t>RFC 5476 therefore already requires ordered Options Template Records,
and a PSAMP-aware Collecting Process can infer this guarantee from
receipt of the Selection Sequence Report Options Template.  However,
IPFIX-layer components that do not implement PSAMP -- forwarders,
middleboxes, or generic analysis tools -- have no means to apply that
constraint.  The Ordered Options Template Set (Set ID 5) specified in
this document expresses the ordering guarantee at the IPFIX protocol
level, making it visible to any IPFIX component regardless of PSAMP
awareness.</t>
      </section>
      <section anchor="ml-ambiguity">
        <name>Multi-Layer Encapsulated Traffic</name>
        <t>Modern networks increasingly carry traffic with multiple encapsulation
layers.  SRv6 deployments, in particular, may result in packets with two
or three nested IPv6 headers, each with its own source and destination
addresses.  When an Exporting Process exports fields from such packets,
repeating Information Elements such as sourceIPv6Address and
destinationIPv6Address, the Collecting Process has no way to determine
which occurrence corresponds to which encapsulation layer unless an
ordering guarantee is explicitly provided.</t>
        <t>This problem is described in <xref target="I-D.liu-opsawg-ipfix-muti-layer"/>, which
proposes several mechanisms to address the specific case of encapsulation
layer identification.  That draft brings renewed attention to an ordering
ambiguity that has been present in IPFIX since <xref target="RFC7011"/> was first
published.  The present document addresses the underlying,
more general problem of ordered Information Element export, of which
multi-layer encapsulation is one important use case.</t>
        <t>When a packet carries multiple IP encapsulation layers -- for example, an
SRv6 packet where a Provider Edge adds an outer IPv6 header encapsulating
an inner IPv6 packet from the customer -- an Exporting Process may wish to
export fields from multiple layers.</t>
        <t>With the mechanism specified in this document, the Exporting Process can
include destinationIPv6Address twice in an Ordered Template Record and
signal that the first occurrence corresponds to the outermost
encapsulation layer and the second to the innermost, reflecting the order
observed by the Metering Process.</t>
        <t>This use case covers IPv4-in-IPv4, IPv4-in-IPv6, IPv6-in-IPv6, and any
other IP-in-IP encapsulation scenario, as well as SRv6 traffic with
nested Segment Routing Headers as described in <xref target="RFC9487"/> ("Export
of Segment Routing over IPv6 Information in IP Flow Information
Export (IPFIX)").  Further
examples include:</t>
        <ul spacing="normal">
          <li>
            <t>MAC-in-MAC (IEEE 802.1ah Provider Backbone Bridging): both
sourceMacAddress and destinationMacAddress repeat -- once for the
outer backbone MAC (B-MAC) and once for the inner customer MAC
(C-MAC).</t>
          </li>
          <li>
            <t>VXLAN <xref target="RFC7348"/> ("Virtual eXtensible Local Area Network (VXLAN):
A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3
Networks") and GENEVE <xref target="RFC8926"/> ("Geneve: Generic Network
Virtualization Encapsulation"): outer IP transport
addresses (UDP/IP encapsulation) and inner tenant IP addresses both
map to Information Elements such as sourceIPv4Address and
destinationIPv4Address; without an ordering guarantee the Collecting
Process cannot distinguish transport layer from tenant layer.</t>
          </li>
          <li>
            <t>GRE: outer and inner IP header fields repeat for the same
Information Elements, with the same ambiguity.</t>
          </li>
          <li>
            <t>IEEE 802.1ad Q-in-Q (stacked VLAN tags): vlanId (IPFIX IE 58) repeats
for each VLAN layer -- the outer Service VLAN (S-TAG) and inner
Customer VLAN (C-TAG).  Workaround IPFIX IEs dot1qVlanId (IPFIX IE 243) and
dot1qCustomerVlanId (IPFIX IE 245) already exist in the IANA IPFIX registry
<xref target="IANA.IPFIX"/> as positional substitutes, following the same pattern
as the MPLS label stack IPFIX IEs.</t>
          </li>
        </ul>
        <t>Without the mechanism specified in this document, unambiguous export of
these layered fields would require defining new position-specific
Information Elements, perpetuating the same registry proliferation
already seen with MPLS and IEEE 802.1ad.</t>
        <t>The mechanism specified in this document addresses the common case
where all encapsulation layers are exported consecutively, with the
n-th occurrence of an Information Element corresponding to the n-th
layer.  Cases where only a sparse subset of layers is exported, or
where backward compatibility with Collecting Processes that do not
support Ordered Sets is required, may benefit from the explicit
layer-marking approach described in
<xref target="I-D.liu-opsawg-ipfix-muti-layer"/>, which is complementary to the
mechanism defined here.</t>
      </section>
    </section>
    <section anchor="solution-space">
      <name>Solution Space</name>
      <t>This section analyzes candidate solutions.  The analysis is presented to
inform discussion and justify the specification in <xref target="solution"/>.</t>
      <ul empty="true">
        <li>
          <t>Note: The detailed analysis in this section is intended to support
Working Group discussion.  Once the Working Group has reached
consensus on the recommended solution, this section may be condensed
into a summary or moved to an informative appendix.</t>
        </li>
      </ul>
      <section anchor="updating-rfc-7011-should-to-must-alone-rejected">
        <name>Updating RFC 7011 SHOULD to MUST Alone (Rejected)</name>
        <t>The most minimal approach would be to update Section 8 of <xref target="RFC7011"/>
by strengthening the existing SHOULD to a MUST, requiring all Exporting
Processes to guarantee that repeated Information Elements follow the
Metering Process observation order.</t>
        <t>The fundamental limitation of this approach is that it constrains the
Exporting Process but provides no signal to the Collecting Process.
Even if every Exporting Process were compliant with the updated
requirement, the Collecting Process would still have no per-Template
indication of whether a given Template Record was sent by an updated
Exporting Process (ordering guaranteed) or by an older implementation
that predates the update (ordering not guaranteed).  Without such a
signal, the Collecting Process cannot safely interpret the n-th
occurrence of a repeated Information Element as the n-th Metering
Process observation.</t>
        <t>Two additional considerations reinforce the rejection.  First, Sections
4.2 and 4.3 of <xref target="RFC7011"/> explicitly state that "the order of the
Information Elements in the Template Records is not guaranteed"; a
SHOULD-to-MUST change in Section 8 alone would leave these statements
in direct conflict with the new requirement.  Second, Section 2.2 ("IPFIX Limitations") of <xref target="RFC6313"/> notes that
"some encoding optimizations are based on the permutation of
Information Element order"; a universal MUST would
prohibit such optimizations across all Templates containing repeated
Information Elements, regardless of whether ordering is semantically
significant.  This approach is therefore rejected.</t>
      </section>
      <section anchor="rfc6313-analysis">
        <name>RFC 6313 Structured Data with the "ordered" Semantic (Rejected)</name>
        <t>This option is analyzed in detail because <xref target="RFC6313"/> has been cited as
a solution to the ordering problem (see Introduction).  The analysis
below shows that it does not provide the required guarantee and is
therefore rejected.</t>
        <t><xref target="RFC6313"/> defines structured data types -- basicList, subTemplateList,
and subTemplateMultiList -- and associates them with list semantics.  One
defined semantic is:</t>
        <ul empty="true">
          <li>
            <t>The "ordered" structured data type semantic specifies that elements
from the list in the structured data are ordered.</t>
          </li>
        </ul>
        <t>Using this mechanism, an Exporting Process could encode a sequence of
ordered MPLS label values as a basicList with the "ordered" semantic:</t>
        <artwork><![CDATA[
(basicList, ordered, mplsLabelStackSection,
 <label1>, <label2>, <label3>)
]]></artwork>
        <t>Similarly, multi-layer encapsulation fields could be encoded in a
subTemplateMultiList with the "ordered" semantic.</t>
        <t>The fundamental limitation of this approach is that the <xref target="RFC6313"/>
"ordered" semantic is an export ordering guarantee, not a Metering
Process observation ordering guarantee.  Section 4.4.6 of <xref target="RFC6313"/>
states only that "elements from the list in the structured data are
ordered" -- it does not state that the order reflects the sequence in
which the Metering Process makes its observations.  Furthermore,
<xref target="RFC6313"/> structured data, when carried in an IPFIX Template Record,
still falls under the general rule of Section 8 of <xref target="RFC7011"/>:
"the different occurrences of this Information Element SHOULD follow
the logical order of their treatments by the Metering Process."
<xref target="RFC6313"/> does not upgrade this SHOULD to a MUST, nor does it bind
the "ordered" semantic to Metering Process observation order.  Since
IPFIX is an export protocol, governing the wire format between the
Exporting Process and the Collecting Process, it cannot by itself make
claims about the internal behavior of the Metering Process.  A
Collecting Process that receives a basicList or subTemplateMultiList
with the "ordered" semantic therefore cannot safely conclude that
element N corresponds to the N-th observation by the Metering Process.
This is precisely the guarantee this document requires, and <xref target="RFC6313"/>
does not provide it.  This approach is therefore rejected.</t>
      </section>
      <section anchor="new-ipfix-version-11-rejected">
        <name>New IPFIX Version 11 (Rejected)</name>
        <t>A new IPFIX version implies a broad overhaul of the protocol and would
carry community expectations far beyond the narrow scope of this
document.  The risk of scope creep is significant.</t>
        <t>Beyond scope, a version bump would be far more disruptive than new Set
IDs.  A Collecting Process that receives an IPFIX Message with an
unknown version number has no choice but to discard the entire message.
This means that introducing a new IPFIX version would cause every
existing Collecting Process to reject all IPFIX Messages -- including
those carrying unordered Data Sets -- until it is updated to support the
new version.  The deployment impact would be severe and disproportionate
to the problem being solved.</t>
        <t>By contrast, new Set IDs are additive.  Section 3.3.2 of <xref target="RFC7011"/>
reserves Set IDs 4 through 255 for future use and mandates that "the
Length value MUST be used to determine the position of the next Set."
A Collecting Process that does not support Set ID 4 or 5 can therefore
use the Set Length field to skip the unknown Set and continue processing
the remainder of the IPFIX Message normally.  All prior IPFIX extensions -- including <xref target="RFC6313"/> -- have been deployed without requiring a version
bump.  This approach is therefore rejected.</t>
      </section>
      <section anchor="marker-information-element-evaluated">
        <name>Marker Information Element (Evaluated)</name>
        <t>Define a new Information Element whose presence in an (Options) Template
Record indicates that the Information Elements following it (until the
next marker) are to be interpreted as ordered.  This approach is similar to
the encapLayerTop and encapLayer2 Information Elements proposed in
<xref target="I-D.liu-opsawg-ipfix-muti-layer"/> for encapsulation layer
identification.</t>
        <t>Advantages:</t>
        <ul spacing="normal">
          <li>
            <t>A Collecting Process that does not understand the marker Information
Element MAY discard only that one Information Element (per Section 9
of <xref target="RFC7011"/>), retaining the other fields in the Data Record.</t>
          </li>
        </ul>
        <t>Disadvantages:</t>
        <ul spacing="normal">
          <li>
            <t>The semantic of other Information Elements becomes dependent on the
presence and position of the marker Information Element, creating an
implicit dependency between IPFIX IEs that is not expressible in the
IPFIX Information Model <xref target="RFC7012"/>.</t>
          </li>
          <li>
            <t>The approach is less clean than a dedicated Set type from a protocol
design perspective.</t>
          </li>
        </ul>
      </section>
      <section anchor="options-template-indicator-evaluated">
        <name>Options Template Indicator (Evaluated)</name>
        <t>Define a new Options Template Record with a scope of Template ID,
containing a bitmap Information Element that identifies, for each field
in the referenced Template Record, whether that field belongs to an
ordered sequence.  This is analogous to the flowKeyIndicator Information
Element (IPFIX IE 173), which uses an Options Template to
convey which fields of a referenced Template Record are Flow Keys.</t>
        <t>Advantages:</t>
        <ul spacing="normal">
          <li>
            <t>Does not require changes to the Data Set format.</t>
          </li>
          <li>
            <t>The Options Template Record can be transmitted once per Template and
cached by the Collecting Process.</t>
          </li>
        </ul>
        <t>Disadvantages:</t>
        <ul spacing="normal">
          <li>
            <t>Requires the Collecting Process to correlate the Options Template
record with the Data Template before it can correctly interpret Data
Records, adding a level of indirection and a potential for
synchronization issues.</t>
          </li>
          <li>
            <t>More complex to implement than a dedicated Set type.</t>
          </li>
        </ul>
      </section>
      <section anchor="new-ordered-set-type-recommended">
        <name>New Ordered Set Type (Recommended)</name>
        <t>Define new Set IDs to indicate that the ordering of Information Elements
within the corresponding Data Records is guaranteed to reflect the
Metering Process observation order.  This approach extends the existing
Set ID structure of <xref target="RFC7011"/>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Set ID</th>
              <th align="left">Name</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">2</td>
              <td align="left">Template Set (existing)</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">Options Template Set (existing)</td>
            </tr>
            <tr>
              <td align="left">4</td>
              <td align="left">Ordered Template Set (new)</td>
            </tr>
            <tr>
              <td align="left">5</td>
              <td align="left">Ordered Options Template Set (new)</td>
            </tr>
          </tbody>
        </table>
        <t>Ordered Template Records (Set ID 4) and Ordered Options Template Records
(Set ID 5) use the same wire format as their existing counterparts
(Set ID 2 and Set ID 3 respectively), with the addition of the ordering
semantic on the corresponding Data Records.</t>
        <t>Advantages:</t>
        <ul spacing="normal">
          <li>
            <t>Provides an explicit, unambiguous per-Set signal that ordering is
guaranteed, without relying on the Collecting Process to parse an
in-band marker or to maintain an out-of-band correlation table.</t>
          </li>
          <li>
            <t>No <xref target="RFC6313"/> structured data complexity is required; existing flat
Template and Data Record formats are reused.</t>
          </li>
          <li>
            <t>Backwards compatible: existing Set IDs 2 and 3 are unaffected and
continue to be used for cases where ordering is not guaranteed or not
relevant.</t>
          </li>
          <li>
            <t>Generalizable to any stacked or layered protocol structure without
requiring new position-specific Information Element definitions.</t>
          </li>
        </ul>
        <t>Disadvantages:</t>
        <ul spacing="normal">
          <li>
            <t>Requires both Exporting Process and Collecting Process updates to
support the new Set IDs.</t>
          </li>
          <li>
            <t>A Collecting Process that does not support Set ID 4 or 5 may discard
the entire Set upon receipt, resulting in a complete loss of the Data
Records in that Set without any log information.  Section 3.3.2 of
<xref target="RFC7011"/> does not specify the behavior of a Collecting Process upon
receipt of an unknown Set ID.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="solution">
      <name>New Ordered Set Specifications</name>
      <t>The recommended approach is the New Ordered Set Type: the definition of
two new Ordered Set types, Ordered Template Set (Set ID 4) and Ordered
Options Template Set (Set ID 5).</t>
      <t>The rationale is as follows:</t>
      <ol spacing="normal" type="1"><li>
          <t>Explicit protocol semantics: A dedicated Set type provides an
unambiguous, per-Set signal that ordering is guaranteed.  The Collecting
Process requires no additional correlation or inference to determine
whether a given Template is ordered.</t>
        </li>
        <li>
          <t>Implementation practicality: The RFC 6313 structured data approach
is technically sound, but its usefulness depends on the availability
of <xref target="RFC6313"/> implementations, which are not known to be widespread.
The New Ordered Set Type requires a more targeted change to existing
IPFIX implementations.</t>
        </li>
        <li>
          <t>Clean protocol design: Ordered data is a distinct semantic concept
that warrants a first-class protocol signal.  A new Set type is the
natural extension point within the IPFIX message format, consistent
with the principle that Set IDs 4 through 255 are reserved in
<xref target="RFC7011"/> for exactly this purpose.</t>
        </li>
        <li>
          <t>Backwards compatibility: The existing Set IDs 2, 3, and 256 to
65535 are unaffected.  Exporting Processes that do not require ordered
export continue to use the existing Set IDs without modification.</t>
        </li>
      </ol>
      <section anchor="wire-format">
        <name>Wire Format</name>
        <t>The Ordered Template Set (Set ID 4) uses exactly the same wire format
as the Template Set (Set ID 2) defined in Section 3.4.1 of <xref target="RFC7011"/>.
The Ordered Options Template Set (Set ID 5) uses exactly the same wire
format as the Options Template Set (Set ID 3) defined in Section 3.4.2
of <xref target="RFC7011"/>.  The Set ID value is the sole distinguishing element:
it signals to the Collecting Process that the ordering of repeated
Information Elements in corresponding Data Records is guaranteed.</t>
        <t>No new header fields, flags, or record structures are introduced.
Implementations that already support Set ID 2 and Set ID 3 can support
Set ID 4 and Set ID 5 by reusing the same parsing code and adding the
ordering semantic to the Template Records so identified.</t>
      </section>
      <section anchor="template-withdrawal">
        <name>Template Withdrawal</name>
        <t>The Template Withdrawal mechanism defined in Section 8.1 of <xref target="RFC7011"/>
applies without modification to Ordered Template Records and Ordered
Options Template Records.</t>
        <t>An Ordered Template Record is withdrawn by sending an Ordered Template
Set (Set ID 4) containing a Template Record with the target Template ID
and a Field Count of 0.  An Ordered Options Template Record is withdrawn
by sending an Ordered Options Template Set (Set ID 5) with a Field Count
of 0.</t>
        <t>Upon receipt of a withdrawal, the Collecting Process MUST cease treating
Data Sets referencing the withdrawn Template ID as Ordered Data Sets and
MUST discard all stored information about that Template Record.  This
applies to the IPFIX transport state only; it does not retroactively
alter the ordering interpretation of Data Records already received and
decoded under that Template ID.</t>
        <t>A withdrawn Ordered Template ID MAY be reused by the Exporting Process
within the same Transport Session and Observation Domain, consistent
with Section 8.1 of <xref target="RFC7011"/>.  If the Template ID is subsequently
registered via an unordered Template Set (Set ID 2), the Collecting
Process MUST treat it as unordered.  If registered again via an Ordered
Template Set (Set ID 4), the ordering guarantee applies anew.  The same
applies for Options Template Records (Set IDs 3 and 5).</t>
      </section>
      <section anchor="normative-behavior">
        <name>Normative Behavior</name>
        <t>The Exporting Process MUST preserve the Metering Process observation
order when constructing Data Records for an Ordered Data Set.</t>
        <t>A Collecting Process identifies an Ordered Data Set by tracking the Set
ID under which the corresponding Template Record was received.  If the
Template was received in an Ordered Template Set (Set ID 4) or an
Ordered Options Template Set (Set ID 5), all subsequent Data Sets
referencing that Template ID MUST be treated as Ordered Data Sets.  If
the Template was received in a Template Set (Set ID 2) or an Options
Template Set (Set ID 3), the ordering of repeated Information Elements
in the corresponding Data Records is not guaranteed.</t>
        <t>Section 3.4.1 of <xref target="RFC7011"/> requires Template IDs to be unique within
an Observation Domain and Transport Session.  A given Template ID can
therefore appear in only one Set type -- it cannot be registered as both
an Ordered Template Set (Set ID 4) and a Template Set (Set ID 2), nor as
both Set ID 5 and Set ID 3.  There is consequently no ambiguity in the
Collecting Process's per-Template-ID tracking of the ordering guarantee.</t>
        <t>The Collecting Process MUST interpret the n-th occurrence of an
Information Element in a Data Record from an Ordered Data Set as
corresponding to the n-th observation of that Information Element
by the Metering Process at the Observation Point.</t>
        <t>This ordering guarantee applies independently to each Information
Element: the n-th occurrence of IE X corresponds to the n-th
observation of IE X, and the n-th occurrence of IE Y corresponds to
the n-th observation of IE Y.  The guarantee does not impose any
relative ordering between occurrences of different Information
Elements.</t>
        <t>This guarantee covers the ordering of exported occurrences only.  The
Exporting Process is expected to export all observations consecutively;
where only a sparse subset of layers is exported, the Collecting Process
cannot determine whether exported occurrences are contiguous from the
first observation.  For sparse export scenarios, the explicit
layer-marking approach of <xref target="I-D.liu-opsawg-ipfix-muti-layer"/> is more
appropriate.</t>
        <t>An IPFIX Mediator <xref target="RFC6183"/> <xref target="RFC7014"/> that receives Ordered Template
Sets (Set ID 4) or Ordered Options Template Sets (Set ID 5) MUST
preserve the ordering guarantee when forwarding.  The Mediator MUST
forward the corresponding Template Records in Ordered Template Sets or
Ordered Options Template Sets, and MUST preserve the observation order
of fields in the corresponding Data Records.  A Mediator that cannot
preserve the ordering guarantee MUST NOT forward Ordered Template Sets
as unordered Template Sets (Set ID 2 or Set ID 3).</t>
      </section>
      <section anchor="updates-rfc7011">
        <name>Updates to RFC 7011</name>
        <t>This recommendation implies the following updates to <xref target="RFC7011"/>.</t>
        <t>The following text in Section 8 of <xref target="RFC7011"/>:</t>
        <t>OLD:</t>
        <ul empty="true">
          <li>
            <t>If an Information Element is required more than once in a Template,
the different occurrences of this Information Element SHOULD follow
the logical order of their treatments by the Metering Process.  For
example, if a selected packet goes through two hash functions, and if
the two hash values are sent within a single Template, the first
occurrence of the hash value should belong to the first hash function
in the Metering Process.  For example, when exporting the two source
IP addresses of an IPv4-in-IPv4 packet, the first sourceIPv4Address
Information Element occurrence should be the IPv4 address of the
outer header, while the second occurrence should be the address of
the inner header.  Collecting Processes MUST properly handle
Templates with multiple identical Information Elements.</t>
          </li>
        </ul>
        <t>NEW:</t>
        <ul empty="true">
          <li>
            <t>If an Information Element is required more than once in a Template
transmitted in a Template Set (Set ID 2) or Options Template Set
(Set ID 3), the different occurrences of this Information Element
SHOULD follow the logical order of their treatments by the Metering
Process.  For example, if a selected packet goes through two hash
functions, and if
the two hash values are sent within a single Template, the first
occurrence of the hash value should belong to the first hash function
in the Metering Process.  For example, when exporting the two source
IP addresses of an IPv4-in-IPv4 packet, the first sourceIPv4Address
Information Element occurrence should be the IPv4 address of the
outer header, while the second occurrence should be the address of
the inner header.  Collecting Processes MUST properly handle
Templates with multiple identical Information Elements.</t>
            <t>If the Template Record is transmitted in an Ordered Template Set (Set ID 4)
or an Ordered Options Template Set (Set ID 5), the Metering Process
MUST record the repeated Information Element values in the order in
which the corresponding observations are made at the Observation
Point, the Exporting Process MUST preserve and follow this order when
constructing the corresponding Data Records, and the Collecting
Process MUST interpret the n-th occurrence as corresponding to the
n-th observation by the Metering Process at the Observation Point.
The Metering Process MUST record observations from outermost to
innermost for encapsulated traffic and from top to bottom for
label stacks.</t>
          </li>
        </ul>
        <t>The following sentence in Section 4.2 of <xref target="RFC7011"/>:</t>
        <t>OLD:</t>
        <ul empty="true">
          <li>
            <t>Since the Metering Process Reliability Statistics Options Template
contains two identical timestamp Information Elements, and since the
order of the Information Elements in the Template Records is not
guaranteed, the Collecting Process interprets the time interval of
ignored packets as the range between the two values; see Section 5.2
for wraparound considerations.</t>
          </li>
        </ul>
        <t>NEW:</t>
        <ul empty="true">
          <li>
            <t>Since the Metering Process Reliability Statistics Options Template
contains two identical timestamp Information Elements, and since the
order of the Information Elements in Options Template Records
transmitted in Sets with Set ID 3 is not guaranteed, whereas the
order in Options Template Records transmitted in Sets with Set ID 5
is guaranteed to reflect the Metering Process observation order, the
Collecting Process interprets the time interval of ignored packets as
the range between the two values; see Section 5.2 for wraparound
considerations.</t>
          </li>
        </ul>
        <t>The following sentence in Section 4.3 of <xref target="RFC7011"/>:</t>
        <t>OLD:</t>
        <ul empty="true">
          <li>
            <t>Since the Exporting Process Reliability Statistics Options Template
contains two identical timestamp Information Elements, and since the
order of the Information Elements in the Template Records is not
guaranteed, the Collecting Process interprets the time interval of
dropped packets as the range between the two values; see Section 5.2
for wraparound considerations.</t>
          </li>
        </ul>
        <t>NEW:</t>
        <ul empty="true">
          <li>
            <t>Since the Exporting Process Reliability Statistics Options Template
contains two identical timestamp Information Elements, and since the
order of the Information Elements in Options Template Records
transmitted in Sets with Set ID 3 is not guaranteed, whereas the
order in Options Template Records transmitted in Sets with Set ID 5
is guaranteed to reflect the Metering Process observation order, the
Collecting Process interprets the time interval of dropped packets as
the range between the two values; see Section 5.2 for wraparound
considerations.</t>
          </li>
        </ul>
        <t>The following sentence in Section 3.3.2 of <xref target="RFC7011"/>:</t>
        <t>OLD:</t>
        <ul empty="true">
          <li>
            <t>Values from 4 to 255 are reserved for future use.</t>
          </li>
        </ul>
        <t>NEW:</t>
        <ul empty="true">
          <li>
            <t>Values 4 and 5 are used for Ordered Template Sets and Ordered Options
Template Sets, respectively, as specified in this document.  Values from
6 to 255 are reserved for future use.</t>
          </li>
        </ul>
        <t>The following normative text is added to Section 3.3.2 of <xref target="RFC7011"/>,
after the sentence "The Length value MUST be used to determine the
position of the next Set.":</t>
        <t>NEW:</t>
        <ul empty="true">
          <li>
            <t>A Collecting Process that receives a Set with an unknown Set ID SHOULD
log a warning to assist operators in detecting configuration or
capability mismatches between Exporting and Collecting Processes.</t>
          </li>
        </ul>
      </section>
      <section anchor="updates-to-rfc-5476">
        <name>Updates to RFC 5476</name>
        <t>Section 6.5.1 of <xref target="RFC5476"/> already mandates that selectorId occurrences
in a Selection Sequence Report Interpretation Options Template Record
MUST be listed in the order the corresponding Primitive Selectors are
applied.  However, <xref target="RFC5476"/> predates the Ordered Options Template Set
mechanism defined in this document, and therefore uses the regular
Options Template Set (Set ID 3), which provides no protocol-level signal
to the Collecting Process that the ordering is guaranteed.</t>
        <t>The following sentence in Section 6.5.1 of <xref target="RFC5476"/>:</t>
        <t>OLD:</t>
        <ul empty="true">
          <li>
            <t>If multiple Selectors are contained in the Selection Sequence Report
Interpretation, the selectorId's MUST be identified in the order they
are used.</t>
          </li>
        </ul>
        <t>NEW:</t>
        <ul empty="true">
          <li>
            <t>If multiple Selectors are contained in the Selection Sequence Report
Interpretation, the selectorId's MUST be identified in the order they
are used.  The corresponding Options Template Record MUST be
transmitted in an Ordered Options Template Set (Set ID 5) as defined
in this document, so that the Collecting Process receives an explicit
signal that the ordering of selectorId occurrences reflects the
Composite Selector application order.</t>
          </li>
        </ul>
      </section>
      <section anchor="updates-to-rfc-6183">
        <name>Updates to RFC 6183</name>
        <t><xref target="RFC6183"/> ("IP Flow Information Export (IPFIX) Mediation:
Framework") defines the behavior of IPFIX Mediators but predates the
Ordered Template Set mechanism defined in this document.  This document
adds the following normative requirement to Mediator behavior:</t>
        <t>An IPFIX Mediator that receives Ordered Template Sets (Set ID 4) or
Ordered Options Template Sets (Set ID 5) MUST preserve the ordering
guarantee when forwarding.  The Mediator MUST forward the corresponding
Template Records in Ordered Template Sets or Ordered Options Template
Sets, and MUST preserve the observation order of fields in the
corresponding Data Records.  A Mediator that cannot preserve the
ordering guarantee MUST NOT forward Ordered Template Sets as unordered
Template Sets (Set ID 2 or Set ID 3).</t>
      </section>
      <section anchor="new-ipfix-information-elements">
        <name>New IPFIX Information Elements</name>
        <t>Five new IPFIX Information Elements are required to support ordered export
for MPLS label stacks and label attributes; their full definitions are in
the IANA Considerations of this document.  For other protocol layers, no
new IPFIX IEs are required: vlanId (IPFIX IE 58) and postVlanId (IPFIX IE 59)
already serve IEEE 802.1ad Q-in-Q; sourceMacAddress (IPFIX IE 56) and
destinationMacAddress (IPFIX IE 80) already serve MAC-in-MAC; and IP-level
IPFIX IEs (sourceIPv4Address, destinationIPv4Address, and their IPv6
equivalents) already serve VXLAN, GENEVE, GRE, and IP-in-IP encapsulation.
In each of these cases, the existing IPFIX IEs can simply be repeated in
an Ordered Template Record.</t>
        <ul empty="true">
          <li>
            <t>Note 1: No separate generic IPFIX IEs for TTL and TC (Exp) are defined in
this document, because the TTL and TC (Exp) fields are already encoded as
subfields of the 4-octet label stack entry exported by mplsLabelStackSection
(TBD1). mplsTopLabelTTL (IPFIX IE 200) and mplsTopLabelExp (IPFIX IE 203)
are therefore superseded by mplsLabelStackSection when used with ordered
export; see <xref target="migration-appendix"/>.</t>
            <t>Note 2: The existing positional IPFIX IEs mplsTopLabelStackSection (IE 70)
through mplsLabelStackSection10 (IE 79) encode only 3 octets (label, TC,
and S fields), omitting the TTL field. mplsLabelStackSection (TBD1) encodes
the full 4-octet label stack entry as defined in Section 2.1 of <xref target="RFC3032"/>,
making a separate TTL Information Element unnecessary at any stack depth.</t>
          </li>
        </ul>
        <t>The generic IPFIX IEs defined in this document do not immediately obsolete the
existing positional IPFIX IEs.  Implementations that do not support ordered
export (Set IDs 4 and 5) continue to require the positional IPFIX IEs.  Once
ordered export is widely deployed, the positional IPFIX IEs listed in
<xref target="migration-appendix"/> -- as well
as the Q-in-Q workaround
IPFIX IEs (dot1qVlanId IE 243, dot1qPriority IE 244, dot1qCustomerVlanId IE
245, dot1qCustomerPriority IE 246, postDot1qVlanId IE 254,
postDot1qCustomerVlanId IE 255) -- may be deprecated in a future
document.</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>This section follows the guidelines of <xref target="I-D.opsarea-rfc5706bis"/>
("Guidelines for Considering Operations and Management of New Protocols
and Protocol Extensions") for documenting operational and management
considerations in IETF specifications.  This document is a protocol extension to <xref target="RFC7011"/>;
operational and management considerations that are not specific to
ordered export are inherited from <xref target="RFC7011"/> and are not repeated here.</t>
      <section anchor="deployment-and-coexistence">
        <name>Deployment and Coexistence</name>
        <t>Ordered export is strictly additive.  Existing Set IDs 2 and 3 are
unaffected, and Exporting Processes that do not require ordered export
continue to operate without modification.  Deployment can therefore
proceed incrementally: ordered export can be enabled on a per-Template
basis toward specific Collecting Processes, without disrupting any
existing IPFIX infrastructure.</t>
        <t>Operators SHOULD enable ordered export only toward Collecting Processes
that are known to support Set ID 4 and Set ID 5.  Deployment against
unaware Collecting Processes may result in silent loss of entire Ordered
Sets, as discussed in <xref target="fault-management"/>.</t>
      </section>
      <section anchor="configuration">
        <name>Configuration</name>
        <t>Ordered export is opt-in.  An Exporting Process is configured to use
an Ordered Template Set (Set ID 4) or an Ordered Options Template Set
(Set ID 5) for specific Template Records.  No protocol-level
negotiation is currently defined.  Operators are responsible for
ensuring that the Collecting Process is capable of processing the
selected Set IDs before enabling ordered export.</t>
        <t>Ordered export may allow simplification of existing Template Records:
where a deployment previously required multiple position-specific
Information Elements (e.g., mplsTopLabelStackSection through
mplsLabelStackSection10), a single repeated Information Element in an
Ordered Template Record may suffice.  This can reduce the number of
Information Element identifiers consumed and the size of Template
Records.</t>
      </section>
      <section anchor="verification-of-correct-operation">
        <name>Verification of Correct Operation</name>
        <t>End-to-end verification of ordered export requires confirming correct
behavior across all three components of the ordering chain:</t>
        <ul spacing="normal">
          <li>
            <t>Metering Process: records repeated Information Element values in
the order they are observed.  This is internal to the implementation
and is not directly observable on the wire.</t>
          </li>
          <li>
            <t>Exporting Process: transmits Ordered Template Sets (Set ID 4 or 5)
and constructs the corresponding Data Records with field values in
Metering Process observation order.  This can be verified by
inspecting the IPFIX Messages on the wire.</t>
          </li>
          <li>
            <t>Collecting Process: tracks which Template IDs were received in
Ordered Template Sets and interprets the n-th occurrence of a repeated
Information Element as the n-th Metering Process observation.
Correct interpretation can be verified by comparing collected data
against known traffic (e.g., known MPLS label stack or encapsulation
layer ordering in a test environment).</t>
          </li>
        </ul>
      </section>
      <section anchor="fault-management">
        <name>Fault Management</name>
        <t>The primary fault scenario for ordered export is a mismatch between
the Exporting Process and the Collecting Process: the Exporting Process
sends Ordered Sets that the Collecting Process does not understand.
Section 3.3.2 of <xref target="RFC7011"/> mandates that "the Length value MUST be
used to determine the position of the next Set," providing the mechanism
for a Collecting Process that does not support Set ID 4 or 5 to skip
the unknown Set and continue processing normally.  However,
<xref target="RFC7011"/> does not specify what a Collecting Process MUST or SHOULD
do upon receipt of an unknown Set ID -- whether to skip silently, log
the event, or terminate the Transport Session.  As a result, a
RFC 7011 compliant Collecting Process may silently discard the Set
without any notification to the Exporting Process or to the operator.
This document addresses this gap; see <xref target="updates-rfc7011"/>.</t>
        <t>Operators SHOULD monitor for unexpected loss of Flow Records that may
indicate silent Set discard at an unaware Collecting Process.  If
suspected, ordered export SHOULD be disabled for that destination until
the Collecting Process is confirmed to support Set ID 4 and Set ID 5.</t>
      </section>
      <section anchor="performance">
        <name>Performance</name>
        <t>The ordered export mechanism specified in this document introduces no
additional overhead on the wire: Ordered Template Sets and Ordered
Options Template Sets use the same wire format as their Set ID 2 and
Set ID 3 counterparts.  The only additional cost is the Collecting
Process maintaining per-Template-ID state to track whether each
Template was received in an Ordered or unordered Set, which is
negligible.</t>
        <t>The Metering Process may incur an implementation cost to preserve
observation order when recording repeated Information Element values,
depending on its internal architecture.  This is an implementation
consideration and is outside the scope of this document.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document does not change the trust model of the IPFIX protocol.
The security considerations of <xref target="RFC7011"/> apply.</t>
      <t>An Exporting Process that uses an Ordered Template Set (Set ID 4 or 5)
but fails to preserve the Metering Process observation order will cause
the Collecting Process to misinterpret the exported data.  In particular,
analytics systems that rely on the ordering to identify encapsulation
layers or label stack positions may produce incorrect results.  Operators
SHOULD ensure that the Exporting Process and Metering Process are
correctly coordinated before using ordered export.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="ipfix-set-ids-registry">
        <name>IPFIX Set IDs Registry</name>
        <t>This document requests IANA to allocate the following values in the
"IPFIX Set IDs" subregistry of the "IP Flow Information Export (IPFIX)
Entities" registry <xref target="IANA.IPFIX"/>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Name</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">4</td>
              <td align="left">Ordered Template Set</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">5</td>
              <td align="left">Ordered Options Template Set</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="ipfix-information-elements-registry">
        <name>IPFIX Information Elements Registry</name>
        <t>This document requests IANA to allocate the following Information
Elements in the "IPFIX Information Elements" registry <xref target="IANA.IPFIX"/>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">ElementID</th>
              <th align="left">Name</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD1</td>
              <td align="left">mplsLabelStackSection</td>
            </tr>
            <tr>
              <td align="left">TBD2</td>
              <td align="left">mplsLabelType</td>
            </tr>
            <tr>
              <td align="left">TBD3</td>
              <td align="left">mplsLabelIPv4Address</td>
            </tr>
            <tr>
              <td align="left">TBD4</td>
              <td align="left">mplsLabelPrefixLength</td>
            </tr>
            <tr>
              <td align="left">TBD5</td>
              <td align="left">mplsLabelIPv6Address</td>
            </tr>
          </tbody>
        </table>
        <section anchor="mplslabelstacksection">
          <name>mplsLabelStackSection</name>
          <dl>
            <dt>ElementID:</dt>
            <dd>
              <t>TBD1</t>
            </dd>
            <dt>Name:</dt>
            <dd>
              <t>mplsLabelStackSection</t>
            </dd>
            <dt>Abstract Data Type:</dt>
            <dd>
              <t>octetArray</t>
            </dd>
            <dt>Data Type Semantics:</dt>
            <dd>
              <t>default</t>
            </dd>
            <dt>Description:</dt>
            <dd>
              <t>The contents of a label stack entry at any position in the MPLS label
stack, encoded as the 4-octet MPLS label stack entry format defined in
Section 2.1 of <xref target="RFC3032"/>.  The encoding comprises a 20-bit label
value, a 3-bit Traffic Class (TC) field, a 1-bit Stack Bottom (S)
flag, and an 8-bit Time to Live (TTL) field.  When this Information
Element appears multiple times in an Ordered Template Record, the N-th
occurrence corresponds to the label stack entry at stack position N
(counting from the top) as observed by the Metering Process at the
Observation Point.</t>
            </dd>
            <dt>Additional Information:</dt>
            <dd>
              <t>See Section 2.1 of <xref target="RFC3032"/> for the MPLS label stack entry
encoding.  The ten positional IPFIX IEs mplsTopLabelStackSection (IPFIX IE 70)
through mplsLabelStackSection10 (IPFIX IE 79) exist to work around the
absence of an ordered export mechanism and are superseded by this IPFIX IE
when used with the ordered export mechanism specified in this document.</t>
            </dd>
            <dt>Reference:</dt>
            <dd>
              <t>This document</t>
            </dd>
          </dl>
        </section>
        <section anchor="mplslabeltype">
          <name>mplsLabelType</name>
          <dl>
            <dt>ElementID:</dt>
            <dd>
              <t>TBD2</t>
            </dd>
            <dt>Name:</dt>
            <dd>
              <t>mplsLabelType</t>
            </dd>
            <dt>Abstract Data Type:</dt>
            <dd>
              <t>unsigned8</t>
            </dd>
            <dt>Data Type Semantics:</dt>
            <dd>
              <t>identifier</t>
            </dd>
            <dt>Description:</dt>
            <dd>
              <t>The type of the MPLS label at the given stack position, using the same
encoding as mplsTopLabelType (IPFIX IE 46).  Values are assigned by IANA in
the "Multi-Protocol Label Switching (MPLS) Label Types" registry.
When this Information Element appears multiple times in an Ordered
Template Record, the N-th occurrence corresponds to the label type at
stack position N (counting from the top) as observed by the Metering
Process at the Observation Point.</t>
            </dd>
            <dt>Additional Information:</dt>
            <dd>
              <t>See the IANA registry "Multi-Protocol Label Switching (MPLS) Label
Types" for the list of values.</t>
            </dd>
            <dt>Reference:</dt>
            <dd>
              <t>This document</t>
            </dd>
          </dl>
        </section>
        <section anchor="mplslabelipv4address">
          <name>mplsLabelIPv4Address</name>
          <dl>
            <dt>ElementID:</dt>
            <dd>
              <t>TBD3</t>
            </dd>
            <dt>Name:</dt>
            <dd>
              <t>mplsLabelIPv4Address</t>
            </dd>
            <dt>Abstract Data Type:</dt>
            <dd>
              <t>ipv4Address</t>
            </dd>
            <dt>Data Type Semantics:</dt>
            <dd>
              <t>default</t>
            </dd>
            <dt>Description:</dt>
            <dd>
              <t>The IPv4 address of the system that the MPLS label at the given stack
position will cause this Flow to be forwarded to, using the same
encoding as mplsTopLabelIPv4Address (IPFIX IE 47).  When this Information
Element appears multiple times in an Ordered Template Record, the N-th
occurrence corresponds to the next-hop IPv4 address for the label at
stack position N (counting from the top) as observed by the Metering
Process at the Observation Point.</t>
            </dd>
            <dt>Additional Information:</dt>
            <dd>
              <t>mplsTopLabelIPv4Address (IPFIX IE 47) exists to work around the
absence of an ordered export mechanism and is superseded by this
IPFIX IE when used with the ordered export mechanism specified in
this document.</t>
            </dd>
            <dt>Reference:</dt>
            <dd>
              <t>This document</t>
            </dd>
          </dl>
        </section>
        <section anchor="mplslabelprefixlength">
          <name>mplsLabelPrefixLength</name>
          <dl>
            <dt>ElementID:</dt>
            <dd>
              <t>TBD4</t>
            </dd>
            <dt>Name:</dt>
            <dd>
              <t>mplsLabelPrefixLength</t>
            </dd>
            <dt>Abstract Data Type:</dt>
            <dd>
              <t>unsigned8</t>
            </dd>
            <dt>Data Type Semantics:</dt>
            <dd>
              <t>identifier</t>
            </dd>
            <dt>Description:</dt>
            <dd>
              <t>The prefix length of the IPv4 subnet that the MPLS label at the given
stack position will cause the Flow to be forwarded to, using the same
encoding as mplsTopLabelPrefixLength (IPFIX IE 91).  When this Information
Element appears multiple times in an Ordered Template Record, the N-th
occurrence corresponds to the prefix length for the label at stack
position N (counting from the top) as observed by the Metering Process
at the Observation Point.</t>
            </dd>
            <dt>Units:</dt>
            <dd>
              <t>bits</t>
            </dd>
            <dt>Range:</dt>
            <dd>
              <t>0-32</t>
            </dd>
            <dt>Additional Information:</dt>
            <dd>
              <t>mplsTopLabelPrefixLength (IPFIX IE 91) exists to work around the
absence of an ordered export mechanism and is superseded by this
IPFIX IE when used with the ordered export mechanism specified in
this document.</t>
            </dd>
            <dt>Reference:</dt>
            <dd>
              <t>This document</t>
            </dd>
          </dl>
        </section>
        <section anchor="mplslabelipv6address">
          <name>mplsLabelIPv6Address</name>
          <dl>
            <dt>ElementID:</dt>
            <dd>
              <t>TBD5</t>
            </dd>
            <dt>Name:</dt>
            <dd>
              <t>mplsLabelIPv6Address</t>
            </dd>
            <dt>Abstract Data Type:</dt>
            <dd>
              <t>ipv6Address</t>
            </dd>
            <dt>Data Type Semantics:</dt>
            <dd>
              <t>default</t>
            </dd>
            <dt>Description:</dt>
            <dd>
              <t>The IPv6 address of the system that the MPLS label at the given stack
position will cause this Flow to be forwarded to, using the same
encoding as mplsTopLabelIPv6Address (IPFIX IE 140).  When this Information
Element appears multiple times in an Ordered Template Record, the N-th
occurrence corresponds to the next-hop IPv6 address for the label at
stack position N (counting from the top) as observed by the Metering
Process at the Observation Point.</t>
            </dd>
            <dt>Additional Information:</dt>
            <dd>
              <t>mplsTopLabelIPv6Address (IPFIX IE 140) exists to work around the
absence of an ordered export mechanism and is superseded by this
IPFIX IE when used with the ordered export mechanism specified in
this document.</t>
            </dd>
            <dt>Reference:</dt>
            <dd>
              <t>This document</t>
            </dd>
          </dl>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC3032">
          <front>
            <title>MPLS Label Stack Encoding</title>
            <author fullname="E. Rosen" initials="E." surname="Rosen"/>
            <author fullname="D. Tappan" initials="D." surname="Tappan"/>
            <author fullname="G. Fedorkow" initials="G." surname="Fedorkow"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <author fullname="D. Farinacci" initials="D." surname="Farinacci"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <author fullname="A. Conta" initials="A." surname="Conta"/>
            <date month="January" year="2001"/>
            <abstract>
              <t>This document specifies the encoding to be used by an LSR in order to transmit labeled packets on Point-to-Point Protocol (PPP) data links, on LAN data links, and possibly on other data links as well. This document also specifies rules and procedures for processing the various fields of the label stack encoding. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3032"/>
          <seriesInfo name="DOI" value="10.17487/RFC3032"/>
        </reference>
        <reference anchor="RFC5476">
          <front>
            <title>Packet Sampling (PSAMP) Protocol Specifications</title>
            <author fullname="B. Claise" initials="B." role="editor" surname="Claise"/>
            <author fullname="A. Johnson" initials="A." surname="Johnson"/>
            <author fullname="J. Quittek" initials="J." surname="Quittek"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document specifies the export of packet information from a Packet SAMPling (PSAMP) Exporting Process to a PSAMP Collecting Process. For export of packet information, the IP Flow Information eXport (IPFIX) protocol is used, as both the IPFIX and PSAMP architecture match very well, and the means provided by the IPFIX protocol are sufficient. The document specifies in detail how the IPFIX protocol is used for PSAMP export of packet information. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5476"/>
          <seriesInfo name="DOI" value="10.17487/RFC5476"/>
        </reference>
        <reference anchor="RFC6183">
          <front>
            <title>IP Flow Information Export (IPFIX) Mediation: Framework</title>
            <author fullname="A. Kobayashi" initials="A." surname="Kobayashi"/>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <author fullname="G. Muenz" initials="G." surname="Muenz"/>
            <author fullname="K. Ishibashi" initials="K." surname="Ishibashi"/>
            <date month="April" year="2011"/>
            <abstract>
              <t>This document describes a framework for IP Flow Information Export (IPFIX) Mediation. This framework extends the IPFIX reference model specified in RFC 5470 by defining the IPFIX Mediator components. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6183"/>
          <seriesInfo name="DOI" value="10.17487/RFC6183"/>
        </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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC5470">
          <front>
            <title>Architecture for IP Flow Information Export</title>
            <author fullname="G. Sadasivan" initials="G." surname="Sadasivan"/>
            <author fullname="N. Brownlee" initials="N." surname="Brownlee"/>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <author fullname="J. Quittek" initials="J." surname="Quittek"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This memo defines the IP Flow Information eXport (IPFIX) architecture for the selective monitoring of IP Flows, and for the export of measured IP Flow information from an IPFIX Device to a Collector. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5470"/>
          <seriesInfo name="DOI" value="10.17487/RFC5470"/>
        </reference>
        <reference anchor="RFC5474">
          <front>
            <title>A Framework for Packet Selection and Reporting</title>
            <author fullname="N. Duffield" initials="N." role="editor" surname="Duffield"/>
            <author fullname="D. Chiou" initials="D." surname="Chiou"/>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <author fullname="A. Greenberg" initials="A." surname="Greenberg"/>
            <author fullname="M. Grossglauser" initials="M." surname="Grossglauser"/>
            <author fullname="J. Rexford" initials="J." surname="Rexford"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document specifies a framework for the PSAMP (Packet SAMPling) protocol. The functions of this protocol are to select packets from a stream according to a set of standardized Selectors, to form a stream of reports on the selected packets, and to export the reports to a Collector. This framework details the components of this architecture, then describes some generic requirements, motivated by the dual aims of ubiquitous deployment and utility of the reports for applications. Detailed requirements for selection, reporting, and exporting are described, along with configuration requirements of the PSAMP functions. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5474"/>
          <seriesInfo name="DOI" value="10.17487/RFC5474"/>
        </reference>
        <reference anchor="RFC5475">
          <front>
            <title>Sampling and Filtering Techniques for IP Packet Selection</title>
            <author fullname="T. Zseby" initials="T." surname="Zseby"/>
            <author fullname="M. Molina" initials="M." surname="Molina"/>
            <author fullname="N. Duffield" initials="N." surname="Duffield"/>
            <author fullname="S. Niccolini" initials="S." surname="Niccolini"/>
            <author fullname="F. Raspall" initials="F." surname="Raspall"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document describes Sampling and Filtering techniques for IP packet selection. It provides a categorization of schemes and defines what parameters are needed to describe the most common selection schemes. Furthermore, it shows how techniques can be combined to build more elaborate packet Selectors. The document provides the basis for the definition of information models for configuring selection techniques in Metering Processes and for reporting the technique in use to a Collector. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5475"/>
          <seriesInfo name="DOI" value="10.17487/RFC5475"/>
        </reference>
        <reference anchor="RFC6313">
          <front>
            <title>Export of Structured Data in IP Flow Information Export (IPFIX)</title>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <author fullname="G. Dhandapani" initials="G." surname="Dhandapani"/>
            <author fullname="P. Aitken" initials="P." surname="Aitken"/>
            <author fullname="S. Yates" initials="S." surname="Yates"/>
            <date month="July" year="2011"/>
            <abstract>
              <t>This document specifies an extension to the IP Flow Information Export (IPFIX) protocol specification in RFC 5101 and the IPFIX information model specified in RFC 5102 to support hierarchical structured data and lists (sequences) of Information Elements in data records. This extension allows definition of complex data structures such as variable-length lists and specification of hierarchical containment relationships between Templates. Finally, the semantics are provided in order to express the relationship among multiple list elements in a structured data record. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6313"/>
          <seriesInfo name="DOI" value="10.17487/RFC6313"/>
        </reference>
        <reference anchor="RFC7014">
          <front>
            <title>Flow Selection Techniques</title>
            <author fullname="S. D'Antonio" initials="S." surname="D'Antonio"/>
            <author fullname="T. Zseby" initials="T." surname="Zseby"/>
            <author fullname="C. Henke" initials="C." surname="Henke"/>
            <author fullname="L. Peluso" initials="L." surname="Peluso"/>
            <date month="September" year="2013"/>
            <abstract>
              <t>The Intermediate Flow Selection Process is the process of selecting a subset of Flows from all observed Flows. The Intermediate Flow Selection Process may be located at an IP Flow Information Export (IPFIX) Exporter or Collector, or within an IPFIX Mediator. It reduces the effort of post-processing Flow data and transferring Flow Records. This document describes motivations for using the Intermediate Flow Selection process and presents Intermediate Flow Selection techniques. It provides an information model for configuring Intermediate Flow Selection Process techniques and discusses what information about an Intermediate Flow Selection Process should be exported.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7014"/>
          <seriesInfo name="DOI" value="10.17487/RFC7014"/>
        </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="RFC7348">
          <front>
            <title>Virtual eXtensible Local Area Network (VXLAN): A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks</title>
            <author fullname="M. Mahalingam" initials="M." surname="Mahalingam"/>
            <author fullname="D. Dutt" initials="D." surname="Dutt"/>
            <author fullname="K. Duda" initials="K." surname="Duda"/>
            <author fullname="P. Agarwal" initials="P." surname="Agarwal"/>
            <author fullname="L. Kreeger" initials="L." surname="Kreeger"/>
            <author fullname="T. Sridhar" initials="T." surname="Sridhar"/>
            <author fullname="M. Bursell" initials="M." surname="Bursell"/>
            <author fullname="C. Wright" initials="C." surname="Wright"/>
            <date month="August" year="2014"/>
            <abstract>
              <t>This document describes Virtual eXtensible Local Area Network (VXLAN), which is used to address the need for overlay networks within virtualized data centers accommodating multiple tenants. The scheme and the related protocols can be used in networks for cloud service providers and enterprise data centers. This memo documents the deployed VXLAN protocol for the benefit of the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7348"/>
          <seriesInfo name="DOI" value="10.17487/RFC7348"/>
        </reference>
        <reference anchor="RFC8926">
          <front>
            <title>Geneve: Generic Network Virtualization Encapsulation</title>
            <author fullname="J. Gross" initials="J." role="editor" surname="Gross"/>
            <author fullname="I. Ganga" initials="I." role="editor" surname="Ganga"/>
            <author fullname="T. Sridhar" initials="T." role="editor" surname="Sridhar"/>
            <date month="November" year="2020"/>
            <abstract>
              <t>Network virtualization involves the cooperation of devices with a wide variety of capabilities such as software and hardware tunnel endpoints, transit fabrics, and centralized control clusters. As a result of their role in tying together different elements of the system, the requirements on tunnels are influenced by all of these components. Therefore, flexibility is the most important aspect of a tunneling protocol if it is to keep pace with the evolution of technology. This document describes Geneve, an encapsulation protocol designed to recognize and accommodate these changing capabilities and needs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8926"/>
          <seriesInfo name="DOI" value="10.17487/RFC8926"/>
        </reference>
        <reference anchor="RFC9487">
          <front>
            <title>Export of Segment Routing over IPv6 Information in IP Flow Information Export (IPFIX)</title>
            <author fullname="T. Graf" initials="T." surname="Graf"/>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <author fullname="P. Francois" initials="P." surname="Francois"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document introduces new IP Flow Information Export (IPFIX) Information Elements (IEs) to identify a set of information related to Segment Routing over IPv6 (SRv6) such as data contained in a Segment Routing Header (SRH), the SRv6 control plane, and the SRv6 Endpoint behavior that traffic is being forwarded with.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9487"/>
          <seriesInfo name="DOI" value="10.17487/RFC9487"/>
        </reference>
        <reference anchor="I-D.liu-opsawg-ipfix-muti-layer" target="https://datatracker.ietf.org/doc/html/draft-liu-opsawg-ipfix-muti-layer-02">
          <front>
            <title>Export of Multiple Encapsulation Layer Information in IPFIX</title>
            <author initials="Y." surname="Liu" fullname="Yao Liu">
              <organization>ZTE Corporation</organization>
            </author>
            <author initials="T." surname="Zhou" fullname="Taoran Zhou">
              <organization>ZTE Corporation</organization>
            </author>
            <date year="2026" month="March" day="31"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-liu-opsawg-ipfix-muti-layer-02"/>
        </reference>
        <reference anchor="I-D.opsarea-rfc5706bis">
          <front>
            <title>Guidelines for Considering Operations and Management in IETF Specifications</title>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Everything OPS</organization>
            </author>
            <author fullname="Joe Clarke" initials="J." surname="Clarke">
              <organization>Cisco</organization>
            </author>
            <author fullname="Adrian Farrel" initials="A." surname="Farrel">
              <organization>Old Dog Consulting</organization>
            </author>
            <author fullname="Samier Barguil" initials="S." surname="Barguil">
              <organization>Nokia</organization>
            </author>
            <author fullname="Carlos Pignataro" initials="C." surname="Pignataro">
              <organization>Blue Fern Consulting</organization>
            </author>
            <author fullname="Ran Chen" initials="R." surname="Chen">
              <organization>ZTE</organization>
            </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   New Protocols or Protocol Extensions are best designed with due
   consideration of the functionality needed to operate and manage them.
   Retrofitting operations and management considerations is suboptimal.
   The purpose of this document is to provide guidance to authors and
   reviewers on what operational and management aspects should be
   addressed when defining New Protocols or Protocol Extensions.

   This document obsoletes RFC 5706, replacing it completely and
   updating it with new operational and management techniques and
   mechanisms.  It also introduces a requirement to include an
   "Operational Considerations" section in new RFCs in the IETF Stream.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-opsarea-rfc5706bis-06"/>
        </reference>
        <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>
      </references>
    </references>
    <?line 1381?>

<section anchor="migration-appendix">
      <name>Migration from Positional to Generic Information Elements</name>
      <t>This appendix is informative.  It provides guidance for migrating
existing deployments from positional Information Elements to generic
Information Elements used with the ordered export mechanism specified
in this document.</t>
      <t>Positional Information Elements were defined as a workaround for the
absence of an ordering guarantee in IPFIX (see <xref target="ie-proliferation"/>).
With ordered export, a single generic Information Element repeated N
times in an Ordered Template Record replaces N positional Information
Elements, where the N-th occurrence corresponds to the N-th observation
at the Observation Point.</t>
      <t>Migration requires both Exporting Process and Collecting Process updates
to support Ordered Template Sets (Set ID 4) or Ordered Options Template
Sets (Set ID 5).  Until ordered export is universally deployed, both
positional and generic forms must be supported concurrently.</t>
      <section anchor="mpls-information-elements">
        <name>MPLS Information Elements</name>
        <t>The following positional IPFIX IEs for MPLS label stacks and label
attributes are replaced by the generic IEs defined in this document
when used with ordered export.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Positional IE</th>
              <th align="left">IE ID</th>
              <th align="left">Generic IE</th>
              <th align="left">IE ID</th>
              <th align="left">Notes</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">mplsTopLabelType</td>
              <td align="left">46</td>
              <td align="left">mplsLabelType</td>
              <td align="left">TBD2</td>
              <td align="left">Top-of-stack only; generic IE covers position N</td>
            </tr>
            <tr>
              <td align="left">mplsTopLabelIPv4Address</td>
              <td align="left">47</td>
              <td align="left">mplsLabelIPv4Address</td>
              <td align="left">TBD3</td>
              <td align="left">Top-of-stack only; generic IE covers position N</td>
            </tr>
            <tr>
              <td align="left">mplsTopLabelStackSection</td>
              <td align="left">70</td>
              <td align="left">mplsLabelStackSection</td>
              <td align="left">TBD1</td>
              <td align="left">Occurrence 1 (top of stack)</td>
            </tr>
            <tr>
              <td align="left">mplsLabelStackSection2</td>
              <td align="left">71</td>
              <td align="left">mplsLabelStackSection</td>
              <td align="left">TBD1</td>
              <td align="left">Occurrence 2</td>
            </tr>
            <tr>
              <td align="left">mplsLabelStackSection3</td>
              <td align="left">72</td>
              <td align="left">mplsLabelStackSection</td>
              <td align="left">TBD1</td>
              <td align="left">Occurrence 3</td>
            </tr>
            <tr>
              <td align="left">mplsLabelStackSection4</td>
              <td align="left">73</td>
              <td align="left">mplsLabelStackSection</td>
              <td align="left">TBD1</td>
              <td align="left">Occurrence 4</td>
            </tr>
            <tr>
              <td align="left">mplsLabelStackSection5</td>
              <td align="left">74</td>
              <td align="left">mplsLabelStackSection</td>
              <td align="left">TBD1</td>
              <td align="left">Occurrence 5</td>
            </tr>
            <tr>
              <td align="left">mplsLabelStackSection6</td>
              <td align="left">75</td>
              <td align="left">mplsLabelStackSection</td>
              <td align="left">TBD1</td>
              <td align="left">Occurrence 6</td>
            </tr>
            <tr>
              <td align="left">mplsLabelStackSection7</td>
              <td align="left">76</td>
              <td align="left">mplsLabelStackSection</td>
              <td align="left">TBD1</td>
              <td align="left">Occurrence 7</td>
            </tr>
            <tr>
              <td align="left">mplsLabelStackSection8</td>
              <td align="left">77</td>
              <td align="left">mplsLabelStackSection</td>
              <td align="left">TBD1</td>
              <td align="left">Occurrence 8</td>
            </tr>
            <tr>
              <td align="left">mplsLabelStackSection9</td>
              <td align="left">78</td>
              <td align="left">mplsLabelStackSection</td>
              <td align="left">TBD1</td>
              <td align="left">Occurrence 9</td>
            </tr>
            <tr>
              <td align="left">mplsLabelStackSection10</td>
              <td align="left">79</td>
              <td align="left">mplsLabelStackSection</td>
              <td align="left">TBD1</td>
              <td align="left">Occurrence 10</td>
            </tr>
            <tr>
              <td align="left">mplsTopLabelPrefixLength</td>
              <td align="left">91</td>
              <td align="left">mplsLabelPrefixLength</td>
              <td align="left">TBD4</td>
              <td align="left">Top-of-stack only; generic IE covers position N</td>
            </tr>
            <tr>
              <td align="left">mplsTopLabelIPv6Address</td>
              <td align="left">140</td>
              <td align="left">mplsLabelIPv6Address</td>
              <td align="left">TBD5</td>
              <td align="left">Top-of-stack only; generic IE covers position N</td>
            </tr>
            <tr>
              <td align="left">mplsTopLabelTTL</td>
              <td align="left">200</td>
              <td align="left">mplsLabelStackSection</td>
              <td align="left">TBD1</td>
              <td align="left">TTL is encoded in octet 4 of the 4-octet label stack entry</td>
            </tr>
            <tr>
              <td align="left">mplsTopLabelExp</td>
              <td align="left">203</td>
              <td align="left">mplsLabelStackSection</td>
              <td align="left">TBD1</td>
              <td align="left">TC (Exp) is encoded in bits 21-23 of the 4-octet label stack entry</td>
            </tr>
            <tr>
              <td align="left">postMplsTopLabelExp</td>
              <td align="left">237</td>
              <td align="left">(not in scope)</td>
              <td align="left">--</td>
              <td align="left">Post-policy TC; no generic replacement defined in this document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="ieee-8021ad-q-in-q-information-elements">
        <name>IEEE 802.1ad Q-in-Q Information Elements</name>
        <t>The following positional IPFIX IEs for IEEE 802.1ad Q-in-Q (stacked
VLAN tags) are replaced by repeated use of the existing vlanId
(IPFIX IE 58) and postVlanId (IPFIX IE 59) Information Elements in an
Ordered Template Record.  No new generic IPFIX IEs are required for
VLAN IDs.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Positional IE</th>
              <th align="left">IE ID</th>
              <th align="left">Generic IE</th>
              <th align="left">IE ID</th>
              <th align="left">Notes</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">dot1qVlanId</td>
              <td align="left">243</td>
              <td align="left">vlanId</td>
              <td align="left">58</td>
              <td align="left">Occurrence 1 (outer S-TAG)</td>
            </tr>
            <tr>
              <td align="left">dot1qPriority</td>
              <td align="left">244</td>
              <td align="left">(not in scope)</td>
              <td align="left">--</td>
              <td align="left">No generic priority IE defined in this document</td>
            </tr>
            <tr>
              <td align="left">dot1qCustomerVlanId</td>
              <td align="left">245</td>
              <td align="left">vlanId</td>
              <td align="left">58</td>
              <td align="left">Occurrence 2 (inner C-TAG)</td>
            </tr>
            <tr>
              <td align="left">dot1qCustomerPriority</td>
              <td align="left">246</td>
              <td align="left">(not in scope)</td>
              <td align="left">--</td>
              <td align="left">No generic priority IE defined in this document</td>
            </tr>
            <tr>
              <td align="left">postDot1qVlanId</td>
              <td align="left">254</td>
              <td align="left">postVlanId</td>
              <td align="left">59</td>
              <td align="left">Occurrence 1 (outer S-TAG, post-NAT)</td>
            </tr>
            <tr>
              <td align="left">postDot1qCustomerVlanId</td>
              <td align="left">255</td>
              <td align="left">postVlanId</td>
              <td align="left">59</td>
              <td align="left">Occurrence 2 (inner C-TAG, post-NAT)</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors thank Yao Liu and Taoran Zhou for their work on
<xref target="I-D.liu-opsawg-ipfix-muti-layer"/>, which identified the multi-layer
encapsulation use case and motivated the broader problem statement
addressed in this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1963PbRpbv9/4rUErVrlRFKtbTtnLLdxRbzrjWdryWkpnZ
byAJSdiQBBcArWjs7N9+z++c0y+gQVHO3N3ZqU3VjCmy0ejHeT/H47Fpy3Ze
nGU7P9azoi5m2ZvldVUv8rasltnFvFgUyza7+HVV1W1WLrM3H7LX8+ouHiW/
7r758PrNn/d2TD6Z1MUnmpK/yNzEFztmVk2X+YJeN6vz63Y8nedlU4yrVZPf
3YzL1XX567iS4eOyGD95Ypr1ZFE2Db2mvV/Rc28url6b5XoxKeozM8tb+urw
yeHp+Mnp+PDITKtlUyybdXOWtfW6MLQI+pJG3VT1/VnWtDOzXuEpGvD0ycHB
KDs5fno6yk4Pnh2ZvC5ynMOqqHlfTZYvZ9m7fJnf8CnsmLuq/uWmrtYrDPtw
ef6nH3bML8U9fT07M9k44/3ig+4BH4vlNF816zlPiS/efXh7iX/n+aSY05Ly
6S/4s10vl8W8XN4Y86lYrguaMHPvGlpSdk5rzv5Ey6IHsx8wfIeek6Pa6X2f
19Nb+v62bVfN2bffLvJyjq/KT8V+WbTX+1V98y2++HZSV3dN8a3cy7c7xuTr
9raqeZPX6/lc7vD7YlmVbfaSL5Gmp23f5Mvyr7zUs+ziU1Hft7dYAR1W9k+0
2Hq6bjCwwKvPsglP8IfCDQQk7C+L1sQv+pCv59l52f5SLPuveVkWyzyYdJXz
wD9M8f3+tFp0JvtjNb8p6uxfivm8qPvTvSrWbTO9LbKrYl78Qk/7mW/5yf1f
+Mk/tPL7/qzovOAveZW9Ldf9qf/t6iJ7WdWELAoMbuZ5ud6/z6unB3/4a1tg
zfvTpTFLwbBPDAsfX788PDh4rh+fHTw91o9HT44O9SOAWT8CovUjAP3MmNJi
rJuPhj/xH4/9xxM7ydFBMMmx/2hf+PTo+Jld0fND++7nx8+e4uOb8at92lmM
3ot1W47n+T3wlw4gs+RHiUh1nb1bz9tyNS+yixB1srd4JqI7TI4I43Z4Igei
/N84610G/0c3kryI4JGrnL5fZv92W23xWEiCjsZHB/xlU9Rl0eDA7XLeLNui
JsAevwLds+Rvw+GMnxzK8eT1TUEPWJyl9+VtTTSDANHhLFHVb2/bxfzbLafF
xWAAEY9xfT09efrkdFI28X38sC5noEdFk9GJ076XDX1RMzYPkiO6vffFXfah
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

-->

</rfc>
