Hi Paolo Malfatti,
Thanks for your script. I tried it .
But I still can not allocate 64 kbit for LAN. We have a 256 kbit link. We usually download around @ 30-33 kbytes per second. That means, when it comes to kbits, I will have to mulitple it in to 8 as 1kbps=8kbit .
pls see below for usual download rate, before applying your rules.
[root@worldnet wget]# wget http://mirrors.kernel.org/centos/5.0/isos/i386/CentOS-5.0-i386-bin-6of6.iso
--12:16:27-- http://mirrors.kernel.org/centos/5.0/isos/i386/CentOS-5.0-i386-bin-6of6.iso
=> `CentOS-5.0-i386-bin-6of6.iso.1
'
Resolving mirrors.kernel.org... 204.152.191.7, 204.152.191.39
Connecting to mirrors.kernel.org|204.152.191.7|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 407,005,184 (388M) [application/x-iso9660-image]
0% [ ] 2,749,752 30.10K/s ETA 4:43:0
Then, I applied your rules. pls see below
INTERFAZ_INT=eth0
FULLBANDWIDTH=256
BANDWIDTH4LAN=64
iptables -t mangle -A PREROUTING -s 192.168.101.0/24 -j MARK --set-mark 0x5
tc qdisc add dev $INTERFAZ_INT root handle 1 htb r2q 4
tc class add dev $INTERFAZ_INT parent 1: classid 1:2 htb rate "$FULLBANDWIDTH"Kbit
tc class add dev $INTERFAZ_INT parent 1: classid 1:5 htb rate "$BANDWIDTH4LAN"Kbit
tc qdisc add dev $INTERFAZ_INT parent 1:5 handle 5 sfq perturb 10
tc filter add dev $INTERFAZ_INT protocol ip parent 1: pref 1 handle 5 fw classid 1:5
Still no luck. after applying rules, I downloaded an centos ISO image. But , I still can download @ usual rate. ( i.e 30-33 kbytes per seconds).
If your rules work, I will be able to download @ about 8 kbyes per second. (i.e - 8*8 kbit= 64 kbit)
That is what I expect ?
Where have I gone wrong?
>What is r2q ad 4 there ?. I do not understand those two.I recommend you to read this:the r2q is a divisor used to calculate the quantum of htb (the amount of bytes that will be transmitted before serving another class: quantum = rate / r2q).
>tc qdisc add dev $INTERFAZ_INT parent 1:5 handle 5 sfq perturb 10
>What is this above rule?, I don not understand at all.The classes do shape of traffic, but you need a Queue manager to trasmit it (qdisc rule). Here you will find an example of HTB script: http://lartc.org/howto/lartc.qdisc.classful.html#AEN1072>tc filter add dev $INTERFAZ_INT protocol ip parent 1: pref 1 handle 10 fw classid 1:5>I do not understand the above rule too.
there is an error: the right filter rule is:tc filter add dev $INTERFAZ_INT protocol ip parent 1: pref 1 handle 5 fw classid 1:5The filter rule filter the traffic and send the mathing packets to the right class.The iptables MARK rule mark the traffic before the SNAT. Later, after all iptables processing, the packets are filtered by this rule; if some packet match the "handle 5" filter (packet marked with 5 by the iptables rule willmatch) then it will be shaped by htb class to 64kbps.Hope this will helpRegardsPaolo Malfatti
MSN Amor Busca tu ½ naranja
--
Thank you
Indunil Jayasooriya
_______________________________________________ LARTC mailing list LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc