<?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' ?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no"?>
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ietf-opsawg-ipfix-ecn-01" ipr="trust200902" submissionType="IETF" obsoletes="" updates="" xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.0 -->
  <front>
    <title abbrev="ECN Export in IPFIX">Export of ECN Information in IPFIX</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-ipfix-ecn-01"/>
    <author fullname="Xueyan Song" initials="X." surname="Song">
      <organization>ZTE Corp.</organization>
      <address>
        <email>song.xueyan2@zte.com.cn</email>
      </address>
    </author>
    <author fullname="Sebastian Moeller" initials="S." surname="Moeller">
      <organization>Independent</organization>
      <address>
        <email>moeller0=40gmx.de@dmarc.ietf.org</email>
      </address>
    </author>	
    <author fullname="Yao Liu" initials="Y." surname="Liu">
      <organization>ZTE Corp.</organization>
      <address>
        <email>liu.yao71@zte.com.cn</email>
      </address>
    </author>
    <author fullname="Jonathan Newton" initials="J." surname="Newton">
      <organization>Vodafone</organization>
      <address>
        <email>jonathan.newton@vodafone.com</email>
      </address>
    </author>
    <author fullname="Jason Livingood" initials="J." surname="Livingood">
      <organization>Independent</organization>
      <address>
        <email>jason@thelivingoods.com</email>
      </address>
    </author>	
    <date/>
    <workgroup>OPSAWG</workgroup>
    <keyword>IPFIX</keyword>
	<keyword>L4S</keyword>
    <keyword>ECN</keyword>
    <!-- Keywords will be incorporated into HTML output
        files in a meta tag but they have no effect on text or nroff
        output. If you submit your draft to the RFC Editor, the
        keywords will be used for the search engine. -->

  <abstract>
      <t>
	  This document defines a set of IPFIX Information Elements for monitoring Explicit Congestion Notification (ECN). 
	  These Information Elements allow network operators to observe ECN codepoint usage across network traffic and evaluate the corresponding traffic performance. 
      </t>
    </abstract>
	
  </front>
      <!-- end of abstract -->	
	  
  <middle>
    <section anchor="sec_intro" numbered="true" toc="default">
      <name>Introduction</name>
	 <t>
     Explicit Congestion Notification (ECN) <xref target="RFC3168"/> allows network devices to signal congestion to endpoints without dropping packets. By 
	 marking the ECN field in IP headers (IPv4 and IPv6) or MPLS headers <xref target="RFC5129"/>, networks can improve congestion control efficiency and 
	 reduce latency.
	 </t>
	 <t>
	 IP Flow Information Export (IPFIX) <xref target="RFC7011"/> provides a standard protocol for exporting flow information from network devices. 
	 This document defines a set of IPFIX Information Elements for monitoring ECN usage and performance across network traffic. These elements enable network 
	 operators to observe ECN codepoint distributions, detect congestion events, and analyze ECN deployment status.
	 </t>
     <t>
	 The Information Elements defined in this document are applicable to classical ECN deployments (<xref target="RFC3168"/>) as well as newer services (e.g., <xref target="RFC9331"/>). 
	 This document specifies eleven IPFIX Information Elements (IEs) <xref target="RFC7012"/> to export ECN information.
     </t>	 
	</section>
    <!-- end of introduction -->
	

<section numbered="true" toc="default">
      <name>Terminology</name>
      <section numbered="true" toc="default">
        <name>Terms Used in This Document</name>
        <t>
     This document makes use of the terms defined in <xref target="RFC3168"/>, <xref target="RFC9331"/>, <xref target="RFC9330"/> and <xref target="RFC7011"/>. 
        </t>
          <t>IPFIX: IP Flow Information Export</t>
          <t>IPFIX Information Elements</t>
          <t>Observation Point</t>	 
          <t>ECN: Explicit Congestion Notification</t>		  
		  <t>ECT: ECN-capable Transport</t>	
		  <t>Not-ECT: Not ECN-capable transport</t>
		  <t>CE: Congestion Experienced</t>
          <t>L4S: Low Latency, Low Loss, and Scalable throughput (L4S) service</t>	 		  
		  </section>
	  
      <section numbered="true" toc="default">
        <name>Requirements Language</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" format="default"/> <xref target="RFC8174" format="default"/> when, and
    only when, they appear in all capitals, as shown here.
        </t>
      </section>
    </section>
    <!-- end of terminology -->

<!-- ===================================================================== -->

