Nefunkcni priorita filtru v tc
Dalibor Toman
dtoman na fortech.cz
Středa Říjen 30 13:47:32 CET 2013
DD,
tak se zda, ze pokud si vytvorim vlastni hash tabulku:
tc qdisc del dev eth1 root
tc qdisc add dev eth1 root handle 1: htb default 123 r2q 5
tc filter add dev eth1 parent 1:0 prio 3 handle 10: protocol ip u32
divisor 256
a pridam nejake filtry, ktere do ni odkazuji:
tc filter add dev eth1 protocol ip parent 1:0 prio 5 u32 ht 800:: match
ip src 1.2.3.0/17 hashkey mask 0x0000ff00 at 12 link 10:
tc filter add dev eth1 protocol ip parent 1:0 prio 50 u32 ht 800:: match
ip src 2.2.3.0/17 hashkey mask 0x0000ff00 at 12 link 10:
tak ve vypisu jsou priority jinak. Filtry nemaji tu prioritu, co jsem
jim priradil ale zkopiruji si tu z hash tabulky do ktere linkuji (nebo
si to mozna vemou z defaultni tabulky (800), ktera se automaticky vytvori:
# tc filter show dev eth1
filter parent 1: protocol ip pref 3 u32
filter parent 1: protocol ip pref 3 u32 fh 10: ht divisor 256
filter parent 1: protocol ip pref 3 u32 fh 800: ht divisor 1
filter parent 1: protocol ip pref 3 u32 fh 800::800 order 2048 key ht
800 bkt 0 link 10:
match 01020000/ffff8000 at 12
hash mask 0000ff00 at 12
filter parent 1: protocol ip pref 3 u32 fh 800::801 order 2049 key ht
800 bkt 0 link 10:
match 02020000/ffff8000 at 12
hash mask 0000ff00 at 12
filter parent 1: protocol ip pref 5 u32
filter parent 1: protocol ip pref 5 u32 fh 801: ht divisor 1
filter parent 1: protocol ip pref 50 u32
filter parent 1: protocol ip pref 50 u32 fh 802: ht divisor 1
delam neco spatne? Nebo to je chyba?
D. Toman
On 10/21/2013 9:04 AM, Dalibor Toman wrote:
> DD,
>
> at delam, co delam, ve vypisu filtru ma mnou pridany filtr vzdy
> nakonec zobrazenu prioritu 'pref 1'. Funguje razeni filtru podle
> priority vubec nekomu?
>
> Zkousel jsem ve filtru pouzivat klicove slovo "prio" i "pref" posouvat
> ho na ruzna mista - zadna zmena
>
> napr:
> tc filter add dev eth1 protocol ip pref 10 parent 1:0 u32 ht 105:e6:
> match ip dst x.x.x.x flowid 1:1741
>
> a vysledek:
> tc -s filter show dev eth1 | egrep '1:1741'
> ...
> filter parent 1: protocol ip pref 1 u32 fh 105:e6:808 order 2056 key
> ht 105 bkt e6 flowid 1:1741 (rule hit 0 success 0)
> --
>
> zadam vic filtru kazdy s jinou priorotou a ve vypisu maji vsechny pref
> 1. Neni to jen chyba vypisu ty pravidla se pak vyhodnocuji fakt jen v
> poradi v jakem jsou zadane (nejstarsi prvni) misto aby se tak delo
> podle priority.
>
> Zkouseno na Scientific Linuxu 5.5 a 6.3 (klony RHELu)
>
> Diky
>
Další informace o konferenci Linux