[LARTC] RE: CBQ : Bug ? (Stef Coene)

Linux Advanced Routing and Traffic Control

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

 



-----Original Message-----
From: lartc-request@xxxxxxxxxxxxxxx
[mailto:lartc-request@xxxxxxxxxxxxxxx]
Sent: Tuesday, April 24, 2001 6:01 PM
To: lartc@xxxxxxxxxxxxxxx
Subject: LARTC digest, Vol 1 #175 - 4 msgs


Send LARTC mailing list submissions to
	lartc@xxxxxxxxxxxxxxx

To subscribe or unsubscribe via the World Wide Web, visit
	http://mailman.ds9a.nl/mailman/listinfo/lartc
or, via email, send a message with subject or body 'help' to
	lartc-request@xxxxxxxxxxxxxxx

You can reach the person managing the list at
	lartc-admin@xxxxxxxxxxxxxxx

When replying, please edit your Subject line so it is more specific
than "Re: Contents of LARTC digest..."
Hi Stef,

I also found there is some accuracy issue in CBQ.
The performance on my machine, the output BW will be cut off at around 20
Mbps even if the class bounded limit is larger.
However, as the "bounded" is taken away for the class, the output BW can be
up to PHY limit--100Mbps.  In other words, in my system,
"bounded" can work only if the limit is below 20 Mbps.
Besides, "isolated" doesn't seem to work as its original design.

About your testing results, I am a little confused in the unit you use (bit
or Byte).  And if you try shorter packet length, the accuracy will be
improved.

B.R.
Daniel Lee
daniel_lee@xxxxxxxx 

Message: 1
Date: Mon, 23 Apr 2001 13:00:05 +0200
From: Stef Coene <stafke@xxxxxxxxx>
Organization: None
To: LARTC Mailing list <lartc@xxxxxxxxxxxxxxx>
Subject: [LARTC] CBQ : Bug ?

Hi there,

