Thread (6 messages) flat view 6 messages, 3 authors, 2021-08-04

Re: [PATCH net-next 1/2] net/sched: sch_ingress: Support clsact egress mini-Qdisc option

From: Daniel Borkmann <daniel@iogearbox.net>
Date: 2021-08-02 21:11:13
Also in: lkml

On 8/2/21 10:49 PM, Peilin Ye wrote:
From: Peilin Ye <redacted>

If the ingress Qdisc is in use, currently it is not possible to add
another clsact egress mini-Qdisc to the same device without taking down
the ingress Qdisc, since both sch_ingress and sch_clsact use the same
handle (0xFFFF0000).

Add a "change" option for sch_ingress, so that users can enable or disable
a clsact egress mini-Qdisc, without suffering from downtime:

     $ tc qdisc add dev eth0 ingress
     $ tc qdisc change dev eth0 ingress clsact-on

Then users can add filters to the egress mini-Qdisc as usual:

     $ tc filter add dev eth0 egress protocol ip prio 10 \
	    matchall action skbmod swap mac

Deleting the ingress Qdisc removes the egress mini-Qdisc as well.  To
remove egress mini-Qdisc only, use:

     $ tc qdisc change dev eth0 ingress clsact-off

Finally, if the egress mini-Qdisc is enabled, the "show" command will
print out a "clsact" flag to indicate it:

     $ tc qdisc show ingress
     qdisc ingress ffff: dev eth0 parent ffff:fff1 ----------------
     $ tc qdisc change dev eth0 ingress clsact-on
     $ tc qdisc show ingress
     qdisc ingress ffff: dev eth0 parent ffff:fff1 ---------------- clsact

Reviewed-by: Cong Wang <redacted>
Signed-off-by: Peilin Ye <redacted>
NAK, just use clsact qdisc in the first place which has both ingress and egress
support instead of adding such hack. You already need to change your scripts for
clsact-on, so just swap 'tc qdisc add dev eth0 ingress' to 'tc qdisc add dev eth0
clsact' w/o needing to change kernel.

Thanks,
Daniel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help