Re: Re: Order of 'tc filer'

Linux Advanced Routing and Traffic Control

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

 



I thought so too - maybe I was too fast.

I want too be sure that a packet always first is checked/filtered
against src <ip net> and protocol 50 and if it matches it goes to
flowid 1:21 (prio 0 - high).
Then if it does not match above - it is checked/filtered against src
<ip net> and dst <any ip> and goes to flowid 1:22 (prio 2 - low).

But it seems that a filter with prio 0 always is the last filter to be
checked and filters with prio 1,2,3.... is checked in that same order.
It seem that the order has something to do with the pref value the
filter gets.
prio 1 = pref 1
prio 2 = pref 2
prio 3 = pref 3
...
prio 0 = pref 49151

Anyway I don't think that the prio should have anything to do with the
order of the filtering. If it had I guess that a filter with prio 0
would be first filter to be check.
The question is can I somehow in some reasonable way control the order
of the filtering?

- Martin

On 2/17/07, Bob Puff <bob@xxxxxxxxxxxx> wrote:
This is the reverse of what I believe I have read - you may want to continue
looking.  Prio 0 is supposed to be the highest, i believe.

Bob


---------- Original Message -----------
From: "Martin Schiøtz" <malinux@xxxxxxxxx>
To: lartc@xxxxxxxxxxxxxxx
Sent: Sat, 17 Feb 2007 19:14:46 +0100
Subject:  Re: Order of 'tc filer'

> OK - I solved the thing. Using 'prio 0' actually gives the filter a
> low priority.
>
> I just used 'prio 1' instead and know I can control the order :-)
>
> - Martin
>
> On 2/17/07, Martin Schiøtz <malinux@xxxxxxxxx> wrote:
> > Hi
> >
> > How can I control which filter a packet will meet first?
> >
> > I have tried changing the order of applying the tc filter scripts and
> > switching flowid number, but 'protocol ip u32 match ip src <ip net>
> > match ip src 0.0.0.0/0' always kicks in first?
> >
> > From my script
> > --------------------
> > # All traffic - Priority: Low
> > tc filter add dev eth0 parent 1:0 prio 2 protocol ip u32 match ip src
> > <ip net> match ip src 0.0.0.0/0 flowid 1:21
> > # Traffic between offices (IPSEC) - Priority: High
> > tc filter add dev eth0 parent 1:0 prio 0 protocol ip u32 match ip src
> > <ip net> match ip protocol 50 0xff flowid 1:22
> >
> >
> > # tc -s filter show dev eth0
> > ----------------------------------
> > filter parent 1: protocol ip pref 2 u32
> > filter parent 1: protocol ip pref 2 u32 fh 800: ht divisor 1
> > filter parent 1: protocol ip pref 2 u32 fh 800::802 order 2050 key ht
> > 800 bkt 0 flowid 1:21  (rule hit 428 success 426)
> >   match c0000000/e0000000 at 16 (success 426 )
> >   match 00000000/00000000 at 12 (success 426 )
> > filter parent 1: protocol ip pref 49151 u32
> > filter parent 1: protocol ip pref 49151 u32 fh 803: ht divisor 1
> > filter parent 1: protocol ip pref 49151 u32 fh 803::800 order 2048 key
> > ht 803 bkt 0 flowid 1:22  (rule hit 3 success 0)
> >   match c0000000/e0000000 at 16 (success 0 )
> >   match 00320000/00ff0000 at 8 (success 0 )
> >
> > - Martin
> >
> _______________________________________________
> LARTC mailing list
> LARTC@xxxxxxxxxxxxxxx
> http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
------- End of Original Message -------


_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc


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