LINUX.ORG.RU
ФорумAdmin

помогите с tc filter


0

0

/sbin/tc filter add dev ppp0 parent 1:0 prio 2 protocol ip u32 \ match u16 0x0000 0xff80 at 2 flowid 1:2

Это правило выбирает пакеты < 128 байт. Подскажите, пожалуйста, как написать чтобы выбирало > 128?

anonymous

Имеется ввиду размер пакетов

anonymous
()

Примеров правил, реализующих это я не встречал. Чесно говоря, я даже не совсем понимаю, почему 'match u16 0x0000 0xff80' - это меньше 128, а не равно 128 :) Особо внятных пояснений как-то не встречал на этот счет.

Но подобное условие можно выполнить с помошью iptables, маркируя нужные пакеты или используя сразу -j CLASSIFY.

А ты пробовал считать большими за 128б все пакеты, которые не были обработаны твоим правилом?

fagot ★★★★★
()
Ответ на: комментарий от fagot

Эххх...Выяснил. Методом проб и ошибок, что 0x0000 это шаблон,а 0xff80 - маска, которая определяет проверяемые биты в заголовке пакета. И в итоге у меня получилось:

/sbin/tc filter add dev ppp0 parent 1:0 prio 2 protocol ip u32 match u16 0x0000 0x03e8 at 2 flowid 1:2

Но все равно спасибо за совет! CLASSIFY очень интересная штука. Если мне придеться писать более сложные правила -обязательно им воспользуюсь

anonymous
()
Ответ на: комментарий от anonymous

>Методом проб и ошибок, что 0x0000 это шаблон,а 0xff80 - маска

Это и в lartc написано.

>match u16 0x0000 0x03e8

А что это должно делать? Насколько я понимаю, это тоже самое, только пакеты размером до 1000 байт?

fagot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.