htb.init problem on Sarge
Hi there!
It might be a little offtopic, but I asked this on various lists (including
lartc) and didn't get any answer. It'a traffic shaping issue.
Here's what I want:
root class 0010
premium parent class 1000
premium child classes 1xyz
best-effort parent class 2000
best-effort child classes 2xyz
default class 3000
Here's how I do it:
eth1:
DEFAULT=3000
eth1-0010.root:
RATE=100Mbit
LEAF=sfq
eth1-0010:1000.premium
CEIL=352Kbit
RATE=352Kbit
PRIO=2
LEAF=sfq
eth1-0010:1000:1xyx.child1
CEIL=32Kbit
RATE=8Kbit
PRIO=3
LEAF=sfq
RULE=<public ip>,
eth1-0010:2000.best-effort
CEIL=500Kbit
RATE=500Kbit
PRIO=3
LEAF=sfq
eth1-0010:2000:2xyz.child1
CEIL=16Kbit
RATE=8Kbit
PRIO=2
LEAF=sfq
RULE=<public ip>,
eth1-0010:3000.default
RATE=2Kbit
PRIO=7
A sample output from tc commands generated by the script:
/sbin/tc qdisc del dev eth0 root
/sbin/tc qdisc add dev eth0 root handle 1 htb default 3000
/sbin/tc class add dev eth0 parent 1:0010 classid 1:1000 htb rate 352Kbit ceil
352Kbit prio 2
/sbin/tc qdisc add dev eth0 parent 1:1000 handle 1000 sfq perturb 10
/sbin/tc class add dev eth0 parent 1:1000 classid 1:1001 htb rate 32Kbit ceil
64Kbit prio 2
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst
<public ip1>/32 classid 1:1001
sbin/tc class add dev eth0 parent 1:1000 classid 1:1002 htb rate 32Kbit ceil
64Kbit prio 2
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst
<public ip2>/32 classid 1:1002
/sbin/tc class add dev eth0 parent 1:0010 classid 1:2000 htb rate 500Kbit ceil
500Kbit prio 3
/sbin/tc qdisc add dev eth0 parent 1:2000 handle 2000 sfq perturb 10
/sbin/tc class add dev eth0 parent 1:2000 classid 1:2001 htb rate 8Kbit ceil
32Kbit prio 3
/sbin/tc qdisc add dev eth0 parent 1:2001 handle 2001 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst
<public ip1>/32 classid 1:2001
/sbin/tc class add dev eth0 parent 1:2000 classid 1:2002 htb rate 8Kbit ceil
32Kbit prio 3
/sbin/tc qdisc add dev eth0 parent 1:2002 handle 2002 sfq perturb 10
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip dst
<public ip2>/32 classid 1:2002
/sbin/tc class add dev eth0 parent 1:0010 classid 1:3000 htb rate 2Kbit prio 7
/sbin/tc qdisc add dev eth0 parent 1:3000 handle 3000 sfq perturb 10
The problem is that all traffic goes to default class and I
can't figure out why. It seems like u32 doesn't match the ip addresses I
configured altough I checked and rechecked the values...
I use Debian Testing, with required modules sch_* and kernel (2.6.9).
Thank you,
--
+ Lorin
+ I tought I taw a putty cat...I did! I did taw a putty cat!
+ http://si-bemol.ro
Reply to: