I have compiled HTB into kernel 2.4.16 and set up simple traffic shaping just to figure how it works. My init script looks as follows:
tc qdisc del dev eth1 root tc qdisc add dev eth1 root handle 1: htb default 30 tceth0="tc class add dev eth1" $tceth0 parent 1: classid 1:1 htb rate 128kbit burst 2k $tceth0 parent 1:1 classid 1:10 htb rate 128kbit burst 2k $tceth0 parent 1:1 classid 1:20 htb rate 64kbit ceil 96kbit burst 2k $tceth0 parent 1:1 classid 1:30 htb rate 1kbit ceil 96kbit burst 2k tcqdisc="tc qdisc add dev" $tcqdisc eth1 parent 1:10 handle 10: sfq perturb 10 $tcqdisc eth1 parent 1:20 handle 20: sfq perturb 10 $tcqdisc eth1 parent 1:30 handle 30: sfq perturb 10 u32="tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32" $u32 match ip protocol 1 0xff flowid 1:10 $u32 match ip sport 22 0xffff flowid 1:10 $u32 match ip sport 119 0xffff flowid 1:10 $u32 match ip sport 80 0xffff flowid 1:20 $u32 match ip sport 110 0xffff flowid 1:20
- Pretty much the example script from Advanced Routing HowTo. I have Internet on eth0 and LAN via NAT on eth1.
The problem is that after appx. 6 hours or so the local network starts behaving strange - either it doesn't work at all or just packets from certain classes don't go through the NAT and get dropped. In syslog I have found following entries:
Dec 13 09:33:25 mail kernel: HTB delay 224640 > 5sec Dec 13 09:33:27 mail kernel: HTB delay 224474 > 5sec Dec 13 09:33:29 mail kernel: HTB delay 224272 > 5sec Dec 13 09:33:32 mail kernel: HTB delay 223977 > 5sec Dec 13 09:33:32 mail kernel: HTB delay 223973 > 5sec Dec 13 09:33:37 mail kernel: HTB delay 223473 > 5sec Dec 13 09:33:38 mail kernel: HTB delay 223377 > 5sec Dec 13 09:33:38 mail kernel: HTB delay 223373 > 5sec
There is many more of them, they start to appear just at the time when the network starts dying.
Any ideas what is wrong pretty please ;) ??
Regards, Leszek