<section anchor="ECN-Overview" numbered="true" toc="default">
      <name>Overview of ECN Format</name>
	   <t> This section describes the ECN field formats in IP headers (IPv4 and IPv6) and in MPLS label headers.</t>
	    <section numbered="true" toc="default">
            <name>IP ECN</name>
      <t>
     For both IPv4 and IPv6 packets, the ECN field is located in bits 6 to 7 of the Differentiated Services (DS) field. In IPv4, the
   DS field occupies the Type of Service (TOS) byte <xref target="RFC791" format="default"/>, which has been superseded by the six-bit 
   DS Field <xref target="RFC2474" format="default"/>, <xref target="RFC2780" format="default"/>. In IPv6, the DS field occupies the 
   Traffic Class byte. Bits 6 and 7 are listed in <xref target="RFC2474" format="default"/> as Currently Unused, and are specified
   in <xref target="RFC2780" format="default"/> as approved for experimental use for ECN.
      </t>

	  <t>
	  The ECN field format is identical in both IPv4 and IPv6, as illustrated below:
	  </t>
	  
    <figure anchor="IP-ECN-Field">
        <name>ECN Field in IP Header</name>
        <artwork name="" type="" align="left" alt="">
    <![CDATA[
         0     1     2     3     4     5     6     7
      +-----+-----+-----+-----+-----+-----+-----+-----+
      |          DS Field, DSCP           | ECN Field |
      +-----+-----+-----+-----+-----+-----+-----+-----+	  

       ]]></artwork>
       </figure>
        <t>
        ECN Codepoint values: 
        </t>
          <t>- 00: Not ECT</t>
          <t>- 01: ECT(1)</t>
          <t>- 10: ECT(0)</t>
          <t>- 11: CE </t>

		<t>
         The ECT(0) and ECT(1) codepoints indicate ECN-capable transport, as defined in <xref target="RFC3168" format="default"/>.  
		 In addition, <xref target="RFC9331" format="default"/> specifies that ECT(1) is used to identify L4S-capable traffic, 
		 while ECT(0) is used to identify classical ECN-capable traffic.
        </t>
		  
	   </section>  

	 <section numbered="true" toc="default">
            <name>MPLS ECN</name>
      <t>
     Two mechanisms exist for carrying ECN information in MPLS networks.
      </t>
	   
	 <section numbered="true" toc="default">
         <name>MPLS EXP Encoding</name>	  
	  <t>
      <xref target="RFC5129" format="default"/> defines a framework for propagating ECN information using the MPLS Experimental (EXP) field in the MPLS
      label entry. The mapping between EXP values and ECN codepoints is domain-specific and operator-configured. See Section 4.2
      for the corresponding IPFIX IE.
	  </t>
	  </section>
      
	 <section numbered="true" toc="default">
         <name>MPLS Network Actions (MNA) Encoding</name>	  
	  <t>
      <xref target="I-D.halmir-mpls-ecn"/> defines an alternative mechanism using MPLS Network Actions (MNA) to carry ECN information in a 
      dedicated Sub-stack, independent of the EXP field. This preserves EXP bits for QoS differentiation while enabling standardized ECN propagation. 
	  See Section 4.3 for the corresponding IPFIX IE.
	  </t>
	  </section> 
    </section>
</section>
    <!-- end of overview -->

