Jump to content

Recommended Posts

Posted

Здравствуйте!

 

Дано:

Интерфейсу eth1 назначена дисциплина PRIO:

tc qdisc add dev eth1 root handle 1: prio

 

IP-трафик, в направлении 192.168.0.2 нужно поместить в подкласс 1:1

tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.0.2/32 flowid 1:1

Остальное в подкласс 1:3

tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 0/0 flowid 1:3

 

на каждую полосу я повесил sfq:

tc qdisc add dev eth1 parent 1:1 handle 10: sfq

tc qdisc add dev eth1 parent 1:2 handle 20: sfq

tc qdisc add dev eth1 parent 1:3 handle 30: sfq

 

Т.е. в подкласс 20: не должно попасть ничего, а "tc -s qdisc ls dev eth1" показывает, что счетчик там крутится, т.е как-будто пакеты распределяются в соответствии с priomap.

 

Подскажите, плз, как добиться желаемого не прибегая к маркировке пакетов средствами netfilter? Т.е. как работает просмотр фильтров? В документации написано, что согласно порядку добавления и приоритету, но не сказано - прекращается ли просмотр фильтров при совпадении.

 

Заранее благодарен всем ответившим!

Posted

prio не подходит для этого IMHO

лучше сделать через HTB/HSFC

 

приоритеты в фильтрах делать через prio

 

tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.0.2/32 flowid 1:1

tc filter add dev eth1 parent 1:0 protocol ip prio 2 u32 match ip dst 0/0 flowid 1:3

 

Posted
prio не подходит для этого IMHO

лучше сделать через HTB/HSFC

В данном примере я хотел только приоритетов без нарезания скорости.
приоритеты в фильтрах делать через prio

 

tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.0.2/32 flowid 1:1

tc filter add dev eth1 parent 1:0 protocol ip prio 2 u32 match ip dst 0/0 flowid 1:3

Про prio я понял из lartc и прочих howto, но, то ли там нет, то ли проглядел один момент - что происходит при срабатывании фильтра? Там first match или last match? Т.е. есть пакет с dst ip 192.168.0.2, какое правило сработает в итоге?
Posted

Ну вообще - first match, но проверять нужно по tc -s -d filter show dev eth1

сначала обрабатываются фильтры с меньшим prio

Если prio одинаковый - хз, наверное first match.

 

Пакеты в 1:2, возможно "не-ip (arp?)", т.к. у вас фильтр не на protocol all, а на protocol ip

Posted

Опытным путем выяснил, что работает по принципу first match.

Всем большое спасибо.

 

 

 

Ну вообще - first match, но проверять нужно по tc -s -d filter show dev eth1

сначала обрабатываются фильтры с меньшим prio

Если prio одинаковый - хз, наверное first match.

Огромный пасиб! Разобрался.
Пакеты в 1:2, возможно "не-ip (arp?)", т.к. у вас фильтр не на protocol all, а на protocol ip
Все пакеты - ip.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.