All of lore.kernel.org
 help / color / mirror / Atom feed
* [LARTC] Ingress and polishing
@ 2005-04-27 12:01 Pieter Vanmeerbeek
  0 siblings, 0 replies; only message in thread
From: Pieter Vanmeerbeek @ 2005-04-27 12:01 UTC (permalink / raw)
  To: lartc

Hi,

We are using kernel 2.4.24, tcng version 10b.

I'm trying to do some policing in the ingress queue of the internet 
device. Until now we had configured some filters dividing traffic into 
queues, and on these queues the Double Leaky bucket meter was applied. 
The idea is to have a minimum of bandwidth assigned per class (the cir 
values) and a maximum (pir values), just as with the HTB  meter. (see 
'code 1' at the bottom of the mail for the configuration).

However after reading in the 'Traffic Control - Next generation 
reference Manual' -  p41 of the nov 20, 2003 release - I understood 
(correct me if I'm wrong), this implementation of the DLB would result 
in usage as a SLB :
the pir bucket would fill-up ( 3 tokens in the pir bucket for 1 token in 
the cir bucket), thus the first check using the pir bucket would always 
be yes, and thus bypassed. As sush we are using the DLB as a SLB.

So my question is , is there a way to implement the behavior we want? ( 
minimum and maximum of bandwith per class)

I already tried the srTCM meter but this gave me the following error on 
compiling : don't know how to build meter for this . The code can be 
found below under 'code 2'

The srTCM meter is only a partial solution to our problem as it allows 
configuration of a max burst in kB but not a maximum rate in kbps.


Kind regards,
Pieter
Able


Code 1 :
-----------------
// incoming traffic
        ingress {
                // speeds
                $medium_cir             = $maxDownstream / 4;
                $medium_pir             = $maxDownstream / 4 * 2;
                $low_cir                = $maxDownstream / 4;
                $low_pir                = $maxDownstream / 4;
                // variables to make categories
                $is_medium              = (tcp_sport = PORT_SMTP);
                $is_low                 = 1;
                // Double Leaky Buckets
                $is_medium_pol          = DLB(cir $medium_cir bps,cbs 
20kB,pir $medium_pir bps,pbs 5kB);
                $is_low_pol             = DLB(cir $low_cir bps,cbs 
20kB,pir $low_pir bps,pbs 5kB);
                // do the policing
                class (<>)
                        if $is_medium && DLB_ok($is_medium_pol);
                drop if $is_medium;
                class (<>)
                        if $is_low && DLB_ok($is_low_pol);
                drop if $is_low;

code 2 :
--------------------------
// incoming traffic
        ingress {
                // speeds
                $medium_cir             = $maxDownstream / 4;
                $low_cir                = $maxDownstream / 4;
                // variables to make categories
                $is_medium              = (tcp_sport = PORT_SMTP);
                $is_low                 = 1;
                // Double Leaky Buckets
                $is_medium_pol          = srTCM(cir $medium_cir bps,cbs 
20kB,ebs 40kB);
                $is_low_pol             = srTCM(cir $low_cir bps,cbs 
20kB,ebs 50kB);
                // do the policing
                class (<>)
                        if $is_medium && srTCM_green($is_medium_pol);
                drop if $is_medium;
                class (<>)
                        if $is_low && srTCM_green($is_low_pol);
                drop if $is_low;
        }

--
aXs GUARD has completed security and anti-virus checks on this e-mail
(http://www.axsguard.com)
---------------------------------------------------
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-04-27 12:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-27 12:01 [LARTC] Ingress and polishing Pieter Vanmeerbeek

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.