[LARTC] advice about priority
Emil Slavov
slavov@optisprint.net
Mon, 17 Nov 2003 22:24:59 +0200 (EET)
Hello,
I have 4 ISP providers with different speeds.
I mark the packets of every provider with ip precedence bits and create
classes for these 4 providers
tc qdisc add dev eth1 root handle 1: htb
tc class add dev eth1 parent 1: classid 1:20 htb rate 384Kbit ceil 384Kbit
burst 10k prio 1
tc class add dev eth1 parent 1: classid 1:80 htb rate 256Kbit ceil 256Kbit
burst 10k prio 1
tc class add dev eth1 parent 1: classid 1:60 htb rate 256Kbit ceil 256Kbit
burst 10k prio 1
tc class add dev eth1 parent 1: classid 1:40 htb rate 384Kbit ceil 384Kbit
burst 10k prio 1
tc qdisc add dev eth1 parent 1:20 handle 20: sfq
tc qdisc add dev eth1 parent 1:80 handle 80: sfq
tc qdisc add dev eth1 parent 1:60 handle 60: sfq
tc qdisc add dev eth1 parent 1:40 handle 40: sfq
I have high priority and low priority ips, and i wannt when high priority
ips do not use the bandwith the low priority to use full bandwith. Thats
why for every provider i create 2 classes
tc class add dev eth1 parent 1:20 classid 1:21 htb rate 380Kbit ceil
384Kbit burst 10k prio 1
tc class add dev eth1 parent 1:20 classid 1:22 htb rate 10Kbit ceil 380Kbit
burst 10k prio 3
tc class add dev eth1 parent 1:80 classid 1:81 htb rate 256Kbit ceil
256Kbit burst 10k prio 1
tc class add dev eth1 parent 1:80 classid 1:82 htb rate 10Kbit ceil
240Kbit burst 10k prio 3
tc class add dev eth1 parent 1:60 classid 1:61 htb rate 256Kbit ceil
256Kbit burst 10k prio 1
tc class add dev eth1 parent 1:60 classid 1:62 htb rate 10Kbit ceil
240Kbit burst 10k prio 3
tc class add dev eth1 parent 1:40 classid 1:41 htb rate 380Kbit ceil
384Kbit burst 10k prio 1
tc class add dev eth1 parent 1:40 classid 1:42 htb rate 10Kbit ceil
380Kbit burst 10k prio 3
filters for high prefered IP's
tc filter add dev eth1 parent 1: protocol ip u32 match ip dst IP match ip
precedence 0x20 0xff classid 1:21
tc filter add dev eth1 parent 1: protocol ip u32 match ip dst IP match ip
precedence 0x80 0xff classid 1:81
tc filter add dev eth1 parent 1: protocol ip u32 match ip dst IP match ip
precedence 0x60 0xff classid 1:61
tc filter add dev eth1 parent 1: protocol ip u32 match ip dst IP match ip
precedence 0x40 0xff classid 1:41
.............................................................
filters for other IP's
tc filter add dev eth1 parent 1: protocol ip u32 match ip dst IP match ip
precedence 0x20 0xff classid 1:22
tc filter add dev eth1 parent 1: protocol ip u32 match ip dst IP match ip
precedence 0x80 0xff classid 1:82
tc filter add dev eth1 parent 1: protocol ip u32 match ip dst IP match ip
precedence 0x60 0xff classid 1:62
tc filter add dev eth1 parent 1: protocol ip u32 match ip dst IP match ip
precedence 0x40 0xff classid 1:42
........................................................
This configuration do not work propertly. Is anyone that have idea why it
does not work or have any recommendations or ideas according this scenario
?
Thanks