sardaukar Опубликовано 3 сентября, 2008 · Жалоба Здравствуйте! Дано: Интерфейсу 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? Т.е. как работает просмотр фильтров? В документации написано, что согласно порядку добавления и приоритету, но не сказано - прекращается ли просмотр фильтров при совпадении. Заранее благодарен всем ответившим! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 3 сентября, 2008 · Жалоба 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 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sardaukar Опубликовано 3 сентября, 2008 · Жалоба 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, какое правило сработает в итоге? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 3 сентября, 2008 · Жалоба Ну вообще - first match, но проверять нужно по tc -s -d filter show dev eth1 сначала обрабатываются фильтры с меньшим prio Если prio одинаковый - хз, наверное first match. Пакеты в 1:2, возможно "не-ip (arp?)", т.к. у вас фильтр не на protocol all, а на protocol ip Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sardaukar Опубликовано 3 сентября, 2008 · Жалоба Опытным путем выяснил, что работает по принципу first match. Всем большое спасибо. Ну вообще - first match, но проверять нужно по tc -s -d filter show dev eth1сначала обрабатываются фильтры с меньшим prio Если prio одинаковый - хз, наверное first match. Огромный пасиб! Разобрался.Пакеты в 1:2, возможно "не-ip (arp?)", т.к. у вас фильтр не на protocol all, а на protocol ipВсе пакеты - ip. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nuclearcat Опубликовано 3 сентября, 2008 · Жалоба Всегда приятно помочь человеку грамотно задающему вопросы, ищущему ответы самостоятельно и схватывающему на лету. :-) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...