[フレーム] Skip to main content
Javascript disabled? Like other modern websites, the IETF Datatracker relies on Javascript. Please enable Javascript for full functionality.

Information Element for Flow Discard Classification
draft-evans-opsawg-ipfix-discard-class-ie-02

This document is an Internet-Draft (I-D). Anyone may submit an I-D to the IETF. This I-D is not endorsed by the IETF and has no formal standing in the IETF standards process.
Document Type Active Internet-Draft (individual)
Authors John Evans , Oleksandr Pylypenko , Karim Cheaito
Last updated 2025年12月01日
RFC stream (None)
Intended RFC status (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
Email authors IPR References Referenced by Nits Search email archive
draft-evans-opsawg-ipfix-discard-class-ie-02
OPSAWG J. Evans
Internet-Draft O. Pylypenko
Intended status: Informational K. Cheaito
Expires: 22 March 2026 Amazon
 18 September 2025
 Information Element for Flow Discard Classification
 draft-evans-opsawg-ipfix-discard-class-ie-02
Abstract
 This document defines an IPFIX Information Element for classifying
 flow-level discards that aligns with the information model defined in
 [I-D.ietf-opsawg-discardmodel]. The flowDiscardClass Information
 Element provides consistent classification of packet discards across
 IPFIX implementations, enabling correlation between device, interface
 and control-plane discards and the impacted flows.
Status of This Memo
 This Internet-Draft is submitted in full conformance with the
 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
 and may be updated, replaced, or obsoleted by other documents at any
 time. It is inappropriate to use Internet-Drafts as reference
 material or to cite them other than as "work in progress."
 This Internet-Draft will expire on 22 March 2026.
Copyright Notice
 Copyright (c) 2025 IETF Trust and the persons identified as the
 document authors. All rights reserved.
Evans, et al. Expires 22 March 2026 [Page 1]
Internet-Draft IE for Flow Discard Classification September 2025
 This document is subject to BCP 78 and the IETF Trust's Legal
 Provisions Relating to IETF Documents (https://trustee.ietf.org/
 license-info) in effect on the date of publication of this document.
 Please review these documents carefully, as they describe your rights
 and restrictions with respect to this document. Code Components
 extracted from this document must include Revised BSD License text as
 described in Section 4.e of the Trust Legal Provisions and are
 provided without warranty as described in the Revised BSD License.
Table of Contents
 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
 3. Information Element . . . . . . . . . . . . . . . . . . . . . 4
 3.1. Design Rationale . . . . . . . . . . . . . . . . . . . . 4
 3.2. flowDiscardClass Definition . . . . . . . . . . . . . . . 5
 3.3. flowDiscardClass Values . . . . . . . . . . . . . . . . . 6
 3.4. Implementation Requirements . . . . . . . . . . . . . . . 8
 3.4.1. Semantics and Scope . . . . . . . . . . . . . . . . . 8
 3.4.2. Exporter Requirements . . . . . . . . . . . . . . . . 8
 3.4.3. Collector Requirements . . . . . . . . . . . . . . . 9
 3.4.4. Interoperability with Existing IPFIX IEs . . . . . . 10
 4. Security Considerations . . . . . . . . . . . . . . . . . . . 10
 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
 5.1. New IPFIX Information Element: flowDiscardClass . . . . . 10
 5.2. New Subregistry: "flowDiscardClass Values" . . . . . . . 11
 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
 6.1. Normative References . . . . . . . . . . . . . . . . . . 12
 6.2. Informative References . . . . . . . . . . . . . . . . . 13
 Appendix A. Correlating Flow Discards with Interface/Device/
 Control-Plane Discards . . . . . . . . . . . . . . . . . 13
 A.1. Correlation Keys . . . . . . . . . . . . . . . . . . . . 13
 A.2. Analysis Strategies . . . . . . . . . . . . . . . . . . . 13
 A.3. Operational Example: Impacted Flows (Congestion Drops) . 14
 A.4. Operational Example: Causal Flows (Congestion Drops) . . 15
 A.5. Implementation Note on Sampling . . . . . . . . . . . . . 16
 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction
 For network operators, understanding both where and why packet loss
 occurs within a network is essential for effective operation. While
 certain types of packet loss, such as policy-based discards, are
 intentional and part of normal network operation, unintended packet
 loss can impact customer services. To automate network operations,
 operators must be able to detect customer-impacting packet loss,
 determine its root cause, and apply appropriate mitigation actions.
Evans, et al. Expires 22 March 2026 [Page 2]
Internet-Draft IE for Flow Discard Classification September 2025
 [I-D.ietf-opsawg-discardmodel] addresses this need by defining an
 information model that provides precise classification of packet
 loss, enabling accurate automated mitigation. While its YANG data
 model implementation provides device, interface and control-plane
 discards, effective automated triage often requires understanding
 which specific flows are impacted. For example, when mitigating
 congestion, operators may need to identify and trace the sources of
 elephant flows. This requires the ability to correlate device and
 interface-level discard classes with the specific flows being
 dropped.
 Currently, [RFC7270] defines the forwardingStatus Information Element
 for reporting packet forwarding outcomes in IPFIX, including various
 reasons for packet drops. The defined drop reason codes lack the
 granularity and clarity needed for automated root cause analysis and
 impact mitigation, however. For instance, the "For us" reason code
 provides insufficient context to determine appropriate mitigation
 actions.
 This document addresses these limitations by introducing a new
 Information Element, flowDiscardClass, to provide a consistent
 classification scheme for packet discards across IPFIX
 implementations. This new element aligns with the classification
 scheme defined in [I-D.ietf-opsawg-discardmodel] and enables:
 1. Precise detection of unintended packet loss through clear
 distinction between intended and unintended discards
 2. Accurate root cause analysis through detailed classification of
 discard reasons
 3. Automated selection of mitigation actions based on discard type,
 rate, and duration
 4. Consistent reporting across vendor implementations in both YANG
 and IPFIX data models
 By providing this mapping between YANG and IPFIX implementations,
 this document enables operators to correlate device-level statistics
 with flow-level impacts, facilitating more effective automated
 network operations.
Evans, et al. Expires 22 March 2026 [Page 3]
Internet-Draft IE for Flow Discard Classification September 2025
2. Terminology
 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 [RFC2119] [RFC8174] when, and only when, they appear in all
 capitals, as shown here.
 This document makes use of the following terms:
 Packet discard: It accounts for any instance where a packet is
 dropped by a device, regardless of whether the discard was
 intentional or unintentional.
 Intended packet discards (Intended discards, for short): Are packets
 dropped due to deliberate network policies or configurations
 designed to enforce security or Quality of Service (QoS). For
 example, packets dropped because they match an Access Control List
 (ACL) denying certain traffic types.
 Unintended packet discards (Unintended discards, for short): Are
 packets that were dropped, which the network operator otherwise
 intended to deliver, i.e. which indicates an error state. There
 are many possible reasons for unintended packet loss, including:
 erroring links may corrupt packets in transit; incorrect routing
 tables may result in packets being dropped because they do not
 match a valid route; configuration errors may result in a valid
 packet incorrectly matching an ACL and being dropped.
 Device discard counters do not by themselves establish operator
 intent. Discards reported under policy (e.g., ACL/policer)
 indicate only that traffic matched a configured rule; such
 discards may still be unintended if the configuration is in error.
 Determining intent for policy discards requires external context
 (e.g., configuration validation and change history) which is out
 of scope for this specification.
3. Information Element
 This Information Element has been specified in accordance with the
 guidelines in [RFC7013].
3.1. Design Rationale
 The mapping between [I-D.ietf-opsawg-discardmodel] and the IPFIX
 flowDiscardClass Information Element follows these principles,
 maintaining consistency with the YANG model while allowing self-
 contained decoding from a single IE:
Evans, et al. Expires 22 March 2026 [Page 4]
Internet-Draft IE for Flow Discard Classification September 2025
 1. Scope. The flowDiscardClass Information Element is specifically
 for reporting flow-level discard reasons, and therefore only
 represents the flow subtree from [I-D.ietf-opsawg-discardmodel].
 The component is implicitly "flow" and the type is implicitly
 "discards"; interface, device, and control-plane components are
 out of scope for this IE.
 2. Hierarchy preserved. The enumeration mirrors the model: both
 leaves (specific reasons) and structural aggregates are assigned
 values so collectors can perform coarse or fine roll-ups. For
 L3, structural aggregates include address-family and cast (v4/v6,
 unicast/multicast/broadcast).
 3. Self-contained decoding. The value alone carries the discard
 class. Exporters and collectors can still use other IEs (e.g.,
 flowDirection, ipVersion, addresses, ipDiffServCodePoint) for
 correlation, but they are not required to decode the class.
 4. Specificity preference. The scheme encourages reporting the
 most-specific known class when available; aggregate values
 provide a fallback when only a broader category is known.
 5. Implementation-friendly ordering. Codes are assigned in preorder
 traversal (where each parent is numbered before its children) to
 reflect the model’s hierarchy and simplify range/roll-up handling
 in implementations.
3.2. flowDiscardClass Definition
 Name: flowDiscardClass
 Description: Classifies the reason a packet was discarded in a flow,
 using the hierarchical classification scheme defined in
 [I-D.ietf-opsawg-discardmodel].
 Abstract Data Type: unsigned8
 Data Type Semantics: identifier
 Units: none
 Range: 0..38 (values from Table 1; other values are unassigned and
 MUST be treated as unknown)
 Reversibility: reversible (value does not change under flow reversal
 as per [RFC5103])
 Status: current
Evans, et al. Expires 22 March 2026 [Page 5]
Internet-Draft IE for Flow Discard Classification September 2025
 ElementId: TBD
 References: [I-D.ietf-opsawg-discardmodel]
3.3. flowDiscardClass Values
 Table 1 defines the values for the flowDiscardClass Information
 Element mapped from the corresponding [I-D.ietf-opsawg-discardmodel]
 Discard Class. Codes are assigned in preorder traversal to reflect
 the hierarchy.
 The code points for flowDiscardClass are maintained by IANA in the
 "flowDiscardClass Values" subregistry of the IPFIX registry. Future
 additions or changes are managed via Expert Review as described in
 Section 5.
 +==============================+========================+
 | Discard Class | flowDiscardClass Value |
 +==============================+========================+
 | l2 | 0 |
 +------------------------------+------------------------+
 | l3 | 1 |
 +------------------------------+------------------------+
 | l3/v4 | 2 |
 +------------------------------+------------------------+
 | l3/v4/unicast | 3 |
 +------------------------------+------------------------+
 | l3/v4/multicast | 4 |
 +------------------------------+------------------------+
 | l3/v4/broadcast | 5 |
 +------------------------------+------------------------+
 | l3/v6 | 6 |
 +------------------------------+------------------------+
 | l3/v6/unicast | 7 |
 +------------------------------+------------------------+
 | l3/v6/multicast | 8 |
 +------------------------------+------------------------+
 | errors | 9 |
 +------------------------------+------------------------+
 | errors/l2 | 10 |
 +------------------------------+------------------------+
 | errors/l2/rx | 11 |
 +------------------------------+------------------------+
 | errors/l2/rx/crc-error | 12 |
 +------------------------------+------------------------+
 | errors/l2/rx/invalid-mac | 13 |
 +------------------------------+------------------------+
 | errors/l2/rx/invalid-vlan | 14 |
Evans, et al. Expires 22 March 2026 [Page 6]
Internet-Draft IE for Flow Discard Classification September 2025
 +------------------------------+------------------------+
 | errors/l2/rx/invalid-frame | 15 |
 +------------------------------+------------------------+
 | errors/l2/tx | 16 |
 +------------------------------+------------------------+
 | errors/l3 | 17 |
 +------------------------------+------------------------+
 | errors/l3/rx | 18 |
 +------------------------------+------------------------+
 | errors/l3/rx/checksum-error | 19 |
 +------------------------------+------------------------+
 | errors/l3/rx/mtu-exceeded | 20 |
 +------------------------------+------------------------+
 | errors/l3/rx/invalid-packet | 21 |
 +------------------------------+------------------------+
 | errors/l3/ttl-expired | 22 |
 +------------------------------+------------------------+
 | errors/l3/no-route | 23 |
 +------------------------------+------------------------+
 | errors/l3/invalid-sid | 24 |
 +------------------------------+------------------------+
 | errors/l3/invalid-label | 25 |
 +------------------------------+------------------------+
 | errors/l3/tx | 26 |
 +------------------------------+------------------------+
 | errors/internal | 27 |
 +------------------------------+------------------------+
 | errors/internal/parity-error | 28 |
 +------------------------------+------------------------+
 | policy | 29 |
 +------------------------------+------------------------+
 | policy/l2 | 30 |
 +------------------------------+------------------------+
 | policy/l2/acl | 31 |
 +------------------------------+------------------------+
 | policy/l3 | 32 |
 +------------------------------+------------------------+
 | policy/l3/acl | 33 |
 +------------------------------+------------------------+
 | policy/l3/policer | 34 |
 +------------------------------+------------------------+
 | policy/l3/null-route | 35 |
 +------------------------------+------------------------+
 | policy/l3/rpf | 36 |
 +------------------------------+------------------------+
 | policy/l3/ddos | 37 |
 +------------------------------+------------------------+
 | no-buffer | 38 |
Evans, et al. Expires 22 March 2026 [Page 7]
Internet-Draft IE for Flow Discard Classification September 2025
 +------------------------------+------------------------+
 Table 1: Flow discard classification values and
 corresponding discard classes
 For discard classes where per-traffic-class granularity is
 operationally significant (e.g., no-buffer, policy/l3/policer), the
 traffic class SHOULD be conveyed via companion IEs in the same Flow
 Record (e.g., ipDiffServCodePoint for L3, dot1qPriority for L2).
 This enables correlation with per-class interface counters from
 [I-D.ietf-opsawg-discardmodel].
3.4. Implementation Requirements
3.4.1. Semantics and Scope
 1. Scope of this IE. flowDiscardClass MUST be used only to report
 flow-level discard classification under flow/discards from
 [I-D.ietf-opsawg-discardmodel]. It MUST NOT be used for
 interface, device, or control-plane discard counters.
 2. Enumeration. Exporters MUST encode values only from the IANA
 "flowDiscardClass Values" subregistry for this IE. Collectors
 MUST accept both aggregate and leaf values and interpret
 aggregates as semantic supersets of their descendants.
 3. Unknown/Unassigned values. Collectors receiving an unknown or
 unassigned value MUST treat it as unknown and MUST NOT remap it
 to another code. Exporters MUST NOT transmit unassigned values.
 4. Reversibility. The value of flowDiscardClass MUST NOT change
 under biflow reversal as defined by [RFC5103].
3.4.2. Exporter Requirements
 1. Cardinality. A Flow Record MUST contain at most one instance of
 flowDiscardClass.
 2. Multiplicity. When multiple discard reasons apply to the same
 flow interval, exporters MUST export multiple Flow Records, one
 per discard reason. Each Flow Record MUST carry the same flow
 keys (5-tuple, interfaces, timestamps) but a distinct
 flowDiscardClass value. Where possible, exporters SHOULD include
 per-reason droppedPacketDeltaCount and/or droppedOctetDeltaCount
 to quantify the volume attributed to each specific discard class.
Evans, et al. Expires 22 March 2026 [Page 8]
Internet-Draft IE for Flow Discard Classification September 2025
 * While this approach creates multiple Flow Records for the same
 flow 5-tuple, it provides crucial diagnostic granularity.
 Collectors can easily aggregate by summing dropped counts
 across records with the same flow keys, while preserving the
 ability to attribute loss to specific root causes. This
 design maintains full fidelity of per-reason discard
 statistics.
 3. Specificity. Exporters SHOULD report the most-specific known
 class (a leaf). If the specific leaf is unknown, an appropriate
 parent/aggregate MAY be used.
 4. Interval semantics. When exported on an interval Flow Record,
 the presence of flowDiscardClass indicates that at least one
 packet in the interval matched that class. Exporters MUST
 include droppedPacketDeltaCount and/or droppedOctetDeltaCount in
 the same record to quantify the volume attributed to that
 specific discard reason. When multiple discard reasons affect
 the same flow (per point 2), the sum of per-reason dropped counts
 across all records for that flow represents the total flow-level
 discards.
 5. Traffic class context. For discard classes where per-class
 correlation is operationally significant (e.g., no-buffer,
 policy/l3/policer), exporters SHOULD include a traffic-class IE
 in the same record (e.g., ipDiffServCodePoint or ipClassOfService
 for L3, dot1qPriority for L2). If classification occurs after
 remarking, exporters SHOULD use the post-remark class, or provide
 a device queue-ID→class mapping via IPFIX Options data.
 6. Context. To aid correlation with interface/device/control-plane
 counters, exporters SHOULD include time bounds (flowStart/flowEnd
 or an observation-time IE), ingressInterface/egressInterface as
 applicable, and observationPointId when multiple pipeline stages/
 taps exist.
3.4.3. Collector Requirements
 1. Multiple records per flow. When multiple Flow Records carry
 different flowDiscardClass values for the same flow keys and
 overlapping time intervals, collectors MUST treat them as
 indicating distinct discard reasons affecting the same flow.
 Collectors SHOULD aggregate these records when computing per-flow
 total discards, while preserving per-reason breakdowns for root
 cause analysis.
Evans, et al. Expires 22 March 2026 [Page 9]
Internet-Draft IE for Flow Discard Classification September 2025
 2. Aggregate handling. When a parent/aggregate class is received,
 collectors MUST treat it as a coarse classification that may
 encompass multiple leaves.
 3. Traffic class correlation. When a traffic-class IE is present
 alongside no-buffer or policy/l3/policer, collectors SHOULD use
 it to correlate with per-class interface counters. If absent,
 collectors MAY apply local device mappings if available.
 4. Unknown values. Collectors MUST handle unknown/unassigned values
 gracefully (e.g., categorize as "unknown") without rejecting the
 record.
3.4.4. Interoperability with Existing IPFIX IEs
 1. Exporters and collectors MAY also use existing IEs (e.g.,
 flowDirection, ipVersion, addresses, ipDiffServCodePoint) for
 filtering, correlation, or redundancy.
 2. flowDiscardClass alone MUST be sufficient to recover the discard
 classification.
 3. Exporters MAY continue to export forwardingStatus ([RFC7270]) in
 parallel. When both are present, flowDiscardClass MUST be
 considered authoritative for discard classification.
 4. When flow sampling is active, the presence of flowDiscardClass
 indicates at least one sampled packet matched that class.
4. Security Considerations
 This document defines a new Information Element for flow-level
 discard classification to align with the information model defined in
 [I-D.ietf-opsawg-discardmodel]. As such, there are no security
 issues related to this document, which are additional to those
 discussed in [RFC7011], [RFC7012].
5. IANA Considerations
 IANA is requested to make the following changes under the IP Flow
 Information Export (IPFIX) Information Elements registry.
5.1. New IPFIX Information Element: flowDiscardClass
 IANA is requested to register a new Information Element as follows:
 * Name: flowDiscardClass
Evans, et al. Expires 22 March 2026 [Page 10]
Internet-Draft IE for Flow Discard Classification September 2025
 * ElementId: TBD (to be assigned by IANA)
 * Description: Classifies the reason a packet was discarded in a
 flow, using the hierarchical classification scheme defined in
 [I-D.ietf-opsawg-discardmodel].
 * Abstract Data Type: unsigned8
 * Data Type Semantics: identifier
 * Units: none
 * Range: 0..38 (values are listed in the "flowDiscardClass Values"
 subregistry created below; other values are unassigned and MUST be
 treated as unknown)
 * Reversibility: reversible (value does not change under flow
 reversal as per [RFC5103])
 * Status: current
 * Reference: This document; [RFC7013]
5.2. New Subregistry: "flowDiscardClass Values"
 IANA is requested to create a new subregistry titled
 "flowDiscardClass Values" under the IPFIX Information Elements
 registry. This subregistry contains the enumerated values for the
 flowDiscardClass IE.
 * Registration Procedure: Expert Review ([RFC8126])
 * Reference: This document; [RFC7013]
 * Fields:
 - Value (integer)
 - Name (path under flow/discards/...)
 - Description (optional)
 - Reference
 Designated Expert guidance: New code points should reflect additions
 to or clarifications of discard reasons in
 [I-D.ietf-opsawg-discardmodel] (or its successor). Existing code
 points MUST NOT be repurposed. Backwards-compatible additions are
Evans, et al. Expires 22 March 2026 [Page 11]
Internet-Draft IE for Flow Discard Classification September 2025
 preferred. Experts SHOULD maintain the hierarchical structure (e.g.,
 assigning aggregates and leaves consistently) and, where practical,
 preserve preorder (depth-first) numbering to align with the existing
 tree.
6. References
6.1. Normative References
 [I-D.ietf-opsawg-discardmodel]
 Evans, J., Pylypenko, O., Haas, J., Kadosh, A., and M.
 Boucadair, "Information and Data Models for Packet Discard
 Reporting", Work in Progress, Internet-Draft, draft-ietf-
 opsawg-discardmodel-10, 26 November 2025,
 <https://datatracker.ietf.org/doc/html/draft-ietf-opsawg-
 discardmodel-10>.
 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
 Requirement Levels", BCP 14, RFC 2119,
 DOI 10.17487/RFC2119, March 1997,
 <https://www.rfc-editor.org/rfc/rfc2119>.
 [RFC5103] Trammell, B. and E. Boschi, "Bidirectional Flow Export
 Using IP Flow Information Export (IPFIX)", RFC 5103,
 DOI 10.17487/RFC5103, January 2008,
 <https://www.rfc-editor.org/rfc/rfc5103>.
 [RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken,
 "Specification of the IP Flow Information Export (IPFIX)
 Protocol for the Exchange of Flow Information", STD 77,
 RFC 7011, DOI 10.17487/RFC7011, September 2013,
 <https://www.rfc-editor.org/rfc/rfc7011>.
 [RFC7012] Claise, B., Ed. and B. Trammell, Ed., "Information Model
 for IP Flow Information Export (IPFIX)", RFC 7012,
 DOI 10.17487/RFC7012, September 2013,
 <https://www.rfc-editor.org/rfc/rfc7012>.
 [RFC7013] Trammell, B. and B. Claise, "Guidelines for Authors and
 Reviewers of IP Flow Information Export (IPFIX)
 Information Elements", BCP 184, RFC 7013,
 DOI 10.17487/RFC7013, September 2013,
 <https://www.rfc-editor.org/rfc/rfc7013>.
 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
 Writing an IANA Considerations Section in RFCs", BCP 26,
 RFC 8126, DOI 10.17487/RFC8126, June 2017,
 <https://www.rfc-editor.org/rfc/rfc8126>.
Evans, et al. Expires 22 March 2026 [Page 12]
Internet-Draft IE for Flow Discard Classification September 2025
 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
 May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.
6.2. Informative References
 [RFC7270] Yourtchenko, A., Aitken, P., and B. Claise, "Cisco-
 Specific Information Elements Reused in IP Flow
 Information Export (IPFIX)", RFC 7270,
 DOI 10.17487/RFC7270, June 2014,
 <https://www.rfc-editor.org/rfc/rfc7270>.
Appendix A. Correlating Flow Discards with Interface/Device/Control-
 Plane Discards
 This appendix is non-normative. It describes how to map high-level
 interface discard counters (from [I-D.ietf-opsawg-discardmodel]) to
 the specific flows responsible for or affected by those discards.
A.1. Correlation Keys
 To correlate a discard counter anomaly with flow records, the
 collector must join data on three key dimensions:
 1. Time: Align the counter collection interval with the Flow Record
 start/end times (allowing for small clock skew).
 2. Location: Match the Observation Domain and Interface.
 * For Ingress discards: match ingressInterface.
 * For Egress discards: match egressInterface.
 3. Discard Class: Match the YANG discard-class leaf with the IPFIX
 flowDiscardClass value.
 * Note: If the drop is specific to a traffic class (e.g., no-
 buffer), the collector must also match the traffic class
 identifier (e.g., ipDiffServCodePoint) to the specific queue
 experiencing loss.
A.2. Analysis Strategies
 Once flow records are correlated with discard counters, operators can
 rank or group flows to determine:
Evans, et al. Expires 22 March 2026 [Page 13]
Internet-Draft IE for Flow Discard Classification September 2025
 * Impacted analysis: Which flows suffered loss? This is determined
 by grouping flows by the presence of the flowDiscardClass (or
 summing dropped-octets/packets) to identify the symptomatic flows
 of the event.
 * Causal analysis (when meaningful): Which flows likely contributed
 to the interface/device condition? For congestive discards (e.g.
 no-buffer), this is determined by identifying the top senders (by
 total volume or rate) in the same traffic class and egress
 interface during the anomaly.
A.3. Operational Example: Impacted Flows (Congestion Drops)
 Scenario: an anomaly is detected in no-buffer discards on Ethernet1/0
 (ifIndex 10) in the egress direction. The drops are occurring in the
 Best Effort queue (DSCP 0).
 1. Signal: Interface discard counter
 * Time: 2025年09月18日 10:00:00 – 10:01:00
 * Observation Domain: 1234
 * Interface: 10 (egress)
 * Class: no-buffer (value 38; see Table 1)
 * Queue/DSCP: 0
 2. Correlation: SQL Query
 The operator queries the IPFIX store to perform impact analysis —
 identifying symptomatic flows of the congestion event:
 sql SELECT src_addr, dst_addr, l4_dst_port, protocol,
 SUM(droppedPacketDeltaCount) AS total_pkt_discards FROM
 flow_records WHERE -- 0. Match Observation Domain
 observationDomainId = 1234 -- 1. Match Location (egress
 interface) AND egressInterface = 10 -- 2. Match Time Window (any
 overlap with counter interval) AND flowEnd >= '2025年09月18日
 10:00:00' AND flowStart <= '2025年09月18日 10:01:00' -- 3. Match
 Discard Class (no-buffer) AND flowDiscardClass = 38 -- 4. Match
 Traffic Class context (Best Effort) AND ipDiffServCodePoint = 0
 GROUP BY src_addr, dst_addr, l4_dst_port, protocol ORDER BY
 total_pkt_discards DESC LIMIT 10;
 3. Result
Evans, et al. Expires 22 March 2026 [Page 14]
Internet-Draft IE for Flow Discard Classification September 2025
 The query returns the top flows most affected by the discard
 event, allowing the operator to pinpoint specific applications or
 users impacted by the congestion:
 +==========+=============+===========+========+====================+
 |src_addr |dst_addr |l4_dst_port|protocol| total_pkt_discards |
 +==========+=============+===========+========+====================+
 |192.0.2.10|198.51.100.55|443 |6 (TCP) | 15,400 |
 +----------+-------------+-----------+--------+--------------------+
 |192.0.2.12|198.51.100.80|80 |6 (TCP) | 2,100 |
 +----------+-------------+-----------+--------+--------------------+
 Table 2
A.4. Operational Example: Causal Flows (Congestion Drops)
 Using the same scenario as in Appendix A.3, the operator now wants to
 identify flows that likely caused the congestion — that is, heavy
 senders in the affected queue and interface during the anomaly.
 These flows may or may not themselves have experienced drops.
 1. Signal: Interface discard counter
 Same as in Section A.3:
 * Time: 2025年09月18日 10:00:00 – 10:01:00
 * Observation Domain: 1234
 * Interface: 10 (egress)
 * Class: no-buffer (value 38)
 * Queue/DSCP: 0
 2. Correlation: SQL Query
 The operator queries the IPFIX store to perform a causal analysis
 by ranking flows by total traffic volume in the same time window,
 interface, and traffic class. The query does not require
 flowDiscardClass = 38, since flows can contribute to congestion
 even if only some packets (or none of the sampled packets) were
 dropped.
 sql SELECT src_addr, dst_addr, l4_dst_port, protocol,
 SUM(octetDeltaCount) AS total_bytes, SUM(packetDeltaCount) AS
 total_pkts, SUM(droppedPacketDeltaCount) AS total_pkt_discards
 FROM flow_records WHERE -- 0. Match Observation Domain
Evans, et al. Expires 22 March 2026 [Page 15]
Internet-Draft IE for Flow Discard Classification September 2025
 observationDomainId = 1234 -- 1. Match Location (egress
 interface) AND egressInterface = 10 -- 2. Match Time Window (any
 overlap with counter interval) AND flowEnd >= '2025年09月18日
 10:00:00' AND flowStart <= '2025年09月18日 10:01:00' -- 3. Match
 Traffic Class context (Best Effort queue) AND ipDiffServCodePoint
 = 0 GROUP BY src_addr, dst_addr, l4_dst_port, protocol ORDER BY
 total_bytes DESC LIMIT 10;
 3. Result
 This query returns flows that carried the most traffic through
 the congested interface and queue during the interval. These
 high-volume flows are candidates for having contributed to the
 congestion. The total_drops column (if present) can still be
 used to see which of these heavy flows also suffered loss.
 +==========+=============+===========+========+===========+==========+==================+
 |src_addr |dst_addr |l4_dst_port|protocol|total_bytes|total_pkts|total_pkt_discards|
 +==========+=============+===========+========+===========+==========+==================+
 |10.0.0.5 |192.0.2.200 |443 |6 (TCP) |850,000,000| 1,214,285| 2,100|
 +----------+-------------+-----------+--------+-----------+----------+------------------+
 |192.0.2.10|198.51.100.55|443 |6 (TCP) | 15,000,000| 21,000| 15,400|
 +----------+-------------+-----------+--------+-----------+----------+------------------+
 Table 3
 In this example, the flow from 10.0.0.5 transferred 850 MB with
 limited discards, while the smaller flow from 192.0.2.10 suffered
 significant packet loss.
A.5. Implementation Note on Sampling
 When flow sampling is active, flowDiscardClass indicates that a
 sampled packet was dropped. To estimate the total (unsampled) flow-
 level impact and compare it with interface counters (which are
 typically unsampled), operators can apply a sampling-rate multiplier
 to the flow counters (droppedPacketDeltaCount and/or
 droppedOctetDeltaCount).
 Let: * p = the sampling probability (e.g., 0.01 for 1-in-100
 sampling) * N = 1 / p be the corresponding "1-in-N" sampling
 interval.
 The sampling-rate multiplier is N. Estimated totals are then: *
 estimated_total_dropped_packets = droppedPacketDeltaCount * N *
 estimated_total_dropped_octets = droppedOctetDeltaCount * N
Evans, et al. Expires 22 March 2026 [Page 16]
Internet-Draft IE for Flow Discard Classification September 2025
 For example, if the exporter samples 1 in every 100 packets, the
 multiplier is 100. If the exporter samples 1 in every 1000 packets,
 the multiplier is 1000.
 Exporters typically report their sampling configuration via IPFIX
 (samplingInterval and/or samplingProbability). Because sampling is
 probabilistic, these estimates are approximate; using larger time
 windows and higher-volume aggregates tends to make them more robust.
Authors' Addresses
 John Evans
 Amazon
 1 Principal Place, Worship Street
 London
 EC2A 2FA
 United Kingdom
 Email: jevanamz@amazon.co.uk
 Oleksandr Pylypenko
 Amazon
 410 Terry Ave N
 Seattle, WA 98109
 United States of America
 Email: opyl@amazon.com
 Karim Cheaito
 Amazon
 410 Terry Ave N
 Seattle, WA 98109
 United States of America
 Email: kcheaito@amazon.com
Evans, et al. Expires 22 March 2026 [Page 17]

AltStyle によって変換されたページ (->オリジナル) /