* Re: [LARTC] Transfer rate above the desired (tc+htb)
2005-07-20 17:42 [LARTC] Transfer rate above the desired (tc+htb) Alvaro Motta
@ 2005-07-20 18:56 ` Andy Furniss
2005-07-20 20:11 ` Alvaro Motta
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Andy Furniss @ 2005-07-20 18:56 UTC (permalink / raw)
To: lartc
Alvaro Motta wrote:
> Hi folks.
>
> I started to play with tc+htb last week, and I must confess that this
> thing is really driving me nuts.
>
> All we want to do is control bw, with no borrowing.
>
> In order to get the feeling on this subject, I have setup the
> following test bed.
>
> ---A---B---C---
>
> On B: eth0 connecting A and eth1 connecting C.
>
> The script.
>
> tc qdisc del dev eth0 root
> tc qdisc add dev eth0 root handle 1: htb default 50
> tc class add dev eth0 parent 1: classid 1:1 htb rate 32kbit ceil 32kbit
> tc filter add dev eth0 protocol ip parent 1:0 prio 100 u32 match ip
> src 10.4.0.0/16 match ip dst 0.0.0.0/0 classid 1:1
Should be src 192.168.0.0/24.
Andy.
>
> If I try to transfer a 1M file from C to A:
>
> [root@localpost tmp]# wget 192.168.0.23/1M
> --09:22:32-- http://192.168.0.23/1M => `1M.8'
> Connecting to 192.168.0.23:80... connected.
> HTTP request sent, awaiting response... 200 OK
> Length: 1,024,000 [text/plain]
> 100%[===========>] 1,024,000 183.12K/s ETA 00:00
> 09:22:38 (182.88 KB/s) - `1M' saved [1,024,000/1,024,000]
>
> Wasn't it supposed to be around the 32KB/s?
>
> If I play with the numbers (rateÎil) I get the following results:
> 128k => 404.78 KB/s
> 64k => 337.9 KB/s
> 16k => 68.86 KB/s
> 8k => 31.12 KB/s
> 1k => 3.77 KB/s
>
> I even tried to set the rate to 1kbps in root, but also led to pretty
> much the same results.
>
> With no qdisc, the rate will go close to 1000 KB/s
>
> B machine:
> 2.6.11-1.1369_FC4
> iproute-2.6.11-1
> TC HTB version 3.3
>
> I have no clue on what I am doing wrong. Could anyone browse the above
> script and give me hint?
>
> Thanks in advance,
>
> AL
> _______________________________________________
> LARTC mailing list
> LARTC@mailman.ds9a.nl
> http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
>
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [LARTC] Transfer rate above the desired (tc+htb)
2005-07-20 17:42 [LARTC] Transfer rate above the desired (tc+htb) Alvaro Motta
2005-07-20 18:56 ` Andy Furniss
@ 2005-07-20 20:11 ` Alvaro Motta
2005-07-20 21:11 ` Andy Furniss
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Alvaro Motta @ 2005-07-20 20:11 UTC (permalink / raw)
To: lartc
Hi Andy, thanks for your reply.
I don't see why the src should be the culprit, since the AB segment is
10.4 network and the BC is 192.168. And IMHO 0.0.0.0/0
Also, after modifying the src, the traffic rate was the same as if no
qdisc were attached to the interface. I even played with the
interfaces and the only way to throttle the traffic, is assigning the
qdisc to the eth0 and having the src and dst as in the script I've
sent.
AL
On 7/20/05, Andy Furniss <andy.furniss@dsl.pipex.com> wrote:
> Alvaro Motta wrote:
> > Hi folks.
> >
> > I started to play with tc+htb last week, and I must confess that this
> > thing is really driving me nuts.
> >
> > All we want to do is control bw, with no borrowing.
> >
> > In order to get the feeling on this subject, I have setup the
> > following test bed.
> >
> > ---A---B---C---
> >
> > On B: eth0 connecting A and eth1 connecting C.
> >
> > The script.
> >
> > tc qdisc del dev eth0 root
> > tc qdisc add dev eth0 root handle 1: htb default 50
> > tc class add dev eth0 parent 1: classid 1:1 htb rate 32kbit ceil 32kbit
> > tc filter add dev eth0 protocol ip parent 1:0 prio 100 u32 match ip
> > src 10.4.0.0/16 match ip dst 0.0.0.0/0 classid 1:1
>
> Should be src 192.168.0.0/24.
>
> Andy.
>
>
> >
> > If I try to transfer a 1M file from C to A:
> >
> > [root@localpost tmp]# wget 192.168.0.23/1M
> > --09:22:32-- http://192.168.0.23/1M => `1M.8'
> > Connecting to 192.168.0.23:80... connected.
> > HTTP request sent, awaiting response... 200 OK
> > Length: 1,024,000 [text/plain]
> > 100%[===========>] 1,024,000 183.12K/s ETA 00:00
> > 09:22:38 (182.88 KB/s) - `1M' saved [1,024,000/1,024,000]
> >
> > Wasn't it supposed to be around the 32KB/s?
> >
> > If I play with the numbers (rateÎil) I get the following results:
> > 128k => 404.78 KB/s
> > 64k => 337.9 KB/s
> > 16k => 68.86 KB/s
> > 8k => 31.12 KB/s
> > 1k => 3.77 KB/s
> >
> > I even tried to set the rate to 1kbps in root, but also led to pretty
> > much the same results.
> >
> > With no qdisc, the rate will go close to 1000 KB/s
> >
> > B machine:
> > 2.6.11-1.1369_FC4
> > iproute-2.6.11-1
> > TC HTB version 3.3
> >
> > I have no clue on what I am doing wrong. Could anyone browse the above
> > script and give me hint?
> >
> > Thanks in advance,
> >
> > AL
> > _______________________________________________
> > LARTC mailing list
> > LARTC@mailman.ds9a.nl
> > http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
> >
>
>
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [LARTC] Transfer rate above the desired (tc+htb)
2005-07-20 17:42 [LARTC] Transfer rate above the desired (tc+htb) Alvaro Motta
2005-07-20 18:56 ` Andy Furniss
2005-07-20 20:11 ` Alvaro Motta
@ 2005-07-20 21:11 ` Andy Furniss
2005-07-20 23:14 ` Francisco Pereira
2005-07-24 18:06 ` gypsy
4 siblings, 0 replies; 6+ messages in thread
From: Andy Furniss @ 2005-07-20 21:11 UTC (permalink / raw)
To: lartc
Alvaro Motta wrote:
> Hi Andy, thanks for your reply.
>
> I don't see why the src should be the culprit, since the AB segment is
> 10.4 network and the BC is 192.168. And IMHO 0.0.0.0/0
>
> Also, after modifying the src, the traffic rate was the same as if no
> qdisc were attached to the interface. I even played with the
> interfaces and the only way to throttle the traffic, is assigning the
> qdisc to the eth0 and having the src and dst as in the script I've
Hmm I am confused now :-)
If you run wget on machine A with address 10.4.x.y and request a file
from machine C address 192.168.0.23 then the source address of the
packets passing egress eth0 on machine B should be 192.168.0.23 - unless
there is some sort of NAT going on in machine B.
FWIW you use default 50 on your htb rule but don't have a class 1:50 and
your filter rule dst 0.0.0.0/0 matches any dst ipaddress and so is
redundant.
Maybe you should as a test limit all IP traffic on eth0 and see if that
works -
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1: htb
tc class add dev eth0 parent 1: classid 1:1 htb rate 32kbit ceil 32kbit
tc filter add dev eth0 protocol ip parent 1:0 prio 100 u32 match u32 0 0
classid 1:1
Andy.
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [LARTC] Transfer rate above the desired (tc+htb)
2005-07-20 17:42 [LARTC] Transfer rate above the desired (tc+htb) Alvaro Motta
` (2 preceding siblings ...)
2005-07-20 21:11 ` Andy Furniss
@ 2005-07-20 23:14 ` Francisco Pereira
2005-07-24 18:06 ` gypsy
4 siblings, 0 replies; 6+ messages in thread
From: Francisco Pereira @ 2005-07-20 23:14 UTC (permalink / raw)
To: lartc
Alvaro Motta wrote:
> Hi folks.
Hola.
> I started to play with tc+htb last week, and I must confess that this
> thing is really driving me nuts.
If you started last week, you have a loooong way to go.... :-)
> All we want to do is control bw, with no borrowing.
>
> In order to get the feeling on this subject, I have setup the
> following test bed.
>
> ---A---B---C---
>
> On B: eth0 connecting A and eth1 connecting C.
>
> The script.
>
> tc qdisc del dev eth0 root
> tc qdisc add dev eth0 root handle 1: htb default 50
> tc class add dev eth0 parent 1: classid 1:1 htb rate 32kbit ceil 32kbit
> tc filter add dev eth0 protocol ip parent 1:0 prio 100 u32 match ip
> src 10.4.0.0/16 match ip dst 0.0.0.0/0 classid 1:1
>
> If I try to transfer a 1M file from C to A:
>
> [root@localpost tmp]# wget 192.168.0.23/1M
> --09:22:32-- http://192.168.0.23/1M => `1M.8'
> Connecting to 192.168.0.23:80... connected.
> HTTP request sent, awaiting response... 200 OK
> Length: 1,024,000 [text/plain]
> 100%[===========>] 1,024,000 183.12K/s ETA 00:00
> 09:22:38 (182.88 KB/s) - `1M' saved [1,024,000/1,024,000]
>
> Wasn't it supposed to be around the 32KB/s?
Around 32 kilobits/s. Besides this, the rate calculation includes not
only the ip packet effective payload, but all the packet size, and I
guess that wget's speed calculation only includes the payload.
The tc manpage have a section on "Units".
> If I play with the numbers (rateÎil) I get the following results:
> 128k => 404.78 KB/s
> 64k => 337.9 KB/s
> 16k => 68.86 KB/s
> 8k => 31.12 KB/s
> 1k => 3.77 KB/s
>
> I even tried to set the rate to 1kbps in root, but also led to pretty
> much the same results.
>
> With no qdisc, the rate will go close to 1000 KB/s
>
> B machine:
> 2.6.11-1.1369_FC4
> iproute-2.6.11-1
> TC HTB version 3.3
>
> I have no clue on what I am doing wrong. Could anyone browse the above
> script and give me hint?
>
> Thanks in advance,
>
> AL
> _______________________________________________
> LARTC mailing list
> LARTC@mailman.ds9a.nl
> http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
>
>
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [LARTC] Transfer rate above the desired (tc+htb)
2005-07-20 17:42 [LARTC] Transfer rate above the desired (tc+htb) Alvaro Motta
` (3 preceding siblings ...)
2005-07-20 23:14 ` Francisco Pereira
@ 2005-07-24 18:06 ` gypsy
4 siblings, 0 replies; 6+ messages in thread
From: gypsy @ 2005-07-24 18:06 UTC (permalink / raw)
To: lartc
Alvaro Motta wrote:
>
> Hi Andy, thanks for your reply.
>
> I don't see why the src should be the culprit, since the AB segment is
> 10.4 network and the BC is 192.168. And IMHO 0.0.0.0/0
>
> Also, after modifying the src, the traffic rate was the same as if no
> qdisc were attached to the interface. I even played with the
> interfaces and the only way to throttle the traffic, is assigning the
> qdisc to the eth0 and having the src and dst as in the script I've
> sent.
>
> AL
Al,
Somebody may have already helped you solve this; I have not read all
messages from LARTC yet. If not:
Create 3 filters, each with the same (non zero) prio. The first to
match 10.4.0.0/16, the second to match 192.168.0.0/24 and the last to
match 0.0.0.0/0 - then see where the packets go by running
tc -s class ls dev eth0
32kbit = 32,000 bits per second. 32,000 / 8 bits per byte = 4,000 bytes
per second = 4Kbytes per second, and the reported flow rate should be
close to that for the packets that match the filter.
--
gypsy
> On 7/20/05, Andy Furniss <andy.furniss@dsl.pipex.com> wrote:
> > Alvaro Motta wrote:
> > > Hi folks.
> > >
> > > I started to play with tc+htb last week, and I must confess that this
> > > thing is really driving me nuts.
> > >
> > > All we want to do is control bw, with no borrowing.
> > >
> > > In order to get the feeling on this subject, I have setup the
> > > following test bed.
> > >
> > > ---A---B---C---
> > >
> > > On B: eth0 connecting A and eth1 connecting C.
> > >
> > > The script.
> > >
> > > tc qdisc del dev eth0 root
> > > tc qdisc add dev eth0 root handle 1: htb default 50
> > > tc class add dev eth0 parent 1: classid 1:1 htb rate 32kbit ceil 32kbit
> > > tc filter add dev eth0 protocol ip parent 1:0 prio 100 u32 match ip
> > > src 10.4.0.0/16 match ip dst 0.0.0.0/0 classid 1:1
> >
> > Should be src 192.168.0.0/24.
> >
> > Andy.
> >
> >
> > >
> > > If I try to transfer a 1M file from C to A:
> > >
> > > [root@localpost tmp]# wget 192.168.0.23/1M
> > > --09:22:32-- http://192.168.0.23/1M => `1M.8'
> > > Connecting to 192.168.0.23:80... connected.
> > > HTTP request sent, awaiting response... 200 OK
> > > Length: 1,024,000 [text/plain]
> > > 100%[===========>] 1,024,000 183.12K/s ETA 00:00
> > > 09:22:38 (182.88 KB/s) - `1M' saved [1,024,000/1,024,000]
> > >
> > > Wasn't it supposed to be around the 32KB/s?
> > >
> > > If I play with the numbers (rateÎil) I get the following results:
> > > 128k => 404.78 KB/s
> > > 64k => 337.9 KB/s
> > > 16k => 68.86 KB/s
> > > 8k => 31.12 KB/s
> > > 1k => 3.77 KB/s
> > >
> > > I even tried to set the rate to 1kbps in root, but also led to pretty
> > > much the same results.
> > >
> > > With no qdisc, the rate will go close to 1000 KB/s
> > >
> > > B machine:
> > > 2.6.11-1.1369_FC4
> > > iproute-2.6.11-1
> > > TC HTB version 3.3
> > >
> > > I have no clue on what I am doing wrong. Could anyone browse the above
> > > script and give me hint?
> > >
> > > Thanks in advance,
> > >
> > > AL
> > > _______________________________________________
> > > LARTC mailing list
> > > LARTC@mailman.ds9a.nl
> > > http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
> > >
> >
> >
> _______________________________________________
> LARTC mailing list
> LARTC@mailman.ds9a.nl
> http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
^ permalink raw reply [flat|nested] 6+ messages in thread