rfc9870.original   rfc9870.txt 
OPSAWG M. Boucadair Internet Engineering Task Force (IETF) M. Boucadair
Internet-Draft Orange Request for Comments: 9870 Orange
Intended status: Standards Track T. Reddy.K Category: Standards Track T. Reddy.K
Expires: 23 January 2025 Nokia ISSN: 2070-1721 Nokia
22 July 2024 September 2025
Export of UDP Options Information in IP Flow Information Export (IPFIX) Export of UDP Options Information in IP Flow Information Export (IPFIX)
draft-ietf-opsawg-tsvwg-udp-ipfix-14
Abstract Abstract
This document specifies new IP Flow Information Export (IPFIX) This document specifies new IP Flow Information Export (IPFIX)
Information Elements for UDP options. Information Elements for UDP options.
Discussion Venues
This note is to be removed before publishing as an RFC.
Discussion of this document takes place on the Operations and
Management Area Working Group Working Group mailing list
(opsawg@ietf.org), which is archived at
https://mailarchive.ietf.org/arch/browse/opsawg/.
Source for this draft and an issue tracker can be found at
https://github.com/boucadair/udp-ipfix.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 23 January 2025. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9870.
Copyright Notice Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the Copyright (c) 2025 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction
2. Conventions and Definitions . . . . . . . . . . . . . . . . . 3 2. Conventions and Definitions
3. UDP Options at a Glance . . . . . . . . . . . . . . . . . . . 3 3. UDP Options at a Glance
4. New UDP IPFIX Information Elements . . . . . . . . . . . . . 5 4. New UDP IPFIX Information Elements
4.1. udpSafeOptions . . . . . . . . . . . . . . . . . . . . . 5 4.1. udpSafeOptions
4.2. udpUnsafeOptions . . . . . . . . . . . . . . . . . . . . 6 4.2. udpUnsafeOptions
4.3. udpExID . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.3. udpExID
4.4. udpSafeExIDList . . . . . . . . . . . . . . . . . . . . . 7 4.4. udpSafeExIDList
4.5. udpUnsafeExIDList . . . . . . . . . . . . . . . . . . . . 8 4.5. udpUnsafeExIDList
5. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5. Examples
5.1. Reduced-size Encoding . . . . . . . . . . . . . . . . . . 8 5.1. Reduced-Size Encoding
5.2. SAFE Experimental Option . . . . . . . . . . . . . . . . 9 5.2. SAFE Experimental Option
5.3. ExIDs and Reduced-size Encoding . . . . . . . . . . . . . 9 5.3. ExIDs and Reduced-Size Encoding
6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 6. Security Considerations
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 7. IANA Considerations
7.1. IPFIX Information Elements . . . . . . . . . . . . . . . 10 7.1. IPFIX Information Elements
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 8. References
8.1. Normative References . . . . . . . . . . . . . . . . . . 11 8.1. Normative References
8.2. Informative References . . . . . . . . . . . . . . . . . 12 8.2. Informative References
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 13 Acknowledgments
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 Authors' Addresses
1. Introduction 1. Introduction
IP Flow Information Export (IPFIX) [RFC7011] is a protocol that is IP Flow Information Export (IPFIX) [RFC7011] is a protocol that is
widely deployed in networks for traffic management purposes widely deployed in networks for traffic management purposes
(Section 2 of [RFC6632]). The protocol specifies the encoding of a (Section 2 of [RFC6632]). The protocol specifies the encoding of a
set of basic data types and how the various Information Elements set of basic data types and how the various Information Elements
(IEs) are transmitted. In order to support the export of new flow- (IEs) are transmitted. In order to support the export of new Flow-
related measurement data, new IEs can be defined and registered in a related measurement data, new IEs can be defined and registered in a
dedicated IANA registry [IANA-IPFIX] for interoperability. dedicated IANA registry [IANA-IPFIX] for interoperability.
This document specifies new IPFIX Information Elements for UDP This document specifies new IPFIX Information Elements for UDP
options (Section 4). A brief overview of UDP options is provided in options (Section 4). A brief overview of UDP options is provided in
Section 3. Section 3.
The IE specified in Section 4.1 uses the new abstract data type The IE specified in Section 4.1 uses the new abstract data type
("unsigned256") defined in [I-D.ietf-opsawg-ipfix-tcpo-v6eh]. ("unsigned256") defined in [RFC9740].
Transport (including MTU) considerations are discussed in Section 10 Transport (including MTU) considerations are discussed in Section 10
of [RFC7011]. of [RFC7011].
Examples to illustrate the use of the new IPFIX Information Elements Examples to illustrate the use of the new IPFIX Information Elements
are provided in Section 5. are provided in Section 5.
2. Conventions and Definitions 2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
skipping to change at page 3, line 30 skipping to change at line 107
capitals, as shown here. capitals, as shown here.
This document uses the IPFIX-specific terminology (e.g., Flow) This document uses the IPFIX-specific terminology (e.g., Flow)
defined in Section 2 of [RFC7011]. As in the base IPFIX defined in Section 2 of [RFC7011]. As in the base IPFIX
specification [RFC7011], these IPFIX-specific terms have the first specification [RFC7011], these IPFIX-specific terms have the first
letter of a word capitalized. letter of a word capitalized.
The document adheres to the naming conventions for Information The document adheres to the naming conventions for Information
Elements per Section 2.3 of [RFC7012]. Elements per Section 2.3 of [RFC7012].
Also, this document uses the terms defined in Section 3 of Also, this document uses the terms defined in Section 3 of [RFC9868],
[I-D.ietf-tsvwg-udp-options], especially "datagram" and "surplus especially "datagram" and "surplus area".
area".
3. UDP Options at a Glance 3. UDP Options at a Glance
UDP [RFC0768] does not support an extension mechanism similar to the UDP [RFC0768] does not support an extension mechanism similar to the
options supported by other transport protocols, such as TCP options supported by other transport protocols, such as TCP
[RFC9293], SCTP [RFC9260], or DCCP [RFC4340]. Such a mechanism can [RFC9293], Stream Control Transmission Protocol (SCTP) [RFC9260], or
be useful for various applications, e.g., to discover a path MTU or Datagram Congestion Control Protocol (DCCP) [RFC4340]. Such a
share timestamps. To fill that void, [I-D.ietf-tsvwg-udp-options] mechanism can be useful for various applications, e.g., to discover a
extends UDP with a mechanism to insert extensions in datagrams. To path MTU or share timestamps. To fill that void, [RFC9868] extends
do so, and unlike the conventional approach that relies upon UDP with a mechanism to insert extensions in datagrams. To do so,
transport headers, [I-D.ietf-tsvwg-udp-options] uses trailers. and unlike the conventional approach that relies upon transport
Concretely, UDP options are placed in the surplus area (that is, the headers, [RFC9868] uses trailers. Concretely, UDP options are placed
area of an IP payload that follows a UDP packet). See Figure 1. An in the surplus area (that is, the area of an IP payload that follows
example of the use of UDP options for Datagram Packetization Layer a UDP packet). See Figure 1. An example of the use of UDP options
Path Maximum Transmission Unit Discovery (DPLPMTUD) is described in for Datagram Packetization Layer Path MTU Discovery (DPLPMTUD) is
[I-D.ietf-tsvwg-udp-options-dplpmtud]. described in [RFC9869].
IP transport payload IP transport payload
<-------------------------------------------------> <------------------------------------------------->
+--------+---------+----------------------+------------------+ +--------+---------+----------------------+------------------+
| IP Hdr | UDP Hdr | UDP user data | surplus area | | IP Hdr | UDP Hdr | UDP user data | surplus area |
+--------+---------+----------------------+------------------+ +--------+---------+----------------------+------------------+
<------------------------------> <------------------------------>
UDP Length UDP Length
Figure 1: Surplus Area Figure 1: Surplus Area
Sections 4.1 and 4.2 introduce new IEs to export the observed UDP Sections 4.1 and 4.2 introduce new IEs to export the observed UDP
options. options.
UDP options are unambiguously identified by means of a 1-byte field, UDP options are unambiguously identified by means of a 1-byte field,
called "Kind". called "Kind".
Options indicated by Kind values in the range 0-191 are called SAFE Options indicated by Kind values in the range 0-191 are called SAFE
options. Such options can be silently ignored by legacy receivers options. Such options can be silently ignored by legacy receivers
because they do not alter the UDP user data (Section 11 of because they do not alter the UDP user data (Section 11 of
[I-D.ietf-tsvwg-udp-options]). SAFE options are exported using the [RFC9868]). SAFE options are exported using the IE defined in
IE defined in Section 4.1. Section 4.1.
Options indicated by Kind values in the range 192-255 are called Options indicated by Kind values in the range 192-255 are called
UNSAFE options. Such options are not safe for legacy receivers to UNSAFE options. Such options are not safe for legacy receivers to
ignore because they alter the UDP user data (Section 12 of ignore because they alter the UDP user data (Section 12 of
[I-D.ietf-tsvwg-udp-options]). UNSAFE options are exported using the [RFC9868]). UNSAFE options are exported using the IE defined in
IE defined in Section 4.2. Section 4.2.
UDP options occur per-packet within a Flow and can be inserted at any UDP options occur per-packet within a Flow and can be inserted at any
time in the Flow. time in the Flow.
[I-D.ietf-tsvwg-udp-options] reserves two options for experiments: [RFC9868] reserves two options for experiments: the Experimental
the Experimental option (EXP, Kind=127) for SAFE options and the (EXP, Kind=127) option for SAFE options and the UNSAFE Experimental
UNSAFE Experimental option (UEXP, Kind=254). For both options, option (UEXP, Kind=254). For both options, Experiment Identifiers
Experiment Identifiers (ExIDs) are used to differentiate concurrent (ExIDs) are used to differentiate concurrent use of these options.
use of these options. Known ExIDs are expected to be registered Known ExIDs are expected to be registered within IANA. Section 4.4
within IANA. Section 4.4 specifies a new IPFIX IE to export observed specifies a new IPFIX IE to export observed ExIDs in the EXP options.
ExIDs in the EXP options. Also, Section 4.5 specifies a new IPFIX IE Also, Section 4.5 specifies a new IPFIX IE to export observed ExIDs
to export observed ExIDs in the UEXP options. Only 16-bit ExIDs are in the UEXP options. Only 16-bit ExIDs are supported in [RFC9868].
supported in [I-D.ietf-tsvwg-udp-options].
This document does not intend to elaborate operational guidance/ This document does not intend to elaborate operational guidance/
implications of UDP options. The document focuses exclusively on implications of UDP options. The document focuses exclusively on
exporting observed UDP options in datagrams. exporting observed UDP options in datagrams.
4. New UDP IPFIX Information Elements 4. New UDP IPFIX Information Elements
RFC Editor Note: Please update "URL_IANA_UDP_OPTIONS" reference
with the URL of the "UDP Option Kind Numbers" registry group and
"URL_IANA_UDP_ExIDs" with the URL of the "UDP Experimental Option
Experiment Identifiers (UDP ExIDs)" registry that will be created
by IANA as per Section 25 of [I-D.ietf-tsvwg-udp-options].
Given the Kind structure of SAFE and UNSAFE UDP options, using one Given the Kind structure of SAFE and UNSAFE UDP options, using one
single IE that would multiplex both types of option will limit the single IE that would multiplex both types of options will limit the
benefits of reduced-size encoding in the presence of UNSAFE options. benefits of reduced-size encoding in the presence of UNSAFE options.
For example, at least 24 octets would be needed to report mandatory For example, at least 24 octets would be needed to report mandatory
SAFE options that are observed in a Flow. In order to use less bits SAFE options that are observed in a Flow. In order to use less bits
to report observed UDP options, distinct IEs are thus defined to to report observed UDP options, distinct IEs are thus defined to
report SAFE (Section 4.1) and UNSAFE (Section 4.2) UDP options. As report SAFE (Section 4.1) and UNSAFE (Section 4.2) UDP options. As
further detailed in Section 5.1, only one octet is needed to report further detailed in Section 5.1, only one octet is needed to report
mandatory SAFE options. mandatory SAFE options.
4.1. udpSafeOptions 4.1. udpSafeOptions
Name: udpSafeOptions Name: udpSafeOptions
ElementID: TBD1 ElementID: 525
Description: Observed SAFE UDP options in a Flow. The information Description: Observed SAFE UDP options in a Flow. The information
is encoded in a set of bit fields. is encoded in a set of bit fields.
Options are mapped to bits according to their option numbers. UDP Options are mapped to bits according to their option numbers. UDP
option Kind 0 corresponds to the least-significant bit in the option Kind 0 corresponds to the least significant bit in the
udpSafeOptions IE while Kind 191 corresponds to the 65th most- udpSafeOptions IE, while Kind 191 corresponds to the 65th most
significant bit of the IE. The bit is set to 1 if the significant bit of the IE. The bit is set to 1 if the
corresponding SAFE UDP option is observed at least once in the corresponding SAFE UDP option is observed at least once in the
Flow. The bit is set to 0 if the option is never observed in the Flow. The bit is set to 0 if the option is never observed in the
Flow. The 64 most-significant bits MUST be set to 0. Flow. The 64 most significant bits MUST be set to 0.
The reduced-size encoding per Section 6.2 of [RFC7011] is followed The reduced-size encoding per Section 6.2 of [RFC7011] is followed
whenever fewer octets are needed to report observed SAFE UDP whenever fewer octets are needed to report observed SAFE UDP
options. For example, if only option Kinds <= 31 are observed, options. For example, if only option Kinds <= 31 are observed,
then the value of the udpSafeOptions IE can be encoded as then the value of the udpSafeOptions IE can be encoded as
unsigned32, or if only option Kinds <= 63 are observed, then the unsigned32, or if only option Kinds <= 63 are observed, then the
value of the udpSafeOptions IE can be encoded as unsigned64. value of the udpSafeOptions IE can be encoded as unsigned64.
The presence of udpSafeExIDList is an indication that the SAFE The presence of udpSafeExIDList is an indication that the SAFE
Experimental option is observed in a Flow. The presence of Experimental option is observed in a Flow. The presence of
udpSafeExIDList takes precedence over setting the corresponding udpSafeExIDList takes precedence over setting the corresponding
bit in the udpSafeOptions IE for the same Flow. In order to bit in the udpSafeOptions IE for the same Flow. In order to
optimize the use of the reduced-size encoding in the presence of optimize the use of the reduced-size encoding in the presence of
udpSafeExIDList IE, the Exporter MUST NOT set to 1 the EXP flag of udpSafeExIDList IE, the Exporter MUST NOT set the EXP flag of the
the udpSafeOptions IE that is reported for the same Flow. udpSafeOptions IE that is reported for the same Flow to 1.
Abstract Data Type: unsigned256 Abstract Data Type: unsigned256
Data Type Semantics: flags Data Type Semantics: flags
Additional Information: See the "UDP Option Kind Numbers" registry Additional Information: See the "UDP Option Kind Numbers" registry
at [URL_IANA_UDP_OPTIONS]. at [UDP_OPTIONS].
See [I-D.ietf-tsvwg-udp-options] for more details about UDP See [RFC9868] for more details about UDP options.
options.
Reference: This-Document Reference: RFC 9870
4.2. udpUnsafeOptions 4.2. udpUnsafeOptions
Name: udpUnsafeOptions Name: udpUnsafeOptions
ElementID: TBD2 ElementID: 526
Description: Observed UNSAFE UDP options in a Flow. The information Description: Observed UNSAFE UDP options in a Flow. The information
is encoded in a set of bit fields. is encoded in a set of bit fields.
Options are mapped to bits according to their option numbers. UDP Options are mapped to bits according to their option numbers. UDP
option Kind 192 corresponds to the least-significant bit in the option Kind 192 corresponds to the least significant bit in the
udpUnsafeOptions IE while Kind 255 corresponds to the most- udpUnsafeOptions IE, while Kind 255 corresponds to the most
significant bit of the IE. The bit is set to 1 if the significant bit of the IE. The bit is set to 1 if the
corresponding UNSAFE UDP option is observed at least once in the corresponding UNSAFE UDP option is observed at least once in the
Flow. The bit is set to 0 if the option is never observed in the Flow. The bit is set to 0 if the option is never observed in the
Flow. Flow.
The reduced-size encoding per Section 6.2 of [RFC7011] is followed The reduced-size encoding per Section 6.2 of [RFC7011] is followed
whenever fewer octets are needed to report observed UNSAFE UDP whenever fewer octets are needed to report observed UNSAFE UDP
options. options.
The presence of udpUnsafeExIDList is an indication that the UNSAFE The presence of udpUnsafeExIDList is an indication that the UNSAFE
Experimental option is observed in a Flow. The presence of Experimental option is observed in a Flow. The presence of
udpUnsafeExIDList takes precedence over setting the corresponding udpUnsafeExIDList takes precedence over setting the corresponding
bit in the udpUnsafeOptions IE for the same Flow. In order to bit in the udpUnsafeOptions IE for the same Flow. In order to
optimize the use of the reduced-size encoding in the presence of optimize the use of the reduced-size encoding in the presence of
udpUnsafeExIDList IE, the Exporter MUST NOT set to 1 the UEXP flag udpUnsafeExIDList IE, the Exporter MUST NOT set the UEXP flag of
of the udpUnsafeOptions IE that is reported for the same Flow. the udpUnsafeOptions IE that is reported for the same Flow to 1.
Abstract Data Type: unsigned64 Abstract Data Type: unsigned64
Data Type Semantics: flags Data Type Semantics: flags
Additional Information: See the "UDP Option Kind Numbers" registry Additional Information: See the "UDP Option Kind Numbers" registry
at [URL_IANA_UDP_OPTIONS]. at [UDP_OPTIONS].
See [I-D.ietf-tsvwg-udp-options] for more details about UDP See [RFC9868] for more details about UDP options.
options.
Reference: This-Document Reference: RFC 9870
4.3. udpExID 4.3. udpExID
Name: udpExID Name: udpExID
ElementID: TBD3 ElementID: 527
Description: Observed ExID in an Experimental option (EXP, Kind=127) Description: Observed ExID in an Experimental (EXP, Kind=127) option
or an UNSAFE Experimental option (UEXP, Kind=254). or an UNSAFE Experimental (UEXP, Kind=254) option.
A basicList of udpExID is used to report udpSafeExIDList and A basicList of udpExID is used to report udpSafeExIDList and
udpUnsafeExIDList values. udpUnsafeExIDList values.
Abstract Data Type: unsigned16 Abstract Data Type: unsigned16
Data Type Semantics: identifier Data Type Semantics: identifier
Additional Information: See the "UDP Experimental Option Experiment Additional Information: See the "TCP/UDP Experimental Option
Identifiers (UDP ExIDs)" registry at [URL_IANA_UDP_ExIDs]. Experiment Identifiers (TCP/UDP ExIDs)" registry at [UDP_ExIDs].
See [I-D.ietf-tsvwg-udp-options] for more details about ExIDs. See [RFC9868] for more details about ExIDs.
Reference: This-Document Reference: RFC 9870
4.4. udpSafeExIDList 4.4. udpSafeExIDList
Name: udpSafeExIDList Name: udpSafeExIDList
ElementID: TBD4 ElementID: 528
Description: Observed ExIDs in the Experimental option (EXP, Description: Observed ExIDs in the Experimental (EXP, Kind=127)
Kind=127). option.
A basicList of udpExID Information Elements in which each udpExID A basicList of udpExID Information Elements in which each udpExID
Information Element carries the ExID observed in an EXP option. Information Element carries the ExID observed in an EXP option.
Abstract Data Type: basicList Abstract Data Type: basicList
Data Type Semantics: list Data Type Semantics: list
Additional Information: See the "UDP Experimental Option Experiment Additional Information: See the "TCP/UDP Experimental Option
Identifiers (UDP ExIDs)" registry at [URL_IANA_UDP_ExIDs]. Experiment Identifiers (TCP/UDP ExIDs)" registry at [UDP_ExIDs].
See [I-D.ietf-tsvwg-udp-options] for more details about ExIDs. See [RFC9868] for more details about ExIDs.
Reference: This-Document Reference: RFC 9870
4.5. udpUnsafeExIDList 4.5. udpUnsafeExIDList
Name: udpUnsafeExIDList Name: udpUnsafeExIDList
ElementID: TBD5 ElementID: 529
Description: Observed ExIDs in the UNSAFE Experimental option (UEXP, Description: Observed ExIDs in the UNSAFE Experimental (UEXP,
Kind=254). Kind=254) option.
A basicList of udpExID Information Elements in which each udpExID A basicList of udpExID Information Elements in which each udpExID
Information Element carries the ExID observed in an UEXP option. Information Element carries the ExID observed in an UEXP option.
Abstract Data Type: basicList Abstract Data Type: basicList
Data Type Semantics: list Data Type Semantics: list
Additional Information: See the "UDP Experimental Option Experiment Additional Information: See the "TCP/UDP Experimental Option
Identifiers (UDP ExIDs)" registry at [URL_IANA_UDP_ExIDs]. Experiment Identifiers (TCP/UDP ExIDs)" registry at [UDP_ExIDs].
See [I-D.ietf-tsvwg-udp-options] for more details about ExIDs. See [RFC9868] for more details about ExIDs.
Reference: This-Document Reference: RFC 9870
5. Examples 5. Examples
5.1. Reduced-size Encoding 5.1. Reduced-Size Encoding
Given the UDP Kind allocation in Section 10 of Given the UDP Kind allocation in Section 10 of [RFC9868] and the
[I-D.ietf-tsvwg-udp-options] and the option mapping defined in option mapping defined in Section 4.1 of this document, fewer octets
Section 4.1 of this document, fewer octets are likely to be used for are likely to be used for Flows with mandatory UDP options.
Flows with mandatory UDP options.
Figure 2 shows an example of the Kind/bit mappings in the Figure 2 shows an example of the Kind/bit mappings in the
udpSafeOptions IE for a Flow in which End of Options List (EOL, udpSafeOptions IE for a Flow in which End of Options List (EOL,
Kind=0) and Alternate payload checksum (APC, Kind=2) options are Kind=0) and Additional Payload Checksum (APC, Kind=2) options are
observed. Only the bits that corresponds to EOL and APC options are observed. Only the bits that corresponds to EOL and APC options are
set to 1. set to 1.
MSB LSB MSB LSB
1 25 1 25
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 8 9 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+
|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| |0|0|0|0|0|1|0|1| |0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0| |0|0|0|0|0|1|0|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-++-+-+-+-+...+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-++-++-+-+-+-+...+-+-+-+-+-+-+-+-+
skipping to change at page 9, line 45 skipping to change at line 388
MSB LSB MSB LSB
12 25 12 25
0 1 2 3 ... 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 8 9 0 1 2 3 4 5 0 1 2 3 ... 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 8 9 0 1 2 3 4 5
+-+-+-+-+...+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+ +-+-+-+-+...+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+
|X|X|X|X| |X|X|X|X|X|X|X|X|X|X|X|1|X|X| |X|X|X|X|X|X|X| |X|X|X|X| |X|X|X|X|X|X|X|X|X|X|X|1|X|X| |X|X|X|X|X|X|X|
+-+-+-+-+...+-+-+-+-+-+-+-+-++-++-+-+-+-+...+-+-+-+-+-+-+-+ +-+-+-+-+...+-+-+-+-+-+-+-+-++-++-+-+-+-+...+-+-+-+-+-+-+-+
Figure 4: An Example of udpSafeOptions with EXP Option Figure 4: An Example of udpSafeOptions with EXP Option
5.3. ExIDs and Reduced-size Encoding 5.3. ExIDs and Reduced-Size Encoding
Now assume that EOL, APC, EXP, and UEXP options are observed in a Now assume that EOL, APC, EXP, and UEXP options are observed in a
Flow. Let us also consider that the observed SAFE Experimental Flow. Let us also consider that the observed SAFE Experimental
options have ExIDs set to 0x9858 and 0xE2D4, and UNSAFE Experimental options have ExIDs set to 0x9858 and 0xE2D4 and UNSAFE Experimental
options have ExIDs set to 0xC3D9 and 0x1234. Figure 5 shows an options have ExIDs set to 0xC3D9 and 0x1234. Figure 5 shows an
excerpt of the Data Set encoding with a focus on SAFE Experimental excerpt of the Data Set encoding with a focus on SAFE Experimental
options have ExIDs. The meaning of the fields is defined in options that have ExIDs. The fields are defined in [RFC6313].
[RFC6313].
MSB LSB MSB LSB
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
: ... : : ... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 255 | List Length = 9 |semantic=allof | | 255 | List Length = 9 |semantic=allof |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| udpExID = TBD3 | Field Length = 2 | | udpExID = 527 | Field Length = 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SAFE ExID = 0x9858 | SAFE ExID = 0xE2D4 | | SAFE ExID = 0x9858 | SAFE ExID = 0xE2D4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 255 | List Length = 9 |semantic=allof | | 255 | List Length = 9 |semantic=allof |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| udpExID = TBD3 | Field Length = 2 | | udpExID = 527 | Field Length = 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| UNSAFE ExID = 0xC3D9 | UNSAFE ExID = 0x1234 | | UNSAFE ExID = 0xC3D9 | UNSAFE ExID = 0x1234 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: ... : : ... :
Figure 5: Example of UDP Experimental Option ExID IEs Figure 5: Example of UDP Experimental Option ExID IEs
Following the guidance in Section 4.1, the reported udpSafeOptions IE Following the guidance in Section 4.1, the reported udpSafeOptions IE
will be set to 0x05 even in the presence of EXP options. will be set to 0x05 even in the presence of EXP options.
6. Security Considerations 6. Security Considerations
This document does not introduce new security considerations other This document does not introduce new security considerations other
than those already discussed in Section 11 of [RFC7011] and Section 8 than those already discussed in Section 11 of [RFC7011] and Section 8
of [RFC7012]. of [RFC7012].
The reader may refer to Section 24 of [I-D.ietf-tsvwg-udp-options] The reader may refer to Section 24 of [RFC9868] for the security
for the security considerations related to UDP options. considerations related to UDP options.
7. IANA Considerations 7. IANA Considerations
7.1. IPFIX Information Elements 7.1. IPFIX Information Elements
This document requests IANA to add the following new IEs to the IANA has added the following new IEs to the "IPFIX Information
"IPFIX Information Elements" registry under the "IP Flow Information Elements" registry under the "IP Flow Information Export (IPFIX)
Export (IPFIX) Entities" registry group [IANA-IPFIX]: Entities" registry group [IANA-IPFIX]:
+===========+===================+==============================+
| ElementID | Name | Specification |
+===========+===================+==============================+
| TBD1 | udpSafeOptions | Section 4.1 of This-Document |
+-----------+-------------------+------------------------------+
| TBD2 | udpUnsafeOptions | Section 4.2 of This-Document |
+-----------+-------------------+------------------------------+
| TBD3 | udpExID | Section 4.3 of This-Document |
+-----------+-------------------+------------------------------+
| TBD4 | udpSafeExIDList | Section 4.4 of This-Document |
+-----------+-------------------+------------------------------+
| TBD5 | udpUnsafeExIDList | Section 4.5 of This-Document |
+-----------+-------------------+------------------------------+
Table 1: New IPFIX Information Elements
udpSafeOptions uses the abstract data type ("unsigned256") defined +===========+===================+=========================+
in [I-D.ietf-opsawg-ipfix-tcpo-v6eh]. | ElementID | Name | Reference |
+===========+===================+=========================+
| 525 | udpSafeOptions | Section 4.1 of RFC 9870 |
+-----------+-------------------+-------------------------+
| 526 | udpUnsafeOptions | Section 4.2 of RFC 9870 |
+-----------+-------------------+-------------------------+
| 527 | udpExID | Section 4.3 of RFC 9870 |
+-----------+-------------------+-------------------------+
| 528 | udpSafeExIDList | Section 4.4 of RFC 9870 |
+-----------+-------------------+-------------------------+
| 529 | udpUnsafeExIDList | Section 4.5 of RFC 9870 |
+-----------+-------------------+-------------------------+
Note to IANA: The "Specification" column points to the sections Table 1: New IPFIX Information Elements
with the required information to register each IE.
Note to the RFC Editor: Please remove the IANA note once IANA udpSafeOptions uses the abstract data type ("unsigned256") defined in
actions are implemented. [RFC9740].
8. References 8. References
8.1. Normative References 8.1. Normative References
[I-D.ietf-opsawg-ipfix-tcpo-v6eh]
Boucadair, M. and B. Claise, "Extended TCP Options and
IPv6 Extension Headers IPFIX Information Elements", Work
in Progress, Internet-Draft, draft-ietf-opsawg-ipfix-tcpo-
v6eh-17, 5 July 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-opsawg-
ipfix-tcpo-v6eh-17>.
[I-D.ietf-tsvwg-udp-options]
Touch, J. D., "Transport Options for UDP", Work in
Progress, Internet-Draft, draft-ietf-tsvwg-udp-options-32,
21 March 2024, <https://datatracker.ietf.org/doc/html/
draft-ietf-tsvwg-udp-options-32>.
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
DOI 10.17487/RFC0768, August 1980, DOI 10.17487/RFC0768, August 1980,
<https://www.rfc-editor.org/rfc/rfc768>. <https://www.rfc-editor.org/info/rfc768>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/rfc/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC6313] Claise, B., Dhandapani, G., Aitken, P., and S. Yates, [RFC6313] Claise, B., Dhandapani, G., Aitken, P., and S. Yates,
"Export of Structured Data in IP Flow Information Export "Export of Structured Data in IP Flow Information Export
(IPFIX)", RFC 6313, DOI 10.17487/RFC6313, July 2011, (IPFIX)", RFC 6313, DOI 10.17487/RFC6313, July 2011,
<https://www.rfc-editor.org/rfc/rfc6313>. <https://www.rfc-editor.org/info/rfc6313>.
[RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken, [RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken,
"Specification of the IP Flow Information Export (IPFIX) "Specification of the IP Flow Information Export (IPFIX)
Protocol for the Exchange of Flow Information", STD 77, Protocol for the Exchange of Flow Information", STD 77,
RFC 7011, DOI 10.17487/RFC7011, September 2013, RFC 7011, DOI 10.17487/RFC7011, September 2013,
<https://www.rfc-editor.org/rfc/rfc7011>. <https://www.rfc-editor.org/info/rfc7011>.
[RFC7012] Claise, B., Ed. and B. Trammell, Ed., "Information Model [RFC7012] Claise, B., Ed. and B. Trammell, Ed., "Information Model
for IP Flow Information Export (IPFIX)", RFC 7012, for IP Flow Information Export (IPFIX)", RFC 7012,
DOI 10.17487/RFC7012, September 2013, DOI 10.17487/RFC7012, September 2013,
<https://www.rfc-editor.org/rfc/rfc7012>. <https://www.rfc-editor.org/info/rfc7012>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/rfc/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
8.2. Informative References [RFC9740] Boucadair, M. and B. Claise, "New IPFIX Information
Elements for TCP Options and IPv6 Extension Headers",
RFC 9740, DOI 10.17487/RFC9740, March 2025,
<https://www.rfc-editor.org/info/rfc9740>.
[I-D.ietf-tsvwg-udp-options-dplpmtud] [RFC9868] Touch, J. and C. Heard, Ed., "Transport Options for UDP",
Fairhurst, G. and T. Jones, "Datagram PLPMTUD for UDP RFC 9868, DOI 10.17487/RFC9868, September 2025,
Options", Work in Progress, Internet-Draft, draft-ietf- <https://www.rfc-editor.org/info/rfc9868>.
tsvwg-udp-options-dplpmtud-12, 7 May 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg- 8.2. Informative References
udp-options-dplpmtud-12>.
[IANA-IPFIX] [IANA-IPFIX]
"IP Flow Information Export (IPFIX) Entities", n.d., IANA, "IP Flow Information Export (IPFIX) Entities",
<https://www.iana.org/assignments/ipfix/ipfix.xhtml>. <https://www.iana.org/assignments/ipfix>.
[RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram [RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram
Congestion Control Protocol (DCCP)", RFC 4340, Congestion Control Protocol (DCCP)", RFC 4340,
DOI 10.17487/RFC4340, March 2006, DOI 10.17487/RFC4340, March 2006,
<https://www.rfc-editor.org/rfc/rfc4340>. <https://www.rfc-editor.org/info/rfc4340>.
[RFC6632] Ersue, M., Ed. and B. Claise, "An Overview of the IETF [RFC6632] Ersue, M., Ed. and B. Claise, "An Overview of the IETF
Network Management Standards", RFC 6632, Network Management Standards", RFC 6632,
DOI 10.17487/RFC6632, June 2012, DOI 10.17487/RFC6632, June 2012,
<https://www.rfc-editor.org/rfc/rfc6632>. <https://www.rfc-editor.org/info/rfc6632>.
[RFC9260] Stewart, R., Tüxen, M., and K. Nielsen, "Stream Control [RFC9260] Stewart, R., Tüxen, M., and K. Nielsen, "Stream Control
Transmission Protocol", RFC 9260, DOI 10.17487/RFC9260, Transmission Protocol", RFC 9260, DOI 10.17487/RFC9260,
June 2022, <https://www.rfc-editor.org/rfc/rfc9260>. June 2022, <https://www.rfc-editor.org/info/rfc9260>.
[RFC9293] Eddy, W., Ed., "Transmission Control Protocol (TCP)", [RFC9293] Eddy, W., Ed., "Transmission Control Protocol (TCP)",
STD 7, RFC 9293, DOI 10.17487/RFC9293, August 2022, STD 7, RFC 9293, DOI 10.17487/RFC9293, August 2022,
<https://www.rfc-editor.org/rfc/rfc9293>. <https://www.rfc-editor.org/info/rfc9293>.
[URL_IANA_UDP_ExIDs] [RFC9869] Fairhurst, G. and T. Jones, "Datagram Packetization Layer
"UDP Experimental Option Experiment Identifiers (UDP Path MTU Discovery (DPLPMTUD) for UDP Options", RFC 9869,
ExIDs)", n.d., <https://www.iana.org/assignments/url2>. DOI 10.17487/RFC9869, September 2025,
<https://www.rfc-editor.org/info/rfc9869>.
[URL_IANA_UDP_OPTIONS] [UDP_ExIDs]
"UDP Option Kind Numbers", n.d., IANA, "TCP/UDP Experimental Option Experiment Identifiers
<https://www.iana.org/assignments/url1>. (TCP/UDP ExIDs)", <https://www.iana.org/assignments/udp>.
[UDP_OPTIONS]
IANA, "UDP Option Kind Numbers",
<https://www.iana.org/assignments/udp>.
Acknowledgments Acknowledgments
Thanks to Benoît Claise for the discussion on the ordering of IPFIX Thanks to Benoît Claise for the discussion on the ordering of IPFIX
IEs. Thanks to Paul Aitken for the review and comments. IEs. Thanks to Paul Aitken for the review and comments.
Thanks to Tommy Pauly for the tsvart review, Joe Touch for the intdir Thanks to Tommy Pauly for the TSVART review, Joe Touch for the INTDIR
review, Robert Sparks for the genart review, Watson Ladd for the review, Robert Sparks for the GENART review, Watson Ladd for the
secdir review, and Jouni Korhonen for the opsdir review. SECDIR review, and Jouni Korhonen for the OPSDIR review.
Thanks to Thomas Graf for the Shepherd review. Thanks to Thomas Graf for the shepherd review.
Thanks to Mahesh Jethanandani for the AD review. Thanks to Mahesh Jethanandani for the AD review.
Thanks to Éric Vyncke, Roman Danyliw, and Zahed Sarker for the IESG Thanks to Éric Vyncke, Roman Danyliw, and Zahed Sarker for the IESG
review. review.
Authors' Addresses Authors' Addresses
Mohamed Boucadair Mohamed Boucadair
Orange Orange
 End of changes. 78 change blocks. 
218 lines changed or deleted 178 lines changed or added

This html diff was produced by rfcdiff 1.48.