use latest HTB patch .. it is FAQ :) On Tue, 22 Jan 2002, [X-UNKNOWN] =D8ystein L=F8k=E5s; NTNU; H01 wrote: > Hi all. >=20 > I am trying to implement diffserv on a router running linux using HTB. I > am not getting it to work! > My problem appears when I try to implement the AF classes. I am not able > to do the mapping from DSCP to GRED's DPs. > I have found some scripts implementing AF, but these use CBQ, and I want > to use HTB. I have tried to copy some scripts that works with CBQ and > "translate" them into HTB, but tc will not accept to assign a tcindex > filter to a HTB qdisc. I get a RTNETLINK error message, sying "no such > file or directory". > I do not quite understand the automatic creation of classes done by > tcindex. > Could anyone enlighten me? >=20 > My script with one AF class is as follows: >=20 > #Path: > TC=3D/home/oystelok/iproute2/tc/tc > $TC qdisc del dev eth0 root >=20 > #dsmark as root qdisc: > $TC qdisc add dev eth0 root handle 1:0 dsmark indices 64 set_tc_index=20 > $TC filter add dev eth0 parent 1:0 protocol ip prio 1 tcindex mask 0xfc > shift 2 pass_on >=20 > #Uses htb for link sharing > $TC qdisc add dev eth0 parent 1:0 handle 2:0 htb default 23 >=20 > #Root class for htb, to make all the bandwidth available to AF and BE: > $TC class add dev eth0 parent 2:0 classid 2:1 htb rate 10Mbit burst 10kbi= t > cburst 1000 >=20 > #EF class > $TC class add dev eth0 parent 2:1 classid 2:11 htb rate 5Mbit burst 5kbit > cburst 1000=20 >=20 > #Class for AFxx and BE > $TC class add dev eth0 parent 2:1 classid 2:12 htb rate 5Mbit ceil 10Mbit > burst 5kbit cburst 1000 prio 1 >=20 > #Class for AF1x > $TC class add dev eth0 parent 2:12 classid 2:21 htb rate 2Mbit ceil 10Mbi= t > burst 2kbit cburst 1000 prio 1 > #Class for BE > $TC class add dev eth0 parent 2:12 classid 2:23 htb rate 1Mbit ceil 10Mbi= t > burst 2kbit cburst 1000 prio 2 >=20 > #----Trying to configure GRED, does not succeed!!!----- > #Qdisc for AF1x > $TC qdisc add dev eth0 parent 2:21 handle 3:0 gred setup DPs 3 default 1 >=20 > #Setup for AF11 > $TC filter add dev eth0 parent 1:0 protocol ip prio 2 handle 10 tcindex > classid 1:111 > $TC qdisc change dev eth0 parent 2:21 gred min 8kbit max 10kbit burst 2 > limit 200kbit avpkt 1000 probability 0.001 DP 1 >=20 > #Setup for AF12 > $TC filter add dev eth0 parent 1:0 protocol ip prio 2 handle 12 tcindex > classid 1:112 > $TC qdisc change dev eth0 parent 2:21 gred min 8kbit max 10kbit burst 2 > limit 200kbit avpkt 1000 probability 0.001 DP 2 >=20 > #Setup for AF13 > $TC filter add dev eth0 parent 1:0 protocol ip prio 2 handle 14 tcindex > classid 1:113 > $TC qdisc change dev eth0 parent 2:21 gred min 8kbit max 10kbit burst 2 > limit 200kbit avpkt 1000 probability 1.0 DP 3 >=20 > #Qdisc for BE > $TC qdisc add dev eth0 parent 2:23 handle 5:0 red min 12kbit max 25kbit > burst 20 limit 200kbit avpkt 1000 bandwidth 10Mbit >=20 > #Filter for EF: > $TC filter add dev eth0 parent 2:0 protocol ip u32 match ip tos 0xb8 0xff > flowid 2:11 > #Filter for AF1x: > $TC filter add dev eth0 parent 2:0 protocol ip u32 match ip tos 0x20 0xe0 > flowid 2:21 > #Filter for BE: > $TC filter add dev eth0 parent 2:0 protocol ip u32 match ip tos 0x00 0xff > flowid 2:23 >=20 >=20 > _______________________________________________ > LARTC mailing list / LARTC@mailman.ds9a.nl > http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://ds9a.nl/lartc= / >=20 >=20