Re: [LARTC] a simple setup with tbf and prio?

Linux Advanced Routing and Traffic Control

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

 



Hmmmm.....clearly I must have failed to explain something.

 : > Does that illustrate for you why the top-level class should perform the
 : > shaping?
 :
 : Yeah, I got that. However I don't quite understand why TBF can't be
 : like CBQ, ie classful?

Let me try again.

The following qdiscs are classless:

  - tbf
  - pfifo_fast
  - sfq

The following qdiscs are classful:

  - prio
  - cbq
  - htb

TBF, as a classless qdisc, can only be a terminal qdisc.  That makes it
far less complex than CBQ, which can support an arbitrary number of nested
classes.

 : They both do the same thing (albeit in different ways), right?

Only in the most general way do they do the same thing.  Each qdisc
provides a set of parameters you can adjust to limit your bandwidth.
While CBQ is a fully-featured queuing discipline, TBF provides only
shaping capabilities.  Both CBQ and TBF are non-work-conserving qdiscs,
though--this is what you are looking for if you want to shape your
transmitted traffic.

Again, since you appear to want the non-work-conserving (shaping) features
of TBF in a classful form, you are well-advised to look at HTB.  HTB is an
implementation of TBF-style scheduling in a classful queuing discipline.

And one other note--it sounds like you want to use "tc filter" commands to
prioritize ACKs and other interactive traffic.  In order to use "tc
filter" commands (classification), you need to have separate classes into
which to classify your traffic.  TBF provides no classes, so you can't
classify!

-Martin

-- 
Martin A. Brown --- SecurePipe, Inc. --- mabrown@xxxxxxxxxxxxxx



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