Re: SFQ on HFSC leaf does not seem to work
From: John A. Sullivan III <hidden>
Date: 2011-12-23 16:44:23
On Fri, 2011-12-23 at 17:16 +0100, Eric Dumazet wrote:
Le vendredi 23 décembre 2011 à 10:26 -0500, John A. Sullivan III a écrit :quoted
Yes. This is a problem I have with netem on ingress traffic. I use the filter on ffff: to redirect to ifb0 for the ingress traffic shaping. I cannot figure out a way to redirect a second time to ifb1 for the netem qdisc. I tried putting two action mirred statements in the filter but that did not work. Unlike eth1, I cannot attach a filter further down the ifb0 hfsc hierarchy because one can't redirect one ifb into another ifb. Thus, the only way I could figure out how to do inbound netem was to replace the terminal qdisc with netem rather than SFQ. I'd love to be able to do that differently. I tried attaching netem to the SFQ but that failed (I assume because SFQ is classless) and I tried the other way around, attaching SFQ to netem since you mentioned netem could take a class but that did not work either.Unfortunately, netem wants to control skbs itself, in a fifo queue. To implement what you want, we would need to setup a second qdisc, and when packets are dequeued from internal netem fifo, queue them in second qdisc.
I thought I tried to do that but I must have done it incorrectly. I would think something like: tc qdisc add dev eth1 ingress tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match u32 0 0 action mirred egress redirect dev ifb0 tc qdisc add dev ifb0 root handle 4 netem delay 25ms 5ms distribution normal loss 0.1% 30% tc qdisc add dev ifb0 parent 4:0 handle 1: hfsc default 20 but I get: root@testswitch01:~# tc qdisc add dev ifb0 parent 4:0 handle 1: hfsc default 20 RTNETLINK answers: Operation not supported What did I do wrong? Thanks - John