summaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
authorStephen Hemminger <stephen@networkplumber.org>2026-05-09 10:03:26 -0700
committerPaolo Abeni <pabeni@redhat.com>2026-05-14 11:41:30 +0200
commita2f6ed7b4873288d9e90e69199012857bed4bfa4 (patch)
tree369900c8c2044abdb18bcc312f8f1149cbce0a0e /include/uapi
parente8be7cdedc41ff28876d66b566770929d03acbb8 (diff)
net/sched: netem: add per-impairment extended statistics
Add 64-bit counters for each impairment netem applies (delay, loss, ECN marking, corruption, duplication, reordering) and for skb allocation failures during enqueue. Exposed through TCA_STATS_APP as struct tc_netem_xstats. Counters increment when an impairment is occurs, independent of later events that may mask its on-wire effect. Added allocation_errors (similar to sch_fq) to account for when impairment could not be applied due to memory pressure, etc. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Link: https://patch.msgid.link/20260509171123.307549-6-stephen@networkplumber.org Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/pkt_sched.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/uapi/linux/pkt_sched.h b/include/uapi/linux/pkt_sched.h
index 66e8072f44df..490efd288526 100644
--- a/include/uapi/linux/pkt_sched.h
+++ b/include/uapi/linux/pkt_sched.h
@@ -569,6 +569,16 @@ struct tc_netem_gemodel {
#define NETEM_DIST_SCALE 8192
#define NETEM_DIST_MAX 16384
+struct tc_netem_xstats {
+ __u64 delayed; /* packets delayed */
+ __u64 dropped; /* packets dropped by loss model */
+ __u64 corrupted; /* packets with bit errors injected */
+ __u64 duplicated; /* duplicate packets generated */
+ __u64 reordered; /* packets sent out of order */
+ __u64 ecn_marked; /* packets ECN CE-marked (not dropped)*/
+ __u64 allocation_errors;
+};
+
/* DRR */
enum {