>>> asa ceva nu o sa vezi, adica sa ai 2 filtre care sa aiba AND logic
>>> intre ele (cum a zis si Catalinux dealtfel). Nu suporta tc.
>>> Se poate implementa totusi in htb-tools un warkaround, anume sa se
>>> poata pune filtre pe clasa parent
>>
>> N-am zis asa ceva.
>> Filtrele in aceeasi comanda au AND intre ele.
>
> Sigur ? Ma indoiesc, desi nu contest autoritatea ta in domeniu. Ai
> totusi un link in care sa se precizeze lucrul asta? Nu de alta dar din
> toate testele care le-am facut eu era clar ca relatia este OR indiferent
> daca aveam mai multe filtre sau un singur filtru cu mai multe conditii.
> Ce-i drept eu am facut testele cu un kernel 2.6.7 . Au mai evoluat
> lucurile ?
Sigur.
Asa stau lucrurile de la inceput.
#!/bin/sh
# test if tc is AND or OR brother
dev="eth99"
tc qdisc del dev $dev root
tc qdisc add dev $dev root handle 1: htb default 3
tc class add dev $dev root classid 1:1 \
htb rate 100kbps ceil 100kbps
tc class add dev $dev root classid 1:2 \
htb rate 100kbps ceil 100kbps
tc class add dev $dev root classid 1:3 \
htb rate 100kbps ceil 100kbps
tc filter add dev $dev \
protocol ip parent 1: prio 10 u32 \
match ip dst 1.2.3.0/24 \
match ip dport 80 0xff \
flowid 1:1
tc filter add dev $dev \
protocol ip parent 1: prio 10 u32 \
match ip dport 80 0xff \
flowid 1:2
# deci, ar trebui ca telnet www.yahoo.com 80 sa intre in clasa 1:2 pentru
# ca nu face match pe filtru1 (daca e or are trebui sa faca match la o
# parte din filtru)
# Teste: traficul a ajuns in 1:2
# Concluzie: intr-o singura linie, match-urile sint cu AND
---
Catalin(ux aka Dino) BOIE
catab at deuroconsult.ro
http://kernel.umbrella.ro/
---
Detalii despre listele noastre de mail: http://www.lug.ro/