Have you tried not using classify but instead using tc filters?  Maybe
this is a limitation with iptables classify.  Try using your classify
to put things into 20:  and then use tc filters attached to 20: to
split into the htb subclasses?

I never used classify much and have always used tc filter instead, and
i have done a setup similar to this with success.

- Jody

On 7/15/05, Georg C. F. Greve <[EMAIL PROTECTED]> wrote:
> Hi all,
> 
> based on the information in the "Linux Advanced Routing & Traffic
> Control HOWTO", I was trying to set up traffic shaping on my firewall.
> 
> While I found the HOWTO very useful, in the process I ran into some
> problems that I did not forsee: According to the HOWTO it seems that
> it should have worked, even after spending some time going through the
> sections looking for answers, the problem was not obvious to me.
> 
> So I would appreciate if you could tell me where my mistake was and
> also maybe add a bit of information to the HOWTO to help others fall
> into the same traps that I fell into. :-)
> 
> Here is what I wanted my ideal solution to look like:
> 
> A strong priority of traffic, where parts of the upstream should be
> guaranteed rate for some traffic, the rest should be given to normal
> traffic and any "leftovers" to BULK traffic, which is allowed to
> starve for a while. Also, connection handshake and such very short,
> time critical things should get absolute priority over everything
> else.
> 
> So this is what I ideally wanted to set up:
> 
>  1: PRIO QDISC (4 Bands), DEFAULT: ALL TO BAND 3 (2 in priomap)
> 
>  1:1 -> SFQ, handle 10:
>              for priority communication (connection handshake & co)
> 
>  1:2 -> HTB, handle 20:
>              limited to Xk for different kinds of guaranteed rates that
>              can "borrow" from each other, but never more than the
>              maximum -- so it cannot saturate the link fully.
> 
>         20:1 -> SFQ, handle 100:
>         20:2 -> SFQ, handle 200:
>         20:3 -> SFQ, handle 300:
>         20:4 -> SFQ, handle 400:
>         [...]
> 
>  1:3 -> PRIO QDISC (default), handle 30:
>         for all "normal"/unclassified traffic, TOS splitting only
>         30:1 (BAND 1)
>         30:2 (BAND 2)
>         30:3 (BAND 3)
> 
>  1:4 -> PFIFO, handle 40:
>         "starvation bitbucket"
>         gets what is left, can starve at times
> 
> The setup was apparently successful, tc does not complain and displays
> the structure: without any CLASSIFY targets, all traffic goes to 1:3
> and is split in the three bands properly. Looks good.
> 
> I can also add CLASSIFY for 1:1 and 1:4, which seem to fall into the
> SFQ/PFIFO buckets underneath, both look good.
> 
> The problem starts with the HTB embedded in 1:2 as 20: -- I can never
> CLASSIFY traffic for it properly, the only way to get ANY traffic into
> it is to CLASSIFY for 1:2, but that puts all into its default bucket,
> which defeats its purpose.
> 
> Neither 20:1 nor 100:0 would put traffic into its first bucket.
> 
> Such classification is simply ignored as far as I can tell.
> 
> This is the problem that I ultimately did not find a way to solve, the
> "indirect" approach of using the MARK target and tc filters also did
> not work -- it shows the exact same result.
> 
> I currently run another approach to this, which I am not quite as
> happy with, but which works for now -- but would still like to know:
> 
>  * WHY was the 20:1 or 100:0 CLASSIFY not successful? Nothing in the
>    documentation seemed to indicate that it should fail.
> 
>  * HOW could it have been made to work?
> 
>  * WHAT kind of information was I lacking?
> 
> or, in short: WHAT did I do wrong?
> 
> I'd be grateful to find an answer and think it might help to then find
> a way to add that answer into the LARTC HOWTO.
> 
> Regards,
> Georg
> 
> --
> Georg C. F. Greve                                 <[EMAIL PROTECTED]>
> Free Software Foundation Europe                  (http://fsfeurope.org)
> Join the Fellowship and protect your freedom!     (http://www.fsfe.org)
> 
> 
> _______________________________________________
> 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

Reply via email to