<!-- ===================================================================== -->

	   
<section anchor="ECN-IPFIX-IEs" numbered="true" toc="default">
      <name>IPFIX Information Elements for ECN Monitoring</name>
	  <t>
     This Section defines the Information Elements for ECN. These Information Elements allow network operators to have network visibility 
	 to ECN marking and evaluate the traffic performance.
      </t>	  
	    <section numbered="true" toc="default">
         <name>ipEcn</name>
          <dl newline="false" indent="3" spacing="normal" >
          <dt>Name:</dt>
          <dd>
            <t>ipEcn</t>
          </dd>
          <dt>ElementID:</dt>
          <dd >
            <t>TBD1</t>
          </dd>
          <dt>Description:</dt>
          <dd>
			<t indent="0"> This Information Element is used for capturing the complete ECN state of each packet, enabling detailed analysis of congestion notification.
		    The ECN field format is introduced in Section 3.1 of this document.</t>
			<t indent="0"> The Information Element encodes only these 2 bits. Therefore, its value may range from 0 to 3.</t> 
			<t indent="0"> This Information Element is protocol-agnostic and applies to both IPv4 and IPv6 packets, consistent with the design of 
			ipClassOfService (IE ID 5) and ipDiffServCodePoint (IE ID 195). The IP protocol version can be determined from the ipVersion Information 
			Element (IE ID 60) if needed.</t> 
			<t indent="0"> Reusing the existing information element ipClassOfService (IE ID: 5), which exports the 8 bits of the IPv4 ToS or IPv6 Traffic Class 
			field, and then extracting bits 6 and 7 for ECN information, is technically feasible but complex: the observed flows may be split into up to 64 
			distinct flows due to DSCP differences when ipClassOfService IE is used as Flow Key, whereas Collectors might have a range limit (e.g., 5 to 10). 
			Implementations MAY still derive ECN from ipClassOfService despite these limitations if the dedicated ipEcn IE is not available. In this case, 
			it is only suitable for small-scale ECN information monitoring or experimental ECN monitoring deployments.</t>  
          </dd>
          <dt>Data Type:</dt>
          <dd>
            <t indent="0" >unsigned8</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd >
            <t indent="0">identifier</t>
          </dd>
          <dt>Range:</dt>
          <dd >
            <t indent="0">0-3</t>
          </dd>
		  <dt>Additional Information:</dt>
          <dd>
            <t indent="0"> See <xref target="RFC3168" format="default"/> for ECN field definition. See <xref target="RFC9331" format="default"/> for the use of the ECT(1)
      codepoint to identify L4S-capable traffic.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t indent="0" ><xref target="RFC3168" format="default"/>, <xref target="RFC9331" format="default"/>, this document.</t>
          </dd>
        </dl>			
				
        </section>			
	  
	
	    <section numbered="true" toc="default">
            <name>mplsEcn</name>
          <dl newline="false" indent="3" spacing="normal" >
          <dt>Name:</dt>
          <dd>
            <t>mplsEcn</t>
          </dd>
          <dt>ElementID:</dt>
          <dd >
            <t>TBD2</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t indent="0"> This Information Element captures the ECN-specific semantics from the MPLS Experimental (EXP) field. The EXP field is a 3-bit 
			field in the MPLS label entry that MAY be used to carry ECN information within the MPLS domain, as defined in <xref target="RFC5129" format="default"/>.</t>
			<t indent="0"> <xref target="RFC5129" format="default"/> does not specify a standardized mapping between EXP values and ECN codepoints. The 
			interpretation is domain-specific. In deployments where the operator has configured ECN propagation using the least significant 2 bits of the EXP field,
			this Information Element exports those 2 bits (values 0-3). However, the semantic meaning of each value, including which value corresponds 
			to ECT(1) (which may identify L4S-capable traffic), depends on the MPLS domain's configured policy.</t> 	
			<t indent="0"> It is noted that the information extraction of this Information Element is only used when the MPLS domain has ECN support. 
			The Collector MUST apply domain-specific mapping knowledge to interpret the exported values as ECN codepoints. Specifically, this document 
			applies the local two-bit TC mapping policy to the mplsEcn field. The PHB-specific congestion-marking scheme defined in <xref target="RFC5129" format="default"/> 
			distinguishes only two states: Not-CM (Not Congestion Marked) and CM (Congestion Marked). Upon label push, Not-ECT, ECT(0), and ECT(1) packets 
			are all mapped to Not-CM, whereas only CE packets are mapped to CM; consequently, this PHB-specific ECN mapping cannot identify ECT(1) traffic. 
			In the absence of the local two-bit ECN mapping policy, the exporter can utilize mplsTopLabelExp (IE 203) in conjunction with domain mapping.</t> 			
          </dd>
          <dt>Data Type:</dt>
          <dd>
            <t indent="0" >unsigned8</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd >
            <t indent="0">identifier</t>
          </dd>
          <dt>Range:</dt>
          <dd >
            <t indent="0">0-3</t>
          </dd>
		  <dt>Additional Information:</dt>
          <dd>
            <t indent="0"> See <xref target="RFC5129" format="default"/> for the ECN propagation in MPLS. Note that <xref target="RFC5129" format="default"/> defines multiple propagation 
			models (Uniform, Pipe, Short Pipe) and does not mandate a specific EXP-to-ECN bit mapping. Operators MUST configure and document their 
			domain-specific mapping for Collector-side interpretation.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t indent="0" ><xref target="RFC5129" format="default"/>, <xref target="RFC3032" format="default"/>, this document.</t>
          </dd>
        </dl>			
      </section>	

	    <section numbered="true" toc="default">
            <name>mplsMnaEcn</name>
          <dl newline="false" indent="3" spacing="normal" >
          <dt>Name:</dt>
          <dd>
            <t>mplsMnaEcn</t>
          </dd>
          <dt>ElementID:</dt>
          <dd >
            <t>TBD3</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t indent="0"> This Information Element captures the ECN field from an MPLS Network Action (MNA) Sub-stack carrying ECN information, as defined 
			in <xref target="I-D.halmir-mpls-ecn"/>. </t>
			<t indent="0">  The MNA ECN mechanism uses a dedicated Opcode (including ISD and PSD option) to carry a 2-bit ECN value independently of 
			the MPLS TC (i.e., EXP) field. This allows ECN propagation without consuming EXP bits that may be used for QoS marking.</t> 	
			<t indent="0"> This Information Element is applicable when the MPLS domain has been configured to use MNA for ECN propagation. Implementations MUST identify 
			the MNA ECN Opcode in the label stack and extract the corresponding 2-bit ECN value. Once IANA assigns the ECN MNA Opcodes, this document will be 
			updated to include the specific values.</t> 
            <t indent="0"> The ECN field values are semantically equivalent to IP ECN: </t> 
             <t indent="0"> - 00: Not ECT</t>
             <t indent="0"> - 01: ECT(1)</t>
             <t indent="0"> - 10: ECT(0)</t>
             <t indent="0"> - 11: CE </t>							
          </dd>
          <dt>Data Type:</dt>
          <dd>
            <t indent="0" >unsigned8</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd >
            <t indent="0">identifier</t>
          </dd>
          <dt>Range:</dt>
          <dd >
            <t indent="0">0-3</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t indent="0" ><xref target="I-D.halmir-mpls-ecn"/>, this document.</t>
          </dd>
        </dl>			
      </section>	  
	  
	    <section numbered="true" toc="default">
            <name>notEctPacketDeltaCount</name>
          <dl newline="false" indent="3" spacing="normal" >
          <dt>Name:</dt>
          <dd>
            <t>notEctPacketDeltaCount</t>
          </dd>
          <dt>ElementID:</dt>
          <dd >
            <t>TBD4</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t indent="0"> The number of packets since the previous report (if any) in this Flow with ECN codepoint set to Not-ECT (binary 00).</t>		
          </dd>
          <dt>Units:</dt>
          <dd>
            <t indent="0" >packet</t>
          </dd>
          <dt>Data Type:</dt>
          <dd>
            <t indent="0" >unsigned64</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd >
            <t indent="0">deltaCounter</t>
          </dd>
		  <dt>Additional Information:</dt>
          <dd>
            <t indent="0"> Refer to <xref target="RFC3168" format="default"/>.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t indent="0" ><xref target="RFC3168" format="default"/>, this document.</t>
          </dd>
        </dl>			
      </section>	

	  
	    <section numbered="true" toc="default">
            <name>notEctPacketTotalCount</name>
          <dl newline="false" indent="3" spacing="normal" >
          <dt>Name:</dt>
          <dd>
            <t>notEctPacketTotalCount</t>
          </dd>
          <dt>ElementID:</dt>
          <dd >
            <t>TBD5</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t indent="0"> The total number of packets of this Flow with ECN codepoint set to Not-ECT at the Observation Point since the Metering Process 
		  (re-)initialization for this Observation Point.</t>		
          </dd>
          <dt>Units:</dt>
          <dd>
            <t indent="0" >packet</t>
          </dd>
          <dt>Data Type:</dt>
          <dd>
            <t indent="0" >unsigned64</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd >
            <t indent="0">totalCounter</t>
          </dd>
		  <dt>Additional Information:</dt>
          <dd>
            <t indent="0"> Refer to <xref target="RFC3168" format="default"/>.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t indent="0" ><xref target="RFC3168" format="default"/>, this document.</t>
          </dd>
        </dl>			
      </section>	   

	    <section numbered="true" toc="default">
            <name>ect0PacketDeltaCount</name>
          <dl newline="false" indent="3" spacing="normal" >
          <dt>Name:</dt>
          <dd>
            <t>ect0PacketDeltaCount</t>
          </dd>
          <dt>ElementID:</dt>
          <dd >
            <t>TBD6</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t indent="0"> The number of packets since the previous report (if any) in this Flow with ECN codepoint set to ECT(0) (binary 10).</t>		
          </dd>
          <dt>Units:</dt>
          <dd>
            <t indent="0" >packet</t>
          </dd>
          <dt>Data Type:</dt>
          <dd>
            <t indent="0" >unsigned64</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd >
            <t indent="0">deltaCounter</t>
          </dd>
		  <dt>Additional Information:</dt>
          <dd>
            <t indent="0"> Refer to <xref target="RFC3168" format="default"/>.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t indent="0" ><xref target="RFC3168" format="default"/>, this document.</t>
          </dd>
        </dl>			
      </section>	


	  <section numbered="true" toc="default">
            <name>ect0PacketTotalCount</name>
          <dl newline="false" indent="3" spacing="normal" >
          <dt>Name:</dt>
          <dd>
            <t>ect0PacketTotalCount</t>
          </dd>
          <dt>ElementID:</dt>
          <dd >
            <t>TBD7</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t indent="0"> The total number of packets of this Flow with ECN codepoint set to ECT(0) at the Observation Point since 
		  the Metering Process (re-)initialization for this Observation Point.</t>		
          </dd>
          <dt>Units:</dt>
          <dd>
            <t indent="0" >packet</t>
          </dd>
          <dt>Data Type:</dt>
          <dd>
            <t indent="0" >unsigned64</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd >
            <t indent="0">totalCounter</t>
          </dd>
		  <dt>Additional Information:</dt>
          <dd>
            <t indent="0"> Refer to <xref target="RFC3168" format="default"/>.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t indent="0" ><xref target="RFC3168" format="default"/>, this document.</t>
          </dd>
        </dl>			
      </section>

	  <section numbered="true" toc="default">
            <name>ect1PacketDeltaCount</name>
          <dl newline="false" indent="3" spacing="normal" >
          <dt>Name:</dt>
          <dd>
            <t>ect1PacketDeltaCount</t>
          </dd>
          <dt>ElementID:</dt>
          <dd >
            <t>TBD8</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t indent="0"> The number of packets since the previous report (if any) in this Flow with ECN codepoint set to ECT(1) (binary 01).</t>		
          </dd>
          <dt>Units:</dt>
          <dd>
            <t indent="0" >packet</t>
          </dd>
          <dt>Data Type:</dt>
          <dd>
            <t indent="0" >unsigned64</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd >
            <t indent="0">deltaCounter</t>
          </dd>
		  <dt>Additional Information:</dt>
          <dd>
            <t indent="0"> Refer to <xref target="RFC3168" format="default"/>.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t indent="0" ><xref target="RFC3168" format="default"/>, this document.</t>
          </dd>
        </dl>			
      </section>
   
	   
 	  <section numbered="true" toc="default">
            <name>ect1PacketTotalCount</name>
          <dl newline="false" indent="3" spacing="normal" >
          <dt>Name:</dt>
          <dd>
            <t>ect1PacketTotalCount</t>
          </dd>
          <dt>ElementID:</dt>
          <dd >
            <t>TBD9</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t indent="0"> The total number of packets of this Flow with ECN codepoint set to ECT(1) at the Observation Point since 
		  the Metering Process (re-)initialization for this Observation Point.</t>		
          </dd>
          <dt>Units:</dt>
          <dd>
            <t indent="0" >packet</t>
          </dd>
          <dt>Data Type:</dt>
          <dd>
            <t indent="0" >unsigned64</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd >
            <t indent="0">totalCounter</t>
          </dd>
		  <dt>Additional Information:</dt>
          <dd>
            <t indent="0"> Refer to <xref target="RFC3168" format="default"/>.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t indent="0" ><xref target="RFC3168" format="default"/>, this document.</t>
          </dd>
        </dl>			
      </section>
	  

 	  <section numbered="true" toc="default">
            <name>cePacketDeltaCount</name>
          <dl newline="false" indent="3" spacing="normal" >
          <dt>Name:</dt>
          <dd>
            <t>cePacketDeltaCount</t>
          </dd>
          <dt>ElementID:</dt>
          <dd >
            <t>TBD10</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t indent="0"> The number of packets since the previous report (if any) in this Flow with ECN codepoint set to CE (Congestion Experienced, binary 11).</t>		
          </dd>
          <dt>Units:</dt>
          <dd>
            <t indent="0" >packet</t>
          </dd>
          <dt>Data Type:</dt>
          <dd>
            <t indent="0" >unsigned64</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd >
            <t indent="0">deltaCounter</t>
          </dd>
		  <dt>Additional Information:</dt>
          <dd>
            <t indent="0"> Refer to <xref target="RFC3168" format="default"/>.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t indent="0" ><xref target="RFC3168" format="default"/>, this document.</t>
          </dd>
        </dl>			
      </section>

 	  <section numbered="true" toc="default">
            <name>cePacketTotalCount</name>
          <dl newline="false" indent="3" spacing="normal" >
          <dt>Name:</dt>
          <dd>
            <t>cePacketTotalCount</t>
          </dd>
          <dt>ElementID:</dt>
          <dd >
            <t>TBD11</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t indent="0"> The total number of packets of this Flow with ECN codepoint set to CE at the Observation Point since the Metering Process (re-)initialization
		  for this Observation Point.</t>		
          </dd>
          <dt>Units:</dt>
          <dd>
            <t indent="0" >packet</t>
          </dd>
          <dt>Data Type:</dt>
          <dd>
            <t indent="0" >unsigned64</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd >
            <t indent="0">totalCounter</t>
          </dd>
		  <dt>Additional Information:</dt>
          <dd>
            <t indent="0"> Refer to <xref target="RFC3168" format="default"/>.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t indent="0" ><xref target="RFC3168" format="default"/>, this document.</t>
          </dd>
        </dl>			
      </section>	   	
  
    </section>
    <!-- end of IPFIX IEs -->

