Carl Spies wrote: >>have 4 pcs connected to a hub on eth1 >the pc's are 192.168.0.11 and 22 and 33 and 44 > >I want to allocate 4kb to 192.168.0.11 > and 4kb to 192.168.0.22 > and 8kb to 192.168.0.33 > and 32kb to 192.168.0.44 > >so this is a total of 48kb and the rest is used on the server 10.0.0.80 > >Also - want to make sure that 192.168.0.11 never takes more than 4kb at >any time. > >No fancy stuff like separating http and smtp and things. > >What's the simple most elegant way of doing this on eth1. > Here is an addapt of my script but you'll have to compile htb into the kernel and iproute2; see also http://luxik.cdi.cz/~devik/qos/htb/htbman.htm qdisc->class_limit_48---class 1 4 Kb -> qdisc sfq \_class 2 4 Kb -> qdisc sfq \_class 3 8 Kb -> qdisc sfq \_class 4 32 Kb -> qdisc sfq ... tc filter to put IP in classes. It should go like this: tc qdisc add dev eth1 root handle 1: htb default 10 tc class add dev eth1 parent 1: classid 1:1 htb rate 48kbit ceil 48kbit burst 1k tc class add dev eth1 parent 1:1 classid 1:10 htb rate 4kbit ceil 48kbit burst 1k tc class add dev eth1 parent 1:1 classid 1:11 htb rate 4kbit ceil 48kbit burst 1k tc class add dev eth1 parent 1:1 classid 1:12 htb rate 8kbit ceil 48kbit burst 1k tc class add dev eth1 parent 1:1 classid 1:14 htb rate 32kbit ceil 48kbit burst 1k tc qdisc add dev eth1 parent 1:10 handle 20: sfq perturb 10 tc qdisc add dev eth1 parent 1:11 handle 30: sfq perturb 10 tc qdisc add dev eth1 parent 1:12 handle 40: sfq perturb 10 tc qdisc add dev eth1 parent 1:14 handle 50: sfq perturb 10 tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.11 flowid 1:10 tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.22 flowid 1:11 tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.33 flowid 1:12 tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.44 flowid 1:13