Re: [LARTC] Problem with HTB accurancy

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I've tested removing de burst parameter in the htb config, and
I have de next results: [Attached File]

Is the HTB exact or not?

Now I've changed bw to 448Kbps or 56KBps, but in the graph
I have a maximum of 77.5KBps. Why???

Thanks!!!

Alexandra Alvarado

PD:  I can't use monitor_tc.pl, because iptables chain doesn't work
with PREROUTING : (


Stef Coene wrote:

> > >> My problem is that rrdtool graph shows :
> > >>
> > >>     ETH0 IN:        596.99Kbps
> > >>     ETH0 OUT:    100.71Kbps
> > >>
> > >>     ETH1 IN:        74.44Kbps
> > >>     ETH1 OUT:    150.13Kbps
> > >>
> > >> And the configuration has a ceil of 384Kbit
> > >>
> > >> What I'm doing wrong??
> > >>
> > >> I suppose that it could be with Squid Transparent Proxy, but in HTB
> > >> I have a default classid 20,
> > >> that is where must go any not specified traffic, how can I solve my
> > >> problem?
>
> > >> tc qdisc add dev eth0 root handle 1: htb default 20
> > >> tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil
> > >> 384kbit burst 2k tc class add dev eth0 parent 1:1 classid 1:10 htb rate
> > >> 56kbit ceil 64kbit burst 2k tc class add dev eth0 parent 1:1 classid
> > >> 1:11 htb rate 56kbit ceil 64kbit burst 2k tc class add dev eth0 parent
> > >> 1:1 classid 1:12 htb rate 56kbit ceil 64kbit burst 2k tc class add dev
> > >> eth0 parent 1:1 classid 1:13 htb rate 56kbit ceil 64kbit burst 2k tc
> > >> class add dev eth0 parent 1:1 classid 1:14 htb rate 56kbit ceil 64kbit
> > >> burst 2k tc class add dev eth0 parent 1:1 classid 1:20 htb rate 100kbit
> > >> ceil 128kbit burst 2k
> My reply messed up the layout.  But 2kbit is too low for the burst.  Remove
> the burst parameter and htb will calculate the best burst for you.
>
> > >> tc filter add dev eth0 parent 1: protocol ip prio 1 handle 1 fw classid
> > >> 1:10 tc filter add dev eth0 parent 1: protocol ip prio 3 handle 3 fw
> > >> classid 1:11 tc filter add dev eth0 parent 1: protocol ip prio 3 handle
> > >> 5 fw classid 1:12 tc filter add dev eth0 parent 1: protocol ip prio 3
> > >> handle 7 fw classid 1:13
> You can give each filter the same prio.
>
> If you go to http://www.docum.org/stef.coene/qos/monitor/ you can download my
> monitor_tc.pl script.  It will calculate the bandwidth but it will use the tc
> counters.  So you know exactly how much each class is sending.
>
> Stef
>
> --
>
> stef.coene@xxxxxxxxx
>  "Using Linux as bandwidth manager"
>      http://www.docum.org/
>      #lartc @ irc.oftc.net

GIF image

#!/bin/sh

# ================================ #
# ===>>  Alexandra Alvarado << === #
# ===>> Febrero 24 del 2003 << === #
# ================================ #

iptables -F -t mangle
iptables -X

# ===>> Control de Trafico de Salida << === #

# ===>> 1 <<=== #
iptables -A PREROUTING -t mangle -p tcp -s 207.100.136.194 -j MARK --set-mark 1
iptables -A PREROUTING -t mangle -p udp -s 207.100.136.194 -j MARK --set-mark 1

# ===>> 2 <<=== #
iptables -A PREROUTING -t mangle -p tcp -s 207.100.136.199 -j MARK --set-mark 3
iptables -A PREROUTING -t mangle -p udp -s 207.100.136.199 -j MARK --set-mark 3

# ===>> 3 <<=== #
iptables -A PREROUTING -t mangle -p tcp -s 207.100.136.201 -j MARK --set-mark 5
iptables -A PREROUTING -t mangle -p udp -s 207.100.136.201 -j MARK --set-mark 5

# ===>> 4 <<=== #
iptables -A PREROUTING -t mangle -p tcp -s 207.100.136.230/28 -j MARK --set-mark 7
iptables -A PREROUTING -t mangle -p udp -s 207.100.136.230/28 -j MARK --set-mark 7

# ===>> 5 <<=== #
iptables -A PREROUTING -t mangle -p tcp -s 200.81.91.195 -j MARK --set-mark 9 
iptables -A PREROUTING -t mangle -p udp -s 200.81.91.195 -j MARK --set-mark 9 

iptables -A PREROUTING -t mangle -p tcp -s 207.100.136.248 -j MARK --set-mark 9 
iptables -A PREROUTING -t mangle -p udp -s 207.100.136.248 -j MARK --set-mark 9 

# ===>> 6 <<=== #
iptables -A PREROUTING -t mangle -p tcp -s 200.81.91.188 -j MARK --set-mark 11
iptables -A PREROUTING -t mangle -p udp -s 200.81.91.188 -j MARK --set-mark 11

iptables -A PREROUTING -t mangle -p tcp -s 200.81.91.189 -j MARK --set-mark 11 
iptables -A PREROUTING -t mangle -p udp -s 200.81.91.189 -j MARK --set-mark 11 

iptables -A PREROUTING -t mangle -p tcp -s 200.81.91.200 -j MARK --set-mark 11 
iptables -A PREROUTING -t mangle -p udp -s 200.81.91.200 -j MARK --set-mark 11 

iptables -A PREROUTING -t mangle -p tcp -s 200.81.91.201 -j MARK --set-mark 11 
iptables -A PREROUTING -t mangle -p udp -s 200.81.91.201 -j MARK --set-mark 11

tc qdisc del dev eth0 root handle 1:

tc qdisc add dev eth0 root handle 1: htb default 20
tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 448kbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 56kbit ceil 64kbit
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 56kbit ceil 64kbit
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 56kbit ceil 64kbit
tc class add dev eth0 parent 1:1 classid 1:13 htb rate 56kbit ceil 64kbit
tc class add dev eth0 parent 1:1 classid 1:14 htb rate 56kbit ceil 64kbit
tc class add dev eth0 parent 1:1 classid 1:15 htb rate 56kbit ceil 64kbit
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 56kbit ceil 64kbit

tc filter add dev eth0 parent 1: protocol ip prio 1 handle 1 fw classid 1:10
tc filter add dev eth0 parent 1: protocol ip prio 3 handle 3 fw classid 1:11
tc filter add dev eth0 parent 1: protocol ip prio 3 handle 5 fw classid 1:12
tc filter add dev eth0 parent 1: protocol ip prio 3 handle 7 fw classid 1:13
tc filter add dev eth0 parent 1: protocol ip prio 3 handle 9 fw classid 1:14
tc filter add dev eth0 parent 1: protocol ip prio 3 handle 11 fw classid 1:15

# ===>> Control de Trafico de Entrada << === # 

# ===>> 1 <<=== #
iptables -A POSTROUTING -t mangle -p tcp -d 207.100.136.194 -j MARK --set-mark 2
iptables -A POSTROUTING -t mangle -p udp -d 207.100.136.194 -j MARK --set-mark 2

# ===>> 2 <<=== #
iptables -A POSTROUTING -t mangle -p tcp -d 207.100.136.199 -j MARK --set-mark 4
iptables -A POSTROUTING -t mangle -p udp -d 207.100.136.199 -j MARK --set-mark 4

# ===>> 3 <<=== #
iptables -A POSTROUTING -t mangle -p tcp -d 207.100.136.201 -j MARK --set-mark 6
iptables -A POSTROUTING -t mangle -p udp -d 207.100.136.201 -j MARK --set-mark 6

# ===>> 4 <<=== #
iptables -A PREROUTING -t mangle -p tcp -d 207.100.136.230/28 -j MARK --set-mark 8
iptables -A PREROUTING -t mangle -p udp -d 207.100.136.230/28 -j MARK --set-mark 8

# ===>> 5 <<=== #
iptables -A PREROUTING -t mangle -p tcp -d 200.81.91.195 -j MARK --set-mark 10 
iptables -A PREROUTING -t mangle -p udp -d 200.81.91.195 -j MARK --set-mark 10 

iptables -A PREROUTING -t mangle -p tcp -d 207.100.136.248 -j MARK --set-mark 10
iptables -A PREROUTING -t mangle -p udp -d 207.100.136.248 -j MARK --set-mark 10

# ===>> 6 <<=== #
iptables -A PREROUTING -t mangle -p tcp -d 200.81.91.188 -j MARK --set-mark 12
iptables -A PREROUTING -t mangle -p udp -d 200.81.91.188 -j MARK --set-mark 12

iptables -A PREROUTING -t mangle -p tcp -d 200.81.91.189 -j MARK --set-mark 12 
iptables -A PREROUTING -t mangle -p udp -d 200.81.91.189 -j MARK --set-mark 12 

iptables -A PREROUTING -t mangle -p tcp -d 200.81.91.200 -j MARK --set-mark 12 
iptables -A PREROUTING -t mangle -p udp -d 200.81.91.200 -j MARK --set-mark 12 

iptables -A PREROUTING -t mangle -p tcp -d 200.81.91.201 -j MARK --set-mark 12 
iptables -A PREROUTING -t mangle -p udp -d 200.81.91.201 -j MARK --set-mark 12

tc qdisc del dev eth1 root handle 1:

tc qdisc add dev eth1 root handle 1: htb default 20
tc class add dev eth1 parent 1: classid 1:1 htb rate 100mbit ceil 448kbit
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 56kbit ceil 64kbit
tc class add dev eth1 parent 1:1 classid 1:11 htb rate 56kbit ceil 64kbit
tc class add dev eth1 parent 1:1 classid 1:12 htb rate 56kbit ceil 64kbit
tc class add dev eth1 parent 1:1 classid 1:13 htb rate 56kbit ceil 64kbit
tc class add dev eth1 parent 1:1 classid 1:14 htb rate 56kbit ceil 64kbit
tc class add dev eth1 parent 1:1 classid 1:15 htb rate 56kbit ceil 64kbit
tc class add dev eth1 parent 1:1 classid 1:20 htb rate 56kbit ceil 64kbit

tc filter add dev eth1 parent 1: protocol ip prio 1 handle 2 fw classid 1:10
tc filter add dev eth1 parent 1: protocol ip prio 3 handle 4 fw classid 1:11
tc filter add dev eth1 parent 1: protocol ip prio 3 handle 6 fw classid 1:12
tc filter add dev eth1 parent 1: protocol ip prio 3 handle 8 fw classid 1:13
tc filter add dev eth1 parent 1: protocol ip prio 3 handle 10 fw classid 1:14
tc filter add dev eth1 parent 1: protocol ip prio 3 handle 12 fw classid 1:15

# === >> Fin << === #

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux