Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 проблема с tc   Slav Matveev   30 Nov 2006 12:24:12 
 проблема с tc   Alexey Vissarionov   30 Nov 2006 15:42:26 
 проблема с tc   Slav Matveev   30 Nov 2006 17:50:00 
Архивное /ru.linux/4625456ec8b1.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional