Re: Bug in CBQ?

Christian Worm Mortensen (worm@dkik.dk)
Sun, 20 Jun 1999 23:11:59 +0200 (CEST)


Hi,

> > But after some time (let's say half an hour to one hour) eth0 seems to stop
> > working... And there is the same problem if I do not attach my own
> > disciplin... If I remove the queuing disciplines it works again.
>
> Please, make "tc -s -d qdisc ls dev eth0" and "tc -s -d class ls dev eth0"
> and send the output to me.

Ok.... I have tried to isolate the error. I have installed a kernel 2.2.9
right from the box and patched it to kernel 2.2.10. I have then made a
"make menuconfig", compiled the kernel, installed the modules, and booted
the new kernel.

I then tried to compile iproute2 version 990530 but the file iplink.c refered
to the name SIOCSIFNAME which is undefined. So instead I compiled and used
version 990417 (btw: the file q_prio does not define the class-interface
functions so when you manipulate the classes of a prio qdisc tc terminates
with a segmentation fault).

I then executed:

tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1: cbq bandwidth 10Mbit allot 1514 \
cell 8 avpkt 1000 mpu 64
tc class add dev eth0 parent 1:0 classid 1:1 cbq bandwidth 10Mbit \
rate 64Kbit weight 6Kbit allot 1514 cell 8 avpkt 1000 mpu 64 prio 5 \
bounded defmap ffff split 1:0

And it seemed to work for some time (30 minuttes maybe). I left my home
for severel hours and now where I am back eth0 does not work anymore. That is,
when I run tcpdump I still see packets from the network - but locally generated
packets does not get through to the interface or to tcpdump.

Now where eth0 doesn't work I have executed:

tc -s -d qdisc ls dev eth0

and got:

qdisc cbq 1: rate 10Mbit cell 8b mpu 64b (bounded,isolated) prio no-transmit/8 weight 10Mbit allot 1514b
level 1 ewma 5 avpkt 1000b maxidle 23us
Sent 271718 bytes 3242 pkts (dropped 3230, overlimits 965331)
backlog 101p
borrowed 0 overactions 0 avgidle 624 undertime 0

And I have exexcuted:

tc -s -d class ls dev eth0

And got:

class cbq 1: root rate 10Mbit cell 8b mpu 64b (bounded,isolated) prio no-transmit/8 weight 10Mbit allot 1514b
level 1 ewma 5 avpkt 1000b maxidle 23us
Sent 263179 bytes 3141 pkts (dropped 0, overlimits 0)
borrowed 0 overactions 0 avgidle 624 undertime 0
class cbq 1:1 parent 1: rate 64Kbit cell 8b mpu 64b (bounded) prio 5/5 weight 6Kbit allot 1514b
level 0 ewma 5 avpkt 1000b maxidle 23us
split 1: defmap 0000ffff
Sent 263179 bytes 3141 pkts (dropped 3230, overlimits 965830)
backlog 101p
borrowed 0 overactions 1614 avgidle -3821 undertime 6360

Afterwards I have executed:

tc qdisc del dev eth0 root

And everything seems to work again.

Please let me know if I should perform other tests. Please also let me know
if you find the problem and there is a way I can patch the kernel myself.

BTW: My machine polls for mail about every 2 minutte.

A last thing - when experimenting with tc I often have been in the
situation that it hangs and partly locks my machine. It locks my
machine in a way where it stills seems to work but it ignore reboot
requests and when I want tc to perfom something it just hangs a has to be
terminated with Ctrl+C. Are you interrested in bug reports of this kind of
problems or are you aware of them?

Christian

-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.rutgers.edu