FQ-PIE runs an independent PIE controller per flow but exposes no per-flow statistics. This series wires up fq_pie_class_ops to expose per-flow AQM state (prob, delay, deficit, avg_dq_rate) via 'tc -s class show', following a similar pattern as FQ-CoDel.
This patch series is accompanied by a companion iproute2 patch series that can be found at: https://lore.kernel.org/netdev/[email protected]/ --- Changelog: v6: - Address Sashiko review comments: - Revert the fq_pie flows range to [1..65536]. - Also drop the accompanying selftest 83be change. - Compute the per-flow delay with div_u64() on the full 64-bit nanosecond value. - Widen avg_dq_rate to u64 before scaling it by PSCHED_TICKS_PER_SEC. - Document the 36 to 64 byte xstats growth in the patch 1 commit message. - Fix selftest 83c0. The ping payload exceeded the TBF burst so no packet ever reached fq_pie, and the missing -W left the run waiting out ping's default timeout. v5: https://lore.kernel.org/netdev/[email protected]/ - Addressed Sashiko review comments: - Omitted .tcf_block / .bind_tcf / .unbind_tcf from cl_ops (statistics only being exported; filter attach to fq_pie is now disabled). - Dropped empty tc_fq_pie_xqd_stats placeholder; class_stats is a direct struct member. - Limited flows to [1..65535] so per-flow class handles fit in a 16-bit TC minor. - Rewrote selftest 83c0 with TBF + fq_pie, ping traffic, and matchCount 1 on per-flow stats output. - Updated selftest 83be for the new flows limit. - Dropped the tools/include UAPI mirror changes from patch 3/3. v4: https://lore.kernel.org/netdev/[email protected]/ - Fixed unaligned commit message; moved typo fixes to another patch. v3: https://lore.kernel.org/netdev/[email protected]/ - No changes since v2. - Resent after the previous submission was deferred due to the net-next tree closing during review. - Updated corresponding iproute2 patch in response to review comments; kernel patches unchanged. v2: https://lore.kernel.org/netdev/[email protected]/ - Addressed ABI backward compatibility issue for tc_fq_pie_xstats. v1: https://lore.kernel.org/netdev/[email protected]/ - Initial submission Hemendra M. Naik (3): net/sched: sch_fq_pie: add per-flow statistics via class ops selftests: tc-testing: add fq_pie per-flow class stats test net/sched: pie: correct tc_pie_xstats field documentation include/uapi/linux/pkt_sched.h | 20 ++++- net/sched/sch_fq_pie.c | 86 ++++++++++++++++++- .../tc-testing/tc-tests/qdiscs/fq_pie.json | 27 ++++++ 3 files changed, 130 insertions(+), 3 deletions(-) -- 2.34.1