<!-- ===================================================================== -->

<section numbered="true" toc="default">
      <name>Operational Considerations </name>
	   <t>
	  The IPFIX IEs defined in this document may have their information extraction positions adjusted based on different ECN monitoring purposes in the network. 
	  Among them, the basic ECN field elements are used to reflect the ECN codepoints carried in the IPv4 header, the IPv6 header, or the MPLS header. 
	  These fields can be flexibly extracted at any node along the path that has IPFIX export capability. For cumulative statistics IEs, the statistical data may be 
	  processed with a higher priority at traffic aggregation or egress nodes.
	   </t>
	   <t>
	   The CE marking may be either probabilistic or deterministic, as determined by the specific AQM implementation. The IEs for the statistical count 
	   of CE-mark packets enable operators to perform quantitative monitoring and management of congestion signaling and traffic performance, 
	   typically based on flow data that may be acquired via packet (see <xref target="RFC5476" format="default"/>, <xref target="RFC5477" format="default"/>) or 
	   flow sampling (see <xref target="RFC7014" format="default"/>). Implementations SHOULD employ sampling methods (see <xref target="RFC5475" format="default"/>) 
	   that preserve the statistical representativeness of these IEs and reduce bias risk of sampling results.
	   </t>
        <t>
       MPLS networks support two mechanisms for ECN propagation as introduced in Section 3.2.1 and Section 3.2.2. The IPFIX Information Element exported MUST correspond 
	   to the mechanism deployed in the MPLS domain. mplsEcn is used when the MPLS domain propagates ECN information via the EXP field, per <xref target="RFC5129" format="default"/>. 
	   In this mode, the mapping between EXP values and ECN codepoints is domain-specific. As an alternative, mplsTopLabelExp (IE ID 203) MAY be 
	   used to export the raw 3-bit EXP value, with ECN interpretation performed at the Collector. mplsMnaEcn is used when the MPLS domain propagates ECN information 
	   via MPLS Network Actions (MNA), per <xref target="I-D.halmir-mpls-ecn"/>. In this mode, ECN information is carried in a dedicated MNA Sub-stack identified by 
	   an Opcode. No domain-specific mapping is required at the Collector.
	    </t>
        <t>
        The calculation of derived metrics (e.g., CE marking ratios) from the base counters defined in Section 4 of this document is an implementation issue 
		for the IPFIX Collector. Operators can utilize the per-flow counts such as ect1PacketTotalCount and cePacketTotalCount for such purposes, provided that 
		CE-marked packets are attributed to their original ECT codepoint rather than aggregated indiscriminately, ensuring that
		ECN congestion signals of different ECN origions are distinguished. The calculation strategy is out of the scope of this document.
	    </t>

    </section>
    <!-- end of operation -->

