Suraj Shankar
2003-Oct-28 07:06 UTC
Explanation reqd. for few (more than few!) concepts in TC <long>
Hi all, I am a system administrator trying to understand tc. I have been following the lartc documentation along with a few others. I am unable to understand few things explained in the howtos. Kindly help me with the same ... 1) Can somebody tell me the exact difference between a class and a qdisc? Martin Brown did try to explain to me but, I couldn''t understand! 2) When we talk about pfifo, what is the ''pack size'' understood to be; example, when I set limit to 10 (packets), how many bytes is my bucket? 3) ''HTB is suited for fixed bandwidth'' ... by "fixed" what exactly is meant ... meaning can it be used where bandwidth is shared but at almost always a certain "fixed" bandwidth is available (even if available bandwidth exceeds, it will be by only a few bytes, for a short duration)? 4) Can somebody suggest which qdisc is most ideal (for shaping and scheduling) in a n/w where the ISP provies a (512Kbit) pipe, which is shared by multiple (4) clients but, an average of 45bytes can be expected at any point in time (although, it might exceed this)? 5) The lartc howto speaks about ''mpu'' with reference to TBF, and states "for ethernet, no packet uses less than 64 bytes", can you please tell me whether 64 bytes is the least possible; meaning adding 20 bytes of IP and 28 bytes of TCP, I believed a TCP/IP packet with no payload could exist of 48 bytes, is this possible? and if a payload must be added, should it be 16 bytes atleast, can I not have a 52 byte ethernet packet? Kindly explain. Also, I am unable to see such a parameter when I do a tc...help, for TBF. 6) Could you please define the ''cell'' parameter in a CBQ? Also, I am unable to see maxburst, minburst, minidle, mpu, rate parameter options when I do a ... for ex. : ''tc qdisc add dev eth0 handle 1 root cbq help'' 7) How do I set WRR, link sharing and borrowing parameters using TC? 8) Also, please pardon my ignorance but, do I need a filter for a classless qdisc, cause if I were to attach a classless qdisc to the root qdisc then by default all packets enter this qdisc and I believe I wouldn''t have the scope to classify ... right/wrong? Please help me. Thank you. Regards, suraj. __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Stef Coene
2003-Oct-28 18:08 UTC
Re: Explanation reqd. for few (more than few!) concepts in TC <long>
On Tuesday 28 October 2003 08:06, Suraj Shankar wrote:> Hi all, > I am a system administrator trying to understand tc. > I have been following the lartc documentation along > with a few others. I am unable to understand few > things explained in the howtos. Kindly help me with > the same ... > 1) Can somebody tell me the exact difference between a > class and a qdisc? Martin Brown did try to explain to > me but, I couldn''t understand!You have 2 types of qdiscs. The root qdisc is attached to the device it self and all packets are queued in this qdisc. If this is a class-full qdisc (like htb or cbq) you can add class. A class can contain some packets. You can stack the classes so you can add a class to a class. So a packet enters the root qdisc and is redirected to a class by a filter. You need to create your filters in such way that the packets are placed in a class that contains no other classes. This class is named a leaf class. But the leaf class only contains the traffic and can not send them. To do so, you need to add a qdisc to that class. It''s the qdisc that will send the packets. This can be a class-full qdisc so you can add classes, and restart the setup. But that will be a waste of CPU cycles. It''s better to add a sfq qdisc or a fifo. So, you have 1 root qdisc, some classes, some special classes : leaf-classes and an other set of qdiscs.> 2) When we talk about pfifo, what is the ''pack size'' > understood to be; example, when I set limit to 10 > (packets), how many bytes is my bucket?Pfifo holds packet, so the total bytes depends on the size of your packets : tot_bytes = bucket * size_packets. You can also use bfifo. This is a bucket expressed in bytes.> 3) ''HTB is suited for fixed bandwidth'' ... by "fixed" > what exactly is meant ... meaning can it be used where > bandwidth is shared but at almost always a certain > "fixed" bandwidth is available (even if available > bandwidth exceeds, it will be by only a few bytes, for > a short duration)?Fixed means that you always have the same bandwidth available on the link. So no burst. This is needed because you have to make sure YOU are the bottleneck so if you have a 1000kbit/s link, you have to make sure you never send more then 996kbit/s.> 4) Can somebody suggest which qdisc is most ideal (for > shaping and scheduling) in a n/w where the ISP provies > a (512Kbit) pipe, which is shared by multiple (4) > clients but, an average of 45bytes can be expected at > any point in time (although, it might exceed this)?That''s a difficult one, because YOU have to be the bottleneck to get some good shaping results. You can try the htb or the cbq qdisc and take a higher ceil then your link. You will not be the bottleneck and loose some control.> 5) The lartc howto speaks about ''mpu'' with reference > to TBF, and states "for ethernet, no packet uses less > than 64 bytes", can you please tell me whether 64 > bytes is the least possible; meaning adding 20 bytes > of IP and 28 bytes of TCP, I believed a TCP/IP packet > with no payload could exist of 48 bytes, is this > possible? and if a payload must be added, should it be > 16 bytes atleast, can I not have a 52 byte ethernet > packet? Kindly explain. > Also, I am unable to see such a parameter when I do a > tc...help, for TBF.Sorry, no idea.> 6) Could you please define the ''cell'' parameter in a > CBQ?If you have a bounded class, the ceil is the rate. If it''s not bounded, the ceil will be the rate of a bounded parent class.> Also, I am unable to see maxburst, minburst, minidle, > mpu, rate parameter options when I do a ... for ex. : > ''tc qdisc add dev eth0 handle 1 root cbq help''Just take some example tc commands and copy the parameters you don''t know. The only parameters you have to change is rate and weight.> 7) How do I set WRR, link sharing and borrowing > parameters using TC?Do you mean the wrr qdisc? See the homepage of the wrr qdisc.> 8) Also, please pardon my ignorance but, do I need a > filter for a classless qdisc, cause if I were to > attach a classless qdisc to the root qdisc then by > default all packets enter this qdisc and I believe I > wouldn''t have the scope to classify ... right/wrong?Do you mean adding a class qdisc as the root qdisc or adding a class qdisc to a root qdisc? If you replace the root qdisc with a class less qdisc, you don''t need a filter. If you add the class root qdisc to a root qdisc, you need a root qdisc with classes and add the class qdisc to a class. So you need some filters to put the packets from the root qdisc to the class where the class qdisc is attached to. More information on the subject can be found on http://www.docum.org. Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.openprojects.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Damjan
2003-Oct-28 18:08 UTC
Re: Explanation reqd. for few (more than few!) concepts in TC <long>
> 1) Can somebody tell me the exact difference between a > class and a qdisc? Martin Brown did try to explain to > me but, I couldn''t understand!The qdisc is what actually does the job. Some qdiscs allw you to define classes in them, but the kernel doesn''t care about that. The kernel delivers a packet to the qdisc and it up to it to decide what to do with it (classify the packet etc..)> 3) ''HTB is suited for fixed bandwidth'' ... by "fixed" > what exactly is meant ... meaning can it be used where > bandwidth is shared but at almost always a certain > "fixed" bandwidth is available (even if available > bandwidth exceeds, it will be by only a few bytes, for > a short duration)?Since HTB takes bandwidth as parameters, to really have any effect you''ll have to know how much bandwidth preciselly you have. Like if you have 128kbps ISDN, you must set HTB classes so that cumulative rates of the classes are not bigger that your real limit. If not the shapping will not be correct and precise.> 5) The lartc howto speaks about ''mpu'' with reference > to TBF, and states "for ethernet, no packet uses less > than 64 bytes", can you please tell me whether 64 > bytes is the least possible; meaning adding 20 bytes > of IP and 28 bytes of TCP, I believed a TCP/IP packet > with no payload could exist of 48 bytes, is this > possible? and if a payload must be added, should it be > 16 bytes atleast, can I not have a 52 byte ethernet > packet? Kindly explain.Ethernet is not the same as TCP/IP! And TC can shape other protocols than IP. An ethernet packet (actually a frame) is: 8 bytes preamble 6 bytes src MAC address 6 bytes dst MAC address 2 bytes type DATA (46–1500) bytes 4 bytes Checksum = 72-1526 bytes, now the OS actually doesn''t see the preamble so the minimal ethernet frame in the OS is 64bytes. -- Damjan Georgievski jabberID: damjan@bagra.net.mk _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Suraj Shankar
2003-Oct-29 14:23 UTC
Re: Explanation reqd. for few (more than few!) concepts in TC <long>
Hi, --- Damjan <gdamjan@mail.net.mk> wrote:> The qdisc is what actually does the job. Some qdiscs > allw you to define > classes in them, but the kernel doesn''t care about > that. The kernel > delivers a packet to the qdisc and it up to it to > decide what to do with > it (classify the packet etc..)IMHO, classification is done by the filter within a classful qdisc; but, I was wondering why call a class inside a qdisc a class, why not call it a sub-qdisc, there must be something more to a class-vs-qdisc.> Since HTB takes bandwidth as parameters, to really > have any effect > you''ll have to know how much bandwidth preciselly > you have. Like if you > have 128kbps ISDN, you must set HTB classes so that > cumulative rates of > the classes are not bigger that your real limit. If > not the shapping > will not be correct and precise.okey, so ideally for a bandwidth that varies (by few bytes) cbq is the best available?> Ethernet is not the same as TCP/IP! And TC can shape > other protocols > than IP.okey, this I didn''t know :D Spent the day doing, OSI and 802.3! Should have taken Tanenbaum, during graduation seriously. Sorry about this question. Thank you, for all the help. Regards, suraj. __________________________________ Do you Yahoo!? Exclusive Video Premiere - Britney Spears http://launch.yahoo.com/promos/britneyspears/ _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Suraj Shankar
2003-Oct-29 15:02 UTC
Re: Explanation reqd. for few (more than few!) concepts in TC <long>
Hi, --- Stef Coene <stef.coene@docum.org> wrote:> You have 2 types of qdiscs. The root qdisc is > attached to the device it self > and all packets are queued in this qdisc. If this > is a class-full qdisc > (like htb or cbq) you can add class. A class can > contain some packets. You > can stack the classes so you can add a class to a > class. So a packet enters > the root qdisc and is redirected to a class by a > filter. You need to create > your filters in such way that the packets are placed > in a class that contains > no other classes. This class is named a leaf class.all this is agreed ...> But the leaf class only contains the traffic and can > not send them. To do so, > you need to add a qdisc to that class. It''s the > qdisc that will send the > packets. This can be a class-full qdisc so you cannow, if you are saying a class differs from a qdisc in that it cannot send out packets and qdisc can ... i think that is not perfectly true, in that, if a fifo qdisc was attached as a child to a classful qdisc (say cbq) the fifo qdisc will not be able to send packets out directly, it has to dequeue to the parent and only the root can dequeue-out.> add classes, and restart > the setup. But that will be a waste of CPU cycles. > It''s better to add a sfq > qdisc or a fifo. > > So, you have 1 root qdisc, some classes, some > special classes : leaf-classes > and an other set of qdiscs.> Pfifo holds packet, so the total bytes depends on > the size of your packets :which (size of the packet) could vary, right? this would then lead to a dynamically sized queue, is this how it works?> > 3) ''HTB is suited for fixed bandwidth'' ... by > "fixed" > > what exactly is meant ... meaning can it be used...> Fixed means that you always have the same bandwidth > available on the link. So > no burst. This is needed because you have to make > sure YOU are the > bottleneck so if you have a 1000kbit/s link, you > have to make sure you never > send more then 996kbit/s. > > > 4) Can somebody suggest which qdisc is most ideal > (for > > shaping and scheduling) in a n/w where the ISP > provies > > a (512Kbit) pipe, which is shared by multiple (4) > > clients but, an average of 45bytes can be expected > at > > any point in time (although, it might exceed > this)? > That''s a difficult one, because YOU have to be the > bottleneck to get some good > shaping results. You can try the htb or the cbq > qdisc and take a higher ceil > then your link. You will not be the bottleneck and > loose some control.okey, so can you please tell me, if I fail to be the bottleneck, what maximum would happen ... IMO, I could carry on shaping but not for that extra few bytes, now available, right?> > 5) The lartc howto speaks about ''mpu'' with > reference > > to TBF, and states "for ethernet, no packet uses...> > Also, I am unable to see such a parameter when I > do a > > tc...help, for TBF. > Sorry, no idea.:)> > 6) Could you please define the ''cell'' parameter in > a > > CBQ? > If you have a bounded class, the ceil is the rate. > If it''s not bounded, the > ceil will be the rate of a bounded parent class.''ceil'' IMHO, is a little different from ''cell'', that the lartc howto talks about.> > Also, I am unable to see maxburst, minburst, > minidle, > > mpu, rate parameter options when I do a ... for > ex. : > > ''tc qdisc add dev eth0 handle 1 root cbq help'' > Just take some example tc commands and copy the > parameters you don''t know. > The only parameters you have to change is rate and > weight.yeah, but the lartc howto talks about more ... so was wondering!> > 7) How do I set WRR, link sharing and borrowing > > parameters using TC? > Do you mean the wrr qdisc? See the homepage of the > wrr qdisc.oops, I am sorry I meant according to the lartc howto, there are few WRR parameters that need to be set for CBQ!?> > 8) Also, please pardon my ignorance but, do I need > a > > filter for a classless qdisc, cause if I were to > > attach a classless qdisc to the root qdisc then by > > default all packets enter this qdisc and I believe > I > > wouldn''t have the scope to classify ... > right/wrong? > Do you mean adding a class qdisc as the root qdisc > or adding a class qdisc to > a root qdisc? If you replace the root qdisc with a > class less qdisc, you > don''t need a filter. If you add the class root > qdisc to a root qdisc, you > need a root qdisc with classes and add the class > qdisc to a class. So you > need some filters to put the packets from the root > qdisc to the class where > the class qdisc is attached to. > More information on the subject can be found on > http://www.docum.org.IMHO, the root qdisc (by default) is a pfifo_fast (classless) qdisc ... which means if want a classful qdisc you would need to replace the default qdisc. By "replace", I mean attach it to root ... which then follows all packets ''enter here'' ... which then gets me back to my original Q! have been to your site ... went back today ... but couldn''t find pointers to my confusion. Kindly, correct my understanding, if required. Thank you, for all your help. Regards, suraj. __________________________________ Do you Yahoo!? Exclusive Video Premiere - Britney Spears http://launch.yahoo.com/promos/britneyspears/ _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Suraj Shankar
2003-Oct-29 15:07 UTC
Re: Explanation reqd. for few (more than few!) concepts in TC <long>
Hi, --- "Michael T. Babcock" <mbabcock@fibrespeed.net> wrote:> If I may Stef, a qdisc is short for a Queuing > Discipline. It determines > how a packet leaves itself. A FIFO qdisc is > basically what you have if > you don''t use one at all; every packet comes in, > lines up, and spits out > in the same order. > > You can add classifiable queuing disciplines > however. Such a queuing > discipline allows you to add classes to it. Each > class is like a branch > in a tree. When you get to the end of the branch > you have a leaf and > that needs a queuing discipline again. > > Whether it would work or not is one thing, but > technically speaking, you > could add an HTB (classful) qdisc to eth0, then make > a tree of classes > under that. Then some of those could have SFQ or > RED qdisc''s attached > to them (the end leaves of the tree) and others > could have another tree > added as HTB or CBQ even (also classful).yes! somebody does think like I do ... but isn''t there a valid reason why a class is called a class and a qdisc called a qdisc?!? Thank you. Regards, suraj. __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Stef Coene
2003-Oct-29 18:41 UTC
Re: Explanation reqd. for few (more than few!) concepts in TC <long>
On Wednesday 29 October 2003 15:23, Suraj Shankar wrote:> IMHO, classification is done by the filter within a > classful qdisc; but, I was wondering why call a class > inside a qdisc a class, why not call it a sub-qdisc, > there must be something more to a class-vs-qdisc.A qdisc is a queueing discipline : it''s a queue for packets. A class is something virtual that hold some packets from that queue.> > Since HTB takes bandwidth as parameters, to really > > have any effect > > you''ll have to know how much bandwidth preciselly > > you have. Like if you > > have 128kbps ISDN, you must set HTB classes so that > > cumulative rates of > > the classes are not bigger that your real limit. If > > not the shapping > > will not be correct and precise. > > okey, so ideally for a bandwidth that varies (by few > bytes) cbq is the best available?No, you will have the same problem with cbq :( Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.openprojects.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Stef Coene
2003-Oct-29 18:59 UTC
Re: Explanation reqd. for few (more than few!) concepts in TC <long>
On Wednesday 29 October 2003 16:02, Suraj Shankar wrote:> > But the leaf class only contains the traffic and can > > not send them. To do so, > > you need to add a qdisc to that class. It''s the > > qdisc that will send the > > packets. This can be a class-full qdisc so you can > > now, if you are saying a class differs from a qdisc in > that it cannot send out packets and qdisc can ... i > think that is not perfectly true, in that, if a fifo > qdisc was attached as a child to a classful qdisc (say > cbq) the fifo qdisc will not be able to send packets > out directly, it has to dequeue to the parent and only > the root can dequeue-out.That''s even confusing for me. I just ignore that part :(> which (size of the packet) could vary, right? > this would then lead to a dynamically sized queue, is > this how it works?Yes, you can stor a a number of packets in a pfifo. So the total queue length (in bytes) can vary.> > That''s a difficult one, because YOU have to be the > > bottleneck to get some good > > shaping results. You can try the htb or the cbq > > qdisc and take a higher ceil > > then your link. You will not be the bottleneck and > > loose some control. > > okey, so can you please tell me, if I fail to be the > bottleneck, what maximum would happen ... IMO, I could > carry on shaping but not for that extra few bytes, now > available, right?Most modems have a hugh queue to speed up downloads. But that queue can kill the shaping you did. So you have to be sure the queue is never full. And the only thing to do so is to never send more data then the modem can handle. So you have to make sure YOU are the bottleneck.> > If you have a bounded class, the ceil is the rate. > > If it''s not bounded, the > > ceil will be the rate of a bounded parent class. > ''ceil'' IMHO, is a little different from ''cell'', that > the lartc howto talks about.What part of the lartc howto ?> > Just take some example tc commands and copy the > > parameters you don''t know. > > The only parameters you have to change is rate and > > weight. > yeah, but the lartc howto talks about more ... so was > wondering!One of the reasons why I like htb is you don''t need these confusing options. And htb don''t rely on the nic hardware to calculate the actual rate.> > Do you mean the wrr qdisc? See the homepage of the > > wrr qdisc. > > oops, I am sorry I meant according to the lartc howto, > there are few WRR parameters that need to be set for > CBQ!?Ah the WRR schedule. I think one of these parameters is the weight. Just take weight = rate / 10.> IMHO, the root qdisc (by default) is a pfifo_fast > (classless) qdisc ... which means if want a classful > qdisc you would need to replace the default qdisc. > By "replace", I mean attach it to root ... which then > follows all packets ''enter here'' ... which then gets > me back to my original Q! > have been to your site ... went back today ... but > couldn''t find pointers to my confusion.If you add a class qdisc as the root qdisc, all packets are queued in the class less qdisc and processed. So you don''t need a filter. Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.openprojects.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Suraj Shankar
2003-Oct-30 05:54 UTC
Re: Explanation reqd. for few (more than few!) concepts in TC <long>
Hi, --- Stef Coene <stef.coene@docum.org> wrote:> A qdisc is a queueing discipline : it''s a queue for > packets. A class is > something virtual that hold some packets from that > queue.okey, I must say I have a better understanding of the differences now. Thank you.> > okey, so ideally for a bandwidth that varies (by > few > > bytes) cbq is the best available? > No, you will have the same problem with cbq :(so which kind of qdisc will be best for varing bandwidths? Thank you, Stef. Regards, suraj. __________________________________ Do you Yahoo!? Exclusive Video Premiere - Britney Spears http://launch.yahoo.com/promos/britneyspears/ _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Suraj Shankar
2003-Oct-30 06:10 UTC
Re: Explanation reqd. for few (more than few!) concepts in TC <long>
Hi, --- Stef Coene <stef.coene@docum.org> wrote:> > which (size of the packet) could vary, right? > > this would then lead to a dynamically sized queue, > is > > this how it works? > Yes, you can stor a a number of packets in a pfifo. > So the total queue length > (in bytes) can vary.yes! I understood something :) Thank you.> > okey, so can you please tell me, if I fail to be > the > > bottleneck, what maximum would happen ... IMO, I > could > > carry on shaping but not for that extra few bytes, > now > > available, right? > Most modems have a hugh queue to speed up downloads. > But that queue can kill > the shaping you did. So you have to be sure the > queue is never full. And > the only thing to do so is to never send more data > then the modem can handle. > So you have to make sure YOU are the bottleneck.yes, I have a proof-of-concept! ... meaning wrote a script that works but, waiting to take it ''live''.> > ''ceil'' IMHO, is a little different from ''cell'', > that > > the lartc howto talks about. > What part of the lartc howto ?http://lartc.org/lartc.html#AEN939 ; the part that lists parameters in CBQ ... was wondering how ''cell'' can be defined.> > yeah, but the lartc howto talks about more ... so > was > > wondering! > One of the reasons why I like htb is you don''t need > these confusing options. > And htb don''t rely on the nic hardware to calculate > the actual rate.hmm, that''s true.> > oops, I am sorry I meant according to the lartc > howto, > > there are few WRR parameters that need to be set > for > > CBQ!? > Ah the WRR schedule. I think one of these > parameters is the weight. Just > take weight = rate / 10.okey, but how do I set it ... Usage: ... cbq bandwidth BPS avpkt BYTES [ mpu BYTES ] [ cell BYTES ] [ ewma LOG ] ...this is what tc...help says, there isn''t a weight parameter :(> If you add a class qdisc as the root qdisc, all > packets are queued in the > class less qdisc and processed. So you don''t need a > filter.:) Stef, I do really appreciate the time spent in trying to help me. Thank you. Warm Regards, suraj. __________________________________ Do you Yahoo!? Exclusive Video Premiere - Britney Spears http://launch.yahoo.com/promos/britneyspears/ _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Stef Coene
2003-Oct-30 10:38 UTC
Re: Explanation reqd. for few (more than few!) concepts in TC <long>
On Thursday 30 October 2003 06:54, Suraj Shankar wrote:> > > okey, so ideally for a bandwidth that varies (by > > > > few > > > > > bytes) cbq is the best available? > > > > No, you will have the same problem with cbq :( > > so which kind of qdisc will be best for varing > bandwidths?If you want to use classes, you have to choose for htb or cbq. You can get good results even if you are not the bottleneck on the link. If you want to shape the traffic, you will be fine. But if you also want to give a low latency to certain packets, a modem queue can redo what you did on your shaping box (imagine that you give an ack packet a high priority but it has to wait in a big queue in your modem ....). Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.openprojects.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Stef Coene
2003-Oct-30 10:43 UTC
Re: Explanation reqd. for few (more than few!) concepts in TC <long>
On Thursday 30 October 2003 07:10, Suraj Shankar wrote:> > > available, right? > > Most modems have a hugh queue to speed up downloads. > > But that queue can kill > > the shaping you did. So you have to be sure the > > queue is never full. And > > the only thing to do so is to never send more data > > then the modem can handle. > > So you have to make sure YOU are the bottleneck. > > yes, I have a proof-of-concept! ... meaning wrote a > script that works but, waiting to take it ''live''.> http://lartc.org/lartc.html#AEN939 ; the part that > lists parameters in CBQ ... was wondering how ''cell'' > can be defined.If you bound a class, the class can never send more then the configure rate. So that''s the ceil. If you add a sub class (not bounded), that class has to respect the rate (in this case also the ceil) of it''s parente.> > One of the reasons why I like htb is you don''t need > > these confusing options. > > And htb don''t rely on the nic hardware to calculate > > the actual rate. > hmm, that''s true.And htb is maintained, while the cbq code is not.> > Ah the WRR schedule. I think one of these > > parameters is the weight. Just > > take weight = rate / 10. > > okey, but how do I set it ... > Usage: ... cbq bandwidth BPS avpkt BYTES [ mpu BYTES ] > [ cell BYTES ] [ ewma LOG ] > ...this is what tc...help says, there isn''t a weight > parameter :(Don''t trust the help function :(. My tip : go to http://docum.org, go to the test pages and copy my cbq commands ,)> Stef, I do really appreciate the time spent in trying > to help me. Thank you.No problem. Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.openprojects.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Suraj Shankar
2003-Oct-31 07:23 UTC
Re: Explanation reqd. for few (more than few!) concepts in TC <long>
Hi, --- Stef Coene <stef.coene@docum.org> wrote:> > http://lartc.org/lartc.html#AEN939 ; the part that > > lists parameters in CBQ ... was wondering how > ''cell'' > > can be defined. > If you bound a class, the class can never send more > then the configure rate. > So that''s the ceil. If you add a sub class (not > bounded), that class has to > respect the rate (in this case also the ceil) of > it''s parente.!> And htb is maintained, while the cbq code is not.in my xp, that sure is a reason to be using it :)> Don''t trust the help function :(. My tip : go to > http://docum.org, go to the > test pages and copy my cbq commands ,)okey! now I understand what you earlier meant by test pages. Was there, you syntax works ... which means the tc help isn''t exhaustive, well that''s a pity. Thank you. Do you have any pointers to where I can find a list of parameters configurable with a particular queue?> > Stef, I do really appreciate the time spent in > trying > > to help me. Thank you. > No problem.:) Thank you. Regards, suraj. __________________________________ Do you Yahoo!? Exclusive Video Premiere - Britney Spears http://launch.yahoo.com/promos/britneyspears/ _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Stef Coene
2003-Oct-31 09:47 UTC
Re: Explanation reqd. for few (more than few!) concepts in TC <long>
On Friday 31 October 2003 08:23, Suraj Shankar wrote:> > Don''t trust the help function :(. My tip : go to > > http://docum.org, go to the > > test pages and copy my cbq commands ,) > > okey! now I understand what you earlier meant by test > pages. Was there, you syntax works ... which means the > tc help isn''t exhaustive, well that''s a pity. Thank > you. Do you have any pointers to where I can find a > list of parameters configurable with a particular > queue?Not really. The htb parameters are easy to understand. The cbq parameters are not. Some information can be found in the tc source, some in the kernel source. That''s one of the reasons I suggest htb. Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.openprojects.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/