From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Ricardo" Date: Wed, 28 Jul 2004 18:57:26 +0000 Subject: [LARTC] CBQ Problem Message-Id: <003a01c474d4$b9895350$0200000a@ricardo> MIME-Version: 1 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0037_01C474BB.93FEEB40" List-Id: References: In-Reply-To: To: lartc@vger.kernel.org This is a multi-part message in MIME format. ------=_NextPart_000_0037_01C474BB.93FEEB40 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi. I want to shape traffic from some IPs in my lan, but I'm w/ trouble. = I have a linux box connected to the Internet. In the other side of this = box is my LAN. I want to create the following scenario: =20 My root qdisc is attached to a 100Mbit/s NIC I want to create a class attached to this qdisc that will limit the = traffic at 384Kbit/s. I want to create two leaf classes that limits the traffic at 256Kbit/s. I want to attach two sfq qdiscs so two classes are treated equally. I want to put one LAN IP for each leaf class. When one IP is downloading a file from internet it will never be more = than 256Kbit. When both IPs is downloading files at the same time, they will never be = more than 384Kbit. (I think that is something like the webserver + smtp example that is in = the howto) My config: tc qdisc add dev eth1 root handle 1:0 cbq bandwidth 100Mbit avpkt 1000 = cell 8 tc class add dev eth1 parent 1:0 classid 1:1 cbq bandwidth 100Mbit rate = 384Kbit weight 38Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 = bounded tc class add dev eth1 parent 1:1 classid 1:10 cbq bandwidth 100Mbit rate = 256Kbit weight 25Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 tc class add dev eth1 parent 1:1 classid 1:20 cbq bandwidth 100Mbit rate = 256Kbit weight 25Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000 tc qdisc add dev eth1 parent 1:10 handle 100: sfq tc qdisc add dev eth1 parent 1:20 handle 200: sfq tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst = 10.0.0.2/32 flowid 1:10 tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst = 10.0.0.3/32 flowid 1:20 When I start a download from one machine, the speed is limited at = 256Kbit/s (this is OK) When I start a download from both machines, the speed for each machine = is limited to 256Kbit/s. They are getting 512Kbit/s together.=20 I want limit this speed at 384Kbit/s, so traffic from each machine will = never be more than 192Kbps when both are in use. Why it is not working for me ??? What is the mistake ? Thank You. Ricardo ------=_NextPart_000_0037_01C474BB.93FEEB40 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
    Hi.

    I want to shape = traffic=20 from some IPs in my lan, but I'm w/ trouble. I have a linux box = connected to the=20 Internet. In the other side of this box is my LAN. I want to create the=20 following scenario:
 
My root qdisc is attached to a 100Mbit/s NIC
I want to create a class attached to this qdisc that will limit=20 the traffic at 384Kbit/s.
I want to create two leaf classes that limits the traffic = at=20 256Kbit/s.
I want to attach two sfq qdiscs so two classes are treated=20 equally.
I want to put one LAN IP for each leaf class.
When one IP is downloading a file from internet it will never be = more than=20 256Kbit.
When both IPs is downloading files at the same time, they will = never be=20 more than 384Kbit.
 
(I think that is something like the webserver + smtp example  = that is=20 in the howto)
 
My config:
 
tc qdisc add dev eth1 root handle 1:0 cbq bandwidth 100Mbit avpkt = 1000 cell=20 8
tc class add dev eth1 parent 1:0 classid 1:1 cbq bandwidth 100Mbit = rate=20 384Kbit weight 38Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000=20 bounded
 
tc class add dev eth1 parent 1:1 classid 1:10 cbq bandwidth 100Mbit = rate=20 256Kbit weight 25Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt = 1000
tc=20 class add dev eth1 parent 1:1 classid 1:20 cbq bandwidth 100Mbit rate = 256Kbit=20 weight 25Kbit prio 8 allot 1514 cell 8 maxburst 20 avpkt 1000
 
tc qdisc add dev eth1 parent 1:10 handle 100: sfq
tc qdisc add = dev eth1=20 parent 1:20 handle 200: sfq
 
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip = dst=20 10.0.0.2/32 flowid 1:10
tc filter add dev eth1 parent 1:0 protocol ip = prio 1=20 u32 match ip dst 10.0.0.3/32 flowid 1:20
When I start a download from one machine, the speed is limited at = 256Kbit/s=20 (this is OK)
When I start a download from both machines, the speed for each = machine is=20 limited to 256Kbit/s. They are getting 512Kbit/s together. 
I want limit this speed at 384Kbit/s, so traffic from each machine = will=20 never be more than 192Kbps when both are in use.
 
Why it is not working for me ??? What is the mistake ?
Thank You.
 
Ricardo
------=_NextPart_000_0037_01C474BB.93FEEB40-- _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/