|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Slav Matveev 2:5020/968.222 30 Nov 2006 12:24:12 To : All Subject : проблема с tc --------------------------------------------------------------------------------
коллеги, есть ли тут специалисты по trafic control'ю ?
конструкция такая: в iptables ставится mark на определенный тип
трафика, потом в фильтре tc по этой метке трафик сортируется
в две полосы.
iptables -A PREROUTING -t mangle --jump QOS
iptables -t mangle -A QOS -p udp -s 4.1.7.1 -j MARK --set-mark 0x1000
iptables -t mangle -A QOS -p udp -s 4.1.7.1 -j RETURN
iptables -t mangle -A QOS -p udp -s 4.1.9.5 -j MARK --set-mark 0x1000
iptables -t mangle -A QOS -p udp -s 4.1.9.5 -j RETURN
iptables -t mangle -A QOS -j MARK --set-mark 0x8000
(надобы наоборот, сначала метить весь трафик 0x8000, потом
избраный 0х1000, но как сделано, так сделано. )
дальше примитивные правила для tc
tc qdisc add dev $INT root handle 1: htb
tc class add dev $INT parent 1: classid 1:1 htb rate 10mbit ceil 10mbit burst
12500
tc class add dev $INT parent 1:1 classid 1:10 htb rate 1mbit ceil 10mbit burst
12500
tc class add dev $INT parent 1:1 classid 1:11 htb rate 9mbit ceil 10mbit burst
12500
tc filter add dev $INT protocol ip parent 1:1 prio 1 handle 0x1000 fw classid
1:10
tc filter add dev $INT protocol ip parent 1:1 prio 2 handle 0x8000 fw classid
1:11
Вся эта конструкция прекрасно работала на ядре 2.6.16 с безродными
rtl8139, но отказывается работать на ядре 2.6.18.{2,3} c e1000
в качестве $INT
mark в прероутинге ставится и благополучно доходит до построутинга
Chain POSTROUTING (policy ACCEPT 213750537 packets, 130844471038 bytes)
pkts bytes target prot opt in out source destination
33134106 6618143564 all -- any any anywhere anywhere
MARK match 0x1000
123649935 86373079103 all -- any any anywhere anywhere
MARK match 0x8000
но tc -s class show dev $INT показывает нули в статистике.
и это соответствует действительности, т.е. деление
полосы не происходит, что хорошо заментно по голосовому трафику,
под который мегабит и выделяется.
В принципе я могу в фильтрах tc указать адреса, а не метки,
но хотелось бы понять причину, по которой метка теряется по пути
от iptables до tc.
Визуальное сравнение конфигураций ядра 16 и 18 ответа на поставленный
вопрос не дает. включены одинаковые опции. либо эта опция находится
где-то глубоко в недрах и далеко в стороне от networking, где
я сравнивал не так пристально.
Slav.
--- GEcho 1.20/Pro
* Origin: -= PC's come and go, but PDP-11 are FOREVER!!! =- (2:5020/968.222)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/4625456ec8b1.html, оценка из 5, голосов 10
|