All of lore.kernel.org
 help / color / mirror / Atom feed
* [LARTC] HTB and GRED
@ 2002-01-22 12:21 =?X-UNKNOWN?Q?=D8ystein_L=F8k=E5s=3B_NTNU=3B_H01?=
  2002-01-22 13:20 ` Martin Devera
  0 siblings, 1 reply; 2+ messages in thread
From: =?X-UNKNOWN?Q?=D8ystein_L=F8k=E5s=3B_NTNU=3B_H01?= @ 2002-01-22 12:21 UTC (permalink / raw)
  To: lartc

Hi all.

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?

My script with one AF class is as follows:

#Path:
TC=/home/oystelok/iproute2/tc/tc
$TC qdisc del dev eth0 root

#dsmark as root qdisc:
$TC qdisc add dev eth0 root handle 1:0 dsmark indices 64 set_tc_index 
$TC filter add dev eth0  parent 1:0 protocol ip prio 1 tcindex mask 0xfc
shift 2 pass_on

#Uses htb for link sharing
$TC qdisc add dev eth0 parent 1:0 handle 2:0 htb default 23

#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 10kbit
cburst 1000

#EF class
$TC class add dev eth0 parent 2:1 classid 2:11 htb rate 5Mbit burst 5kbit
cburst 1000 

#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

#Class for AF1x
$TC class add dev eth0 parent 2:12 classid 2:21 htb rate 2Mbit ceil 10Mbit
burst 2kbit cburst 1000 prio 1
#Class for BE
$TC class add dev eth0 parent 2:12 classid 2:23 htb rate 1Mbit ceil 10Mbit
burst 2kbit cburst 1000 prio 2

#----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

#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

#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

#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

#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

#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


_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://ds9a.nl/lartc/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-01-22 13:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-01-22 12:21 [LARTC] HTB and GRED =?X-UNKNOWN?Q?=D8ystein_L=F8k=E5s=3B_NTNU=3B_H01?=
2002-01-22 13:20 ` Martin Devera

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.