I have done a lot of testing and I have a few questions about CBQ.  You
can split the traffic in diffent classes and it works great.  But to do
this, I have to add as the first class a bounded class with rate =
available link-bandwidth.
I have tried different rates but CBQ isn't very accurate.  I added the
testing results at the bottom of the posting (or go to
http://users.belgacom.net/staf/)  As you can see there are some very
strange results (notice the change in throughput when I changed the rate
1kbps around 71475kbps and 135556kbps).

I also noticed that the accuracy of splitting the traffic in different
classes is very good unless you want to give a class < 25% of the
bandwidth.

I'm wondering if someone encountered the same problem and/or if it is a
problem with tc or the kernel itself.

-- 

Staf

More QOS info : http://users.belgacom.net/staf/


RESULTS :
RATE_TOT    RESULT
1     kbps  1.05 KB/s
2     kbps  2.10 KB/s
3     kbps  3.04 KB/s
4     kbps  4.17 KB/s
5     kbps  5.02 KB/s
10    kbps  9.91 KB/s
15    kbps  14.7 KB/s
20    kbps  18.8 KB/s
30    kbps  29.2 KB/s
40    kbps  36.5 KB/s
50    kbps  49.2 KB/s
60    kbps  49.4 KB/s
65    kbps  49.3 KB/s
67    kbps  49.3 KB/s
68    kbps  49.3 KB/s
69    kbps  49.3 KB/s
71475  bps  51.1 KB/s
71476  bps  69.7 KB/s
70    kbps  69.9 KB/s
80    kbps  69.9 KB/s
90    kbps  70.3 KB/s
100   kbps  75.4 KB/s
130   kbps  75.7 KB/s
135556 bps  78.7 KB/s
135557 bps  139  KB/s
140   kbps  140  KB/s
150   kbps  140  KB/s
200   kbps  140  KB/s
300   kbps  140  KB/s
500   kbps  140  KB/s
1000  kbps  140  KB/s
1310719bps  146  KB/s
1310720bps  940  KB/s
2000  kbps  945  KB/s


--__--__--

Message: 2
Date: Tue, 24 Apr 2001 02:14:34 -0400
From: johan@xxxxxxxxxxxxxx
To: lartc@xxxxxxxxxxxxxxx
Subject: [LARTC] need suggest for tc..fw

Dear all...
I got problem when define this rule
I had define class like this

#tc qdisc show dev eth0

qdisc tbf 8003: rate 128Kbit burst 10Kb lat 381.5ms=20
qdisc cbq 1: rate 10Mbit (bounded,isolated) prio no-transmit

#tc class show dev eth0=20
class cbq 1: root rate 10Mbit (bounded,isolated) prio no-transmit
class cbq 1:1 parent 1: rate 10Mbit prio no-transmit
class cbq 1:1234 parent 1:1 leaf 8003: rate 128Kbit (bounded,isolated) prio
5

#tc filter show dev eth0
filter parent 1: protocol ip pref 100 u32=20
filter parent 1: protocol ip pref 100 u32 fh 800: ht divisor 1=20
filter parent 1: protocol ip pref 100 u32 fh 800::800 order 2048 key ht 800
bkt 0 flowid 1:1234=20
  match 00140000/ffff0000 at 20

This configuration my iptables,
  =20
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination        =20
MARK       tcp  --  anywhere             anywhere           state RELATED
tcp dpt:ftp MARK set 0x1=20
MARK       tcp  --  anywhere             anywhere           state RELATED
tcp spt:ftp MARK set 0x1=20

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  =20

So, I want to limit passive ftp traffic.
1. Tag every packet that RELATED to ftp (RELATED here, I mean refer to
passive ftp).
2. Define filter=20
But when I define tc with fwmark value based, I got error..

I define like this
# tc filter add dev eth0 parent 1: protocol ip pref 100 handle 1 fw  classid
1:1234=20

and I got error like this =20
RTNETLINK answers: Invalid argument

Why ?, any suggest ?
Thanks in Advance

Johan
    =20

--=20
             -=1E'-     =20
             (o o)    =20
---------ooO--(_)--Ooo-------------------------------------------------
  (  )/  \( )( ) (  ) ( \( )      Visit us at http://www.pinguind.co.id
 __)(( () ))__(  /__\  )  (   Feel free to contact me at ICQ  #47240718    =
  =20
(___/ \__/(_)(_)(_)(_)(_)\_)                 email:johan@xxxxxxxxxxxxxx    =
     =20
-----------------------------------------------------------------------


--__--__--

Message: 3
Date: Mon, 23 Apr 2001 14:25:11 +0000
From: Alexandra Alvarado <aaaa@xxxxxxxxxxxx>
To: Alexandra Alvarado <aaaa@xxxxxxxxxxxx>, lartc@xxxxxxxxxxxxxxx
Subject: [LARTC] CBQ does not works

Alexandra Alvarado wrote:
> 
> Hello, I'm Alexandra
> 
> I have a Linux firewall [Red Hat 7.0] and i need to implement cbq, until
> now i make my file configuration that is:
> 
> ==========Introduction============
> 
>      [The Internet] --- [Linux router] --- [Intranet]
>                        eth0          eth1
> 
> The Networks Cards are "rtl8139"
> 
> And what i whant is that the input and output to the intranet can reach
> a max bandwidth of 64 Kbit per second
> 
> ============================= File cbq.init
> ================================
> 
> #!/bin/sh
> 
> # eth1
> 
> tc qdisc add dev eth1 root handle 10: cbq bandwidth 100Mbit avpkt 1000
> 
> tc class add dev eth1 parent 10:0 classid 10:1 cbq bandwidth 100Mbit
> rate 100Mbit allot 1514 weight 1Mbit prio 8 maxburst 20 avpkt 1000
> 
> tc class add dev eth1 parent 10:1 classid 10:100 cbq bandwidth 100Mbit
> rate 64Kbit allot 1514 weight 6Kbit prio 5 maxburst 20 avpkt 1000
> bounded
> 
> tc qdisc add dev eth1 parent 10:100 sfq quantum 1514b perturb 15
> 
> tc filter add dev eth1 parent 10:0 protocol ip prio 25 u32 match ip dst
> 10.10.10.0/24 flowid 10:100
> 
> # eth0
> 
> tc qdisc add dev eth0 root handle 20: cbq bandwidth 100Mbit avpkt 1000
> 
> tc class add dev eth0 parent 20:0 classid 20:1 cbq bandwidth 100Mbit
> rate 100Mbit allot 1514 weight 1Mbit prio 8 maxburst 20 avpkt 1000
> 
> tc class add dev eth0 parent 20:1 classid 20:100 cbq bandwidth 100Mbit
> rate 64Kbit allot 1514 weight 6Kbit prio 5 maxburst 20 avpkt 1000
> bounded
> 
> tc qdisc add dev eth0 parent 20:100 sfq quantum 1514b perturb 15
> 
> tc filter add dev eth0 parent 20:0 protocol ip prio 25 u32 match ip src
> 10.10.10.0/24 flowid 20:100
> 
> ===================== cbq.init stats =============================
> 
> ---[ eth0: configured classes ]---------------------------
> 
> class cbq 20: root rate 100Mbit (bounded,isolated) prio no-transmit
>  Sent 6723337 bytes 32154 pkts (dropped 0, overlimits 0)
>   borrowed 0 overactions 0 avgidle 61 undertime 0
> class cbq 20:100 parent 20:1 leaf 8004: rate 64Kbit (bounded) prio 5
>  Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>   borrowed 0 overactions 0 avgidle 2.83654e+06 undertime 0
> class cbq 20:1 parent 20: rate 100Mbit prio no-transmit
>  Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
>   borrowed 0 overactions 0 avgidle 62 undertime 0
> 
> ---[ eth0: queueing disciplines ]-------------------------
> 
> qdisc sfq 8004: quantum 1514b perturb 15sec
>  Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
> 
>  qdisc cbq 20: rate 100Mbit (bounded,isolated) prio no-transmit
>  Sent 6724367 bytes 32157 pkts (dropped 0, overlimits 0)
>   borrowed 0 overactions 0 avgidle 62 undertime 0
> 
> 
> ---[ eth1: configured classes ]---------------------------
> 
> class cbq 10: root rate 100Mbit (bounded,isolated) prio no-transmit
>  Sent 26432943 bytes 32209 pkts (dropped 0, overlimits 0)
>   borrowed 0 overactions 0 avgidle 62 undertime 0
> class cbq 10:100 parent 10:1 leaf 8003: rate 64Kbit (bounded) prio 5
>  Sent 26410431 bytes 31673 pkts (dropped 455, overlimits 188780)
>   borrowed 0 overactions 20574 avgidle 375275 undertime 0
> class cbq 10:1 parent 10: rate 100Mbit prio no-transmit
>  Sent 26410431 bytes 31673 pkts (dropped 0, overlimits 0)
>   borrowed 0 overactions 0 avgidle 62 undertime 0
> 
> ---[ eth1: queueing disciplines ]-------------------------
> 
> qdisc sfq 8003: quantum 1514b perturb 15sec
>  Sent 27456058 bytes 33494 pkts (dropped 455, overlimits 0)
> 
>  qdisc cbq 10: rate 100Mbit (bounded,isolated) prio no-transmit
>  Sent 27482602 bytes 34126 pkts (dropped 455, overlimits 184922)
>   borrowed 0 overactions 0 avgidle 62 undertime 0
> 
> ============= cbq.init list ====================
> 
> ---[ eth0: configured classes ]---------------------------
> 
> class cbq 20: root rate 100Mbit (bounded,isolated) prio no-transmit
> class cbq 20:100 parent 20:1 leaf 8004: rate 64Kbit (bounded) prio 5
> class cbq 20:1 parent 20: rate 100Mbit prio no-transmit
> 
> ---[ eth0: queueing disciplines ]-------------------------
> 
> qdisc sfq 8004: quantum 1514b perturb 15sec
> qdisc cbq 20: rate 100Mbit (bounded,isolated) prio no-transmit
> 
> ---[ eth1: configured classes ]---------------------------
> 
> class cbq 10: root rate 100Mbit (bounded,isolated) prio no-transmit
> class cbq 10:100 parent 10:1 leaf 8003: rate 64Kbit (bounded) prio 5
> class cbq 10:1 parent 10: rate 100Mbit prio no-transmit
> 
> ---[ eth1: queueing disciplines ]-------------------------
> 
> qdisc sfq 8003: quantum 1514b perturb 15sec
> qdisc cbq 10: rate 100Mbit (bounded,isolated) prio no-transmit
> 
> ==============Problem===============
> 
> I have an mrtg monitor, and according to this the bandwidth of the
> firewall exceeds the 64 Kbit per seconds, i don't know why, i need
> extrictly the bandwidth does no exceeds 64 Kbps.
> 
> ====================================
> 
> Thanks
> 
> Alexandra


--__--__--

Message: 4
From: Ernesto Silva <silva@xxxxxxxxxxxxxxxxxx>
Organization: Universidad ORT Uruguay
To: lartc@xxxxxxxxxxxxxxx
Date: Mon, 23 Apr 2001 16:31:13 -0300
Subject: [LARTC] Documentation needed.

Hi guys,
	Can you send me links with documetnation about the kernel routing
tables, etc. Something else apart from the Advaced Routing HOWTO.

Thanks
Ernesto Silva
(From Uruguay, South America)



--__--__--

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


End of LARTC Digest



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