From mboxrd@z Thu Jan 1 00:00:00 1970 From: Abraham van der Merwe Date: Sat, 16 Nov 2002 20:16:19 +0000 Subject: Re: [LARTC] help needed using filters MIME-Version: 1 Content-Type: multipart/mixed; boundary="5I6of5zJg18YgZEa" Message-Id: List-Id: References: In-Reply-To: To: lartc@vger.kernel.org --5I6of5zJg18YgZEa Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Stef! > > I'm trying to shape a traffic to/from a few different subnets using TBF. > > The way I understand it all I have to do is create a few queueing > > disciplines and attach a filter to each queueing discipline. > > > > So for instance if I want to shape traffic going to 192.168.1.0/24 via = eth0 > > to 64kbit then it should look like this: > > > > ------------< snip <------< snip <------< snip <------------ > > tc qdisc add dev eth0 root handle 1:0 tbf rate 64kbit burst 4kb latency > > 100ms peakrate 128kbit mtu 1500 > > > > tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst > > 192.168.1.0/24 > > ------------< snip <------< snip <------< snip <------------ > > > > I can't add the filter above and I suspect it is due to > > > > a) i can't add filters to tbf queueing disciplines? if so, why not? > Because the tbf qdisc is classless. And filter are used to put packets i= n a=20 > child class. CBQ/HTB are examples of classfull qdiscs. > You add a tbf qdisc as the root qdisc. The root qdisc contains ALL packe= ts=20 > that are sended. So you don't need filters. Ok, so how do you do what I want to do in the example above using the TBF queuing discipline? All the examples I've seen so far uses CBQ, but that is not what I want since I don't want to specify the size of my interface/bandwidth (which is not needed to shape networks). I obviously need a classful queuing displine so that I can make lots of sibling classes with filters attached to each one (with each filter's flowid pointing to a tbf qdisc in that class), but the question then is which queuing discipline should I use for this "container queueing discipline"? > > b) i'm confused be the parent x:y and flowid a:b terminology in the fil= ter. > > When do I use what? > Parent is the class where you add the filter. If you have class 10:1 and= you=20 > want to add a filter to class 10:1, you have to use parent 10:1. > When the filter matches a packet, it's placed in the class you specify wi= th=20 > flowid. If you have class 10:1 with class 10:10 attached to it and you w= ant=20 > to redirect packets to it, you have to specify "parent 10:1 flowid 10:10"= in=20 > the filter command. Thanks. This helps a lot.=20 --=20 Regards Abraham QOTD: "My shampoo lasts longer than my relationships." ___________________________________________________ Abraham vd Merwe [ZR1BBQ] - Frogfoot Networks P.O. Box 3472, Matieland, Stellenbosch, 7602 Cell: +27 82 565 4451 Http: http://www.frogfoot.net Email: abz@frogfoot.net --5I6of5zJg18YgZEa Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.5 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE91qeT0jJV70h31dERAqeaAJ9vXBWfD5G32oAJQ5wjcMFnHQZwogCgqZAw YGUiiLk3kaY0mBtNK6PWh80= =5XQ/ -----END PGP SIGNATURE----- --5I6of5zJg18YgZEa-- _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/