2.6: QoS scheduling not working with IP-over-IP

From: Dawid Kuroczko
Date: Tue Feb 10 2004 - 07:37:34 EST


Hello.

There seems to be a bug in QoS scheduling code related to IP-over-IP
tunnels (ipip.ko). My setup is a bit unusual -- my default route
goes through tunl1, so I want it shaped. It worked fine with 2.4,
but it doesn't with 2.6 (2.6.1 and 2.6.2, I made a transition quite
recently).

The simplest example is:

tc qdisc add dev tunl1 root prio

...executing this line will effect in no packet entering or leaving
device (as if device was down). Just as soon as I do

tc qdisc del dev tunl1 root

...everything returns to normal. And same problem applies to
HTB scheduler, though adding a qdisc doesn't result in such
packet freeze. But as soon as some class is added, all packets
matching that class "freeze". A simple example would be:

# everything is OK here
tc qdisc add dev tunl1 handle 1: root htb default 9 r2q 1
# ...and so is here...
tc class add dev tunl1 parent 1:1 classid 1:9 htb rate 2mbit ceil 2mbit
# ...oops, packets are blocked, until you remove this class or qdisc.

If that is of any help, I set up the tunnel like this:

ip tunnel add tunl1 mode ipip local 192.168.4.55 remote 192.168.1.1
ip addr add 11.22.33.44/32 dev tunl1
ip link set tunl1 up
ip route add default src 11.22.33.44 dev tunl1

Also, SFQ and RED appear immune to this problem.

Regards,
Dawid

PS: 2.6.2 kernel on 2 x Pentium-III SMP system, unpatched, QoS
(prio, sfq, red) compiled as modules.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/