Re: tc limit

Linux Advanced Routing and Traffic Control

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

 



Martin Schiøtz wrote:
> 
> Thanks, with "prio #" on all filters - all rules can be added.
> :-)

You're welcome.
 
> Just curious - Is there a reason for the ~2K limit on filters with "prio 0"?
> 
> Martin

No reason I'm aware of.  Probably some OOPS! in the code that creates
filters.  Since I've never bothered to learn C, I've also never bothered
to read the source code.  So I'd never spot a programming mistake no
matter how obvious, and I suspect that this one is very subtle.

The real crime here is that the docs do not tell you that there is this
trap that "everyone" with a lot of users falls into.

> On Wed, 19 Jan 2005 07:12:56 -0800, gypsy <gypsy@xxxxxxxxxx> wrote:
> > Martin Schiøtz wrote:
> > >
> > > Hi
> >
> > Hello.
> >
> > > I have been playing with tc. I'm using htb and sfq. I tried to setup
> > > shaping of every ip address  within a /20.
> > > I found that there must be an upper limit of about 2096 on the number
> > > of rules (classes, qdiscs or filters). I was testing a /20 which gives
> > > 4096 classes, qdiscs and filters. I'm using hashkey to optimize
> > > processing of frames.
> >
> > Filters.
> >
> > > Is there a limit with tc or I'm I doing something wrong ?
> >
> > Yes, sort of.  Yes.
> >
> > > This is the script:
> > > #!/bin/sh
> > >
> >
> > > /sbin/tc filter add dev eth1 parent 1:3 protocol ip u32
> >
> > 'prio #' must be included in all 'filter' lines where "#" is not zero
> > and is always the same; the "zero prio" has a limit and there is a limit
> > on '#' - but no limit on how many times '#' can be (e.g.) 5
> >
> > So, e.g.:
> > tc filter add dev eth1 parent 1: protocol ip prio 5 \
> >    u32 match ip src $IP flowid 1:40
> >
> > will run at least 64K times without complaint, but this will fail after
> > ~2K:
> > tc filter add dev eth1 parent 1: protocol ip prio 0 \
> >    u32 match ip src $IP flowid 1:40
> >
> > > /sbin/tc filter add dev eth1 parent 1:3 handle 3: protocol ip u32 divisor 256
> > > /sbin/tc filter add dev eth1 protocol ip parent 1: u32 match ip dst
> > > 10.0.0.0/20 hashkey mask 0x000000ff at 16 link 3:
> >
> > google LARTC please document
> >
> > gypsy
_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

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