<!-- ===================================================================== -->
	   
<section numbered="true" toc="default">
      <name>Security Considerations </name>
        <t>
       The security considerations for IPFIX <xref target="RFC7011" format="default"/> apply to this document. The elements for ECN reveal information about 
	   endpoint ECN capabilities. Although the information may generally be not sensitive, operators SHOULD consider applicable privacy regulations. IPFIX 
	   records containing L4S monitoring information SHOULD be transported using secure protocols such as TLS or DTLS and satisfy the mutual authentication 
	   between IPFIX Exporting Processes and IPFIX Collecting Processes as specified in <xref target="RFC7011" format="default"/>.	   
        </t>
        <t>
	   While individual ECN codepoints may not be sensitive in isolation, aggregated flow records can disclose: traffic patterns or user behavior. In deployments 
	   where specific semantics are assigned to ECN codepoints, such markings may reveal potential service types, for example, where ECT(1) indicates L4S-capable 
	   applications, it may reveal usage of services such as interactive video conferencing, cloud gaming or real-time service. Long-term 
	   collection of per-flow ECN statistics may enable correlation with user activity patterns, raising considerations under privacy regulations. Network operators 
	   are expected to implement some policies such as access control, anonymizing or aggregating ECN statistics to prevent endpoint identification.
        </t>    
	</section>
    <!-- end of security -->

