I’m seeing what I think it an infinite loop when cake is used in a one-armed 
router configuration with hfsc as the rate limiter. Three APUs are connected to 
the same switch and the “middle” APU (apu1a) routes between the default VLAN 
and a tagged VLAN.

apu2a   <— default VLAN —>   apu1a   <— VLAN 3300 —>   apu2b

After qos is set up, ping from apu2a to apu2b still works fine. When iperf3 is 
run from apu2a to apu2b it works fine, but when it goes in reverse (apu2b to 
apu2a), all traffic stops flowing from apu1a on the default VLAN. Traffic still 
flows from apu1a on VLAN 3300 however, with very high RTT (mean 500ms), leading 
me to believe that the cake instance on the default VLAN is in an infinite loop.

It does not happen with hfsc+fq_codel, or with htb+cake in the same 
configuration.

Here are the commands that set up qos, and it only locks up when cake is used 
as the instance at handle 20, not at handle 21:

-----
tc qdisc add dev eth0 root handle 1: hfsc default 10
tc class add dev eth0 parent 1: classid 1:1 hfsc sc rate 200mbit ul rate 200mbit
tc class add dev eth0 parent 1:1 classid 1:10 hfsc sc rate 100mbit ul rate 
100mbit
tc class add dev eth0 parent 1:1 classid 1:11 hfsc sc rate 100mbit ul rate 
100mbit
tc filter add dev eth0 protocol ip parent 1:0 prio 1 \
        basic match "meta(vlan mask 0xfff eq 0xce4)" flowid 1:11
tc qdisc add dev eth0 parent 1:10 handle 20: fq_codel # using cake here locks 
up !!!
tc qdisc add dev eth0 parent 1:11 handle 21: cake
——

I’m using sch_cake and tc-adv from the current HEAD, on kernel 3.16.7 (yeah, I 
know).

root@apu1a:~/qos# uname -a
Linux apu1a 3.16.7-ckt9-voyage #1 SMP Thu Apr 23 11:10:44 HKT 2015 i686 
GNU/Linux

Any ideas just from just this? Otherwise, I can only think to hook up the 
serial cable and start with the printk’s…

_______________________________________________
Cake mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/cake

Reply via email to