Filtr u32 i priorytety

Krzysztof Mościcki stivi w elomza.pl
Czw, 15 Kwi 2004, 12:49:37 CEST


Witam wszystkich.
Mam pewien problem z priorytetami w filtrze u32, a mianowicie chodzi o
to, że regółki dublują się.

Tutaj podaję przykładzik jak wpisuję rególki:

#Tutaj z prio 5
tc filter add dev eth0 parent 1:0 prio 5 protocol ip u32
tc filter add dev eth0 parent 1:0 prio 5 handle 2: protocol ip \
 u32 divisor 16

tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 \
 ht 2:0: match ip dst 192.168.0.0 flowid 1:10
tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 \
 ht 2:1: match ip dst 192.168.0.1 flowid 1:11
--------------------------------------------------------------
tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 \
 ht 2:f: match ip dst 192.168.0.15 flowid 1:1f

tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 ht 800:: \
 match ip dst 192.168.0.0/28 hashkey mask 0x0000000f at 16 link 2:

# a tutaj z prio 3
tc filter add dev eth0 parent 1:0 prio 3 protocol ip u32
tc filter add dev eth0 parent 1:0 prio 3 handle 3: protocol ip \
 u32 divisor 1
tc filter add dev eth0 parent 1:0 protocol ip prio 3 u32 ht 3:0 \
 match ip src 172.17.0.1 match ip sport 80 0xffff match ip \
 tos 0x00 0xff flowid 1:20

Oczywiście to tylko przykład bo regółek z prio 5 będzie "trochę" więcej,
oddzielna dla każdego użytkownika (sprawiedliwy podział łącza), ze
względu na to zastosowałem filtr mieszający. Regółki z prio 3 mają iść z
pełna przepustowością łącza i aby to działało muszą być sprawdzane
wcześniej.

A oto co wyrzuca tc filter ls dev eth0:
filter parent 1: protocol ip pref 3 u32
filter parent 1: protocol ip pref 3 u32 fh 3: ht divisor 1
filter parent 1: protocol ip pref 3 u32 fh 3::800 order 2048 key ht 3
bkt 0 flowid 1:20
  match c0a80001/ffffffff at 12
  match 00500000/ffff0000 at 20
  match 00000000/00ff0000 at 0
filter parent 1: protocol ip pref 3 u32 fh 801: ht divisor 1
filter parent 1: protocol ip pref 3 u32 fh 2: ht divisor 16
filter parent 1: protocol ip pref 3 u32 fh 2::800 order 2048 key ht 2
bkt 0 flowid 1:10
  match c0a80000/ffffffff at 16
filter parent 1: protocol ip pref 3 u32 fh 2:1:800 order 2048 key ht 2
bkt 1 flowid 1:11
  match c0a80001/ffffffff at 16
-------------------------------------------------------------------
filter parent 1: protocol ip pref 3 u32 fh 2:f:800 order 2048 key ht 2
bkt f flowid 1:1f
  match c0a8000f/ffffffff at 16
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 2:
  match c0a80000/fffffff0 at 16
    hash mask 0000000f at 16
filter parent 1: protocol ip pref 5 u32
filter parent 1: protocol ip pref 5 u32 fh 3: ht divisor 1
filter parent 1: protocol ip pref 5 u32 fh 3::800 order 2048 key ht 3
bkt 0 flowid 1:20
  match c0a80001/ffffffff at 12
  match 00500000/ffff0000 at 20
  match 00000000/00ff0000 at 0
filter parent 1: protocol ip pref 5 u32 fh 801: ht divisor 1
filter parent 1: protocol ip pref 5 u32 fh 2: ht divisor 16
filter parent 1: protocol ip pref 5 u32 fh 2::800 order 2048 key ht 2
bkt 0 flowid 1:10
  match c0a80000/ffffffff at 16
filter parent 1: protocol ip pref 5 u32 fh 2:1:800 order 2048 key ht 2
bkt 1 flowid 1:11
------------------------------------------------------------------
filter parent 1: protocol ip pref 5 u32 fh 2:f:800 order 2048 key ht 2
bkt f flowid 1:1f
  match c0a8000f/ffffffff at 16
filter parent 1: protocol ip pref 5 u32 fh 800: ht divisor 1
filter parent 1: protocol ip pref 5 u32 fh 800::800 order 2048 key ht
800 bkt 0 link 2:
  match c0a80000/fffffff0 at 16
    hash mask 0000000f at 16


Wszystkei regółki występują dwa razy jedne dla pref 3 drugie dla pref 5.
Mam PLD Ra
kernel-2.4.20-13
iproute2-2.4.7.ss020116-13 w 2.4.20_13

tak samo na Ac
kernel-2.4.20-10
iproute2-2.4.7.ss020116-16.

Nie sprawdzałęm na innych dystrybucjach daltego nie wiem czy to ja coś
źle robię czy to błąd w oprogramowaniu. Jeśli to mój błąd to może macie
jakieś namiary gdzie mógłbym o tym poczytać.

Pozdrawiam
Krzysztof Mościcki



Więcej informacji o liście dyskusyjnej pld-users-pl