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