<!-- ===================================================================== --> 
	   
<section numbered="true" toc="default">
      <name>IANA Considerations </name>
        <t>
       IANA is requested to allocate the following new IEs to the "IPFIX Information
   Elements" registry under the "IP Flow Information Export (IPFIX)
   Entities" registry group <xref target="IANA-IPFIX"/>.
        </t>
           <table anchor="New-IPFIX-IE" align="center">
        <name>New IPFIX Information Elements</name>
        <thead>
          <tr>
            <th align="left">Element ID</th>
            <th align="left">Name</th>				
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD1</td>
            <td align="left">ipEcn</td>			
            <td align="left">Section 4.1 of this&nbsp;document</td>
          </tr>
          <tr>
            <td align="left">TBD2</td>
            <td align="left">mplsEcn</td>			
            <td align="left">Section 4.2 of this&nbsp;document</td>
          </tr>  
          <tr>
            <td align="left">TBD3</td>
            <td align="left">mplsMnaEcn</td>			
            <td align="left">Section 4.3 of this&nbsp;document</td>
          </tr>   		  
          <tr>
            <td align="left">TBD4</td>
            <td align="left">notEctPacketDeltaCount</td>			
            <td align="left">Section 4.4 of this&nbsp;document</td>
          </tr>          
		  <tr>
            <td align="left">TBD5</td>
            <td align="left">notEctPacketTotalCount</td>			
            <td align="left">Section 4.5 of this&nbsp;document</td>
          </tr>
          <tr>
            <td align="left">TBD6</td>
            <td align="left">ect0PacketDeltaCount</td>			
            <td align="left">Section 4.6 of this&nbsp;document</td>
          </tr>
          <tr>
            <td align="left">TBD7</td>
            <td align="left">ect0PacketTotalCount</td>			
            <td align="left">Section 4.7 of this&nbsp;document</td>
          </tr>
          <tr>
            <td align="left">TBD8</td>
            <td align="left">ect1PacketDeltaCount</td>			
            <td align="left">Section 4.8 of this&nbsp;document</td>
          </tr>          
		  <tr>
            <td align="left">TBD9</td>
            <td align="left">ect1PacketTotalCount</td>			
            <td align="left">Section 4.9 of this&nbsp;document</td>
          </tr>
          <tr>
            <td align="left">TBD10</td>
            <td align="left">cePacketDeltaCount</td>			
            <td align="left">Section 4.10 of this&nbsp;document</td>
          </tr>
          <tr>
            <td align="left">TBD11</td>
            <td align="left">cePacketTotalCount</td>			
            <td align="left">Section 4.11 of this&nbsp;document</td>
          </tr>
         </tbody>
      </table>
    </section>
    <!-- end of IANA -->

    <section>
      <name>Acknowledgements</name>
      <t> The authors would like to acknowledge Greg Mirsky, Gorry Fairhurst, Joel Halpern, Sebastian Moeller, Ingemar Johansson, 
	  Benoit Claise, Zahed Sarker, Paul Aitken, Koen De Schepper, Djamel Sadok, for reviewing this document and providing their helpful comments. 
      The authors would also like to acknowledge Saumya Dikshit, Libin Liu, Changwang Lin, Aditya Dogra for their review and comments during WG adoption call.</t>
    </section>
