Hi Simon,

Thanks for the review and for the Sashiko pointer. We have been through
all six findings and are working on v5. For each item below, a short note
on what was raised, then what we plan to do:

(1) [High] Filter attachment and TC_ACT_CONSUMED — Sashiko noted that
adding cl_ops with .tcf_block would let users attach tc filters to fq_pie
for the first time, but fq_pie_classify() has no TC_ACT_CONSUMED case
(risk of double-free if an action like ct consumes the skb).

We will remove .tcf_block, .bind_tcf, and .unbind_tcf from cl_ops.
We only need walk/dump for tc -s class show; filter attach to fq_pie
should stay disabled as before v1.

(2) [Medium] tc_fq_pie_xstats layout — Sashiko asked whether appending
type/class fields after the nine qdisc counters breaks userspace, compared
to fq_codel's type-first union layout.

We plan no struct change. fq_pie already shipped a flat 36-byte struct;
we will keep appending after those counters so old tc binaries keep
working. Class stats still need the matching iproute2 update.

(3) [Low] Empty tc_fq_pie_xqd_stats placeholder — Sashiko flagged the
empty placeholder struct and unused union arm in pkt_sched.h.

We will remove the placeholder and the union; class_stats will be a
direct member.

(4) [Low] Class handle at flows 65536 — Sashiko noted that with
flows_cnt == 65536, fq_pie_dump_class() uses TC_H_MIN(cl) and the last
flow's handle wraps to minor 0 in userspace.

We will cap flows at 65535 in fq_pie_change() and update selftest 83be
to expect flows 65536 to fail.

(5) [Medium] Selftest case 83c0 — Sashiko noted v4 used matchCount 0
with no traffic, so the test passes even without class ops and never
checks per-flow stats output.

We will rewrite 83c0 with real traffic (TBF + fq_pie, ping on $DUMMY)
and matchCount 1 on tc -s class show (prob/delay/deficit).

(6) [Low] tools/ UAPI mirror — Sashiko noted patch 3/3 also touched
tools/include/uapi/linux/pkt_sched.h, but that copy is already stale in
layout; comment-only edits there do not help.

We will drop the tools/include hunk from patch 3/3 and touch only
include/uapi/linux/pkt_sched.h there.

We will post v5 with these changes once ready.

Thanks,
Hemendra

Reply via email to