[LARTC] tc limit
Martin Schiøtz
Martin Schiøtz
Wed, 19 Jan 2005 17:54:02 +0100
Thanks, with "prio #" on all filters - all rules can be added.
:-)
Just curious - Is there a reason for the ~2K limit on filters with "prio 0"?
Martin
On Wed, 19 Jan 2005 07:12:56 -0800, gypsy <gypsy@iswest.com> 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 divis=
or 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
>