<!-- ===================================================================== --> 


  </middle>  
    <!-- end of middle -->	  
	
  <back>
  <references>
     <name>References</name>	  
	  <references>
      <name>Normative References</name>	  
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7011.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7012.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3168.xml"/>
		<reference anchor="I-D.halmir-mpls-ecn" target="https://datatracker.ietf.org/doc/html/draft-halmir-mpls-ecn-03">
		<front>
		<title>Explicit Congestion Notification Using MPLS Network Actions</title>
		<author initials="J. M." surname="Halpern" fullname="Joel M. Halpern">
		<organization>HPE</organization>
		</author>
		<author initials="G." surname="Mirsky" fullname="Greg Mirsky">
		<organization>Individual</organization>
		</author>
		<date month="July" day="6" year="2026"/>
		</front>
		<seriesInfo name="Internet-Draft" value="draft-halmir-mpls-ecn-04"/>
		</reference>
	  </references>
	  <references>
      <name>Informative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.791.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2474.xml"/>	
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2780.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3032.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5129.xml"/>	
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5475.xml"/>	
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5476.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5477.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7014.xml"/>
		<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9330.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9331.xml"/>
      <reference anchor="IANA-IPFIX"
                 target="https://www.iana.org/assignments/ipfix/ipfix.xhtml">
        <front>
          <title>IANA, "IP Flow Information Export (IPFIX) Entities"</title>
          <author/>
          <date/>
        </front>
      </reference>
    </references>		
  </references>

    <section numbered="true" toc="default">
      <name>IPFIX ECN Encoding Examples</name>
       <section numbered="true" toc="default">
        <name>ipEcn as Flow Key</name>	  
        <t>With encoding in Figure 1, the example is represented with the following IEs, where "=>" is used to indicate which IE is mapped to given information.</t>
		<t>Source IP => sourceIPv4Address (8)</t>
		<t>Destination IP => destinationIPv4Address (12)</t>
		<t>Ingress interface => ingressInterface (10)</t>
		<t>ECN codepoint as Flow Key => ipEcn (TBD1)</t>
		<t>Per-codepoint packet/octet counts => packetDeltaCount (2), octetDeltaCount (1)</t>
		<t>Flow duration => flowStartMilliseconds (152), flowEndMilliseconds (153)</t>
		<figure anchor="ip-ecn-as-flow-key">
			<name>Template Record with ipEcn as Flow Key</name>
			<artwork name="" type="" align="left" alt="">
		<![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |          SET ID = 2           |          Length = 40          |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |      Template ID = 256        |      Field Count = 8          |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0|  sourceIPv4Address = 8      |      Field Length = 4         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0| destinationIPv4Address = 12 |      Field Length = 4         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0|    ingressInterface = 10    |      Field Length = 4         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0|          ipEcn = TBD1       |      Field Length = 1         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0|     packetDeltaCount = 2    |      Field Length = 8         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0|      octetDeltaCount = 1    |      Field Length = 8         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0| flowStartMilliseconds = 152 |      Field Length = 8         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0|  flowEndMilliseconds = 153  |      Field Length = 8         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  

		   ]]></artwork>
		   </figure>	  
	<t>In this example, the Template ID is 256, which will be used in the Data Record. Because ipEcn is a Flow Key, the observed flow is split into up to four 
	Flow Records, one per observed ECN codepoint; the ECN-specific counter IEs (Section 4.4-4.11) are therefore not needed in this Template, as each record's 
	codepoint is carried by the ipEcn key itself.In this example, the Template ID is 256, which will be used in the Data Record. Because ipEcn is a Flow Key, 
	the observed flow is split into up to four Flow Records, one per observed ECN codepoint; the ECN-specific counter IEs (Section 4.4-4.11) are therefore 
	not needed in this Template, as each record's codepoint is carried by the ipEcn key itself.  </t>
    </section>
	
      <section numbered="true" toc="default">
       <name>ECN Counters IEs without Flow-Key Splitting</name>	
	   <t>With encoding in Figure 3, the same flow is monitored without splitting it by codepoint:</t>
	   <t>Source IP => sourceIPv4Address (8)</t>
		<t>Destination IP => destinationIPv4Address (12)</t>
		<t>Ingress interface => ingressInterface (10)</t>
		<t>Per-codepoint packet counters => notEctPacketDeltaCount (TBD4), ect0PacketDeltaCount (TBD6), ect1PacketDeltaCount (TBD8), cePacketDeltaCount (TBD10)</t>
		<figure anchor="ecn-without-flow-key">
			<name>Template Record with ECN Counter Information Elements</name>
			<artwork name="" type="" align="left" alt="">
		<![CDATA[
  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |          SET ID = 2           |          Length = 36          |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |      Template ID = 257        |      Field Count = 7          |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0|  sourceIPv4Address = 8      |      Field Length = 4         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0| destinationIPv4Address = 12 |      Field Length = 4         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0|    ingressInterface = 10    |      Field Length = 4         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0| notEctPacketDeltaCount=TBD4 |      Field Length = 8         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0|  ect0PacketDeltaCount=TBD6  |      Field Length = 8         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0|  ect1PacketDeltaCount=TBD8  |      Field Length = 8         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |0|   cePacketDeltaCount=TBD10  |      Field Length = 8         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

		   ]]></artwork>
		   </figure>	
	
	<t>Note the trade-off between the two encodings: Template 256 preserves byte-level visibility per codepoint via octetDeltaCount but multiplies 
	the number of Flow Records by up to 4; Template 257 keeps one record per flow at the cost of losing per-codepoint octet counts. </t>
	  </section>
	</section>
  </back>
    <!-- end of middle -->	 
	
  </rfc>
