swelf Posted May 19, 2015 · Report post Стоял себе у нас debian 7, все прекрасно работало, решили обновить до debian 8, обновили, вроде все ок, но через некоторое время обнаружили, что шейпер то не работает. /sbin/modprobe ifb numifbs=3 /sbin/ip link set up ifb0 mtu 9000 txqueuelen 10000 /sbin/tc qdisc del dev ifb0 root /sbin/tc qdisc add dev ifb0 root handle 1: htb /sbin/tc class add dev ifb0 parent 1: classid 1:1 htb rate 200000000kbit /sbin/tc class add dev ifb0 parent 1:1 classid 1:2 htb rate 1512000kbit prio 1 /sbin/tc class add dev ifb0 parent 1:1 classid 1:3 htb rate 153600kbit prio 7 /sbin/ip link set up ifb1 mtu 9000 txqueuelen 10000 /sbin/tc qdisc del dev ifb1 root /sbin/tc qdisc add dev ifb1 root handle 1: htb /sbin/tc class add dev ifb1 parent 1: classid 1:1 htb rate 200000000kbit /sbin/tc class add dev ifb1 parent 1:1 classid 1:2 htb rate 1512000kbit prio 1 /sbin/tc class add dev ifb1 parent 1:1 classid 1:3 htb rate 153600kbit prio 7 /sbin/tc filter add dev ifb0 parent 1:0 prio 5 protocol ip u32 /sbin/tc filter add dev ifb0 parent 1:0 prio 5 handle 10: protocol ip u32 divisor 256 собственно на последней строке выдает # /sbin/tc filter add dev ifb0 parent 1:0 prio 5 handle 10: protocol ip u32 divisor 256 RTNETLINK answers: Invalid argument We have an error talking to the kernel # uname -a Linux rd2 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt9-3~deb8u1 (2015-04-24) i686 GNU/Linux iproute2 пробовал собрать из исходников, результат тот же. Share this post Link to post Share on other sites
tokra Posted May 19, 2015 · Report post собственно на последней строке выдает # /sbin/tc filter add dev ifb0 parent 1:0 prio 5 handle 10: protocol ip u32 divisor 256 RTNETLINK answers: Invalid argument We have an error talking to the kernel # uname -a Linux rd2 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt9-3~deb8u1 (2015-04-24) i686 GNU/Linux iproute2 пробовал собрать из исходников, результат тот же. Поддержка в ядре есть? Share this post Link to post Share on other sites
swelf Posted May 19, 2015 · Report post Как в конфиге опция выглядит? ядро дистрибутивное. root@rd2:~# cat /boot/config-3.16.0-4-686-pae | grep -i hash CONFIG_NFT_HASH=m CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m CONFIG_IP_SET_HASH_IP=m CONFIG_IP_SET_HASH_IPMARK=m CONFIG_IP_SET_HASH_IPPORT=m CONFIG_IP_SET_HASH_IPPORTIP=m CONFIG_IP_SET_HASH_IPPORTNET=m CONFIG_IP_SET_HASH_NETPORTNET=m CONFIG_IP_SET_HASH_NET=m CONFIG_IP_SET_HASH_NETNET=m CONFIG_IP_SET_HASH_NETPORT=m CONFIG_IP_SET_HASH_NETIFACE=m CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_SECURITY_APPARMOR_HASH=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y # Hash modes CONFIG_CRYPTO_GHASH=m CONFIG_CRYPTO_USER_API_HASH=m root@rd2:~# cat /boot/config-3.16.0-4-686-pae | grep -i u32 CONFIG_NETFILTER_XT_MATCH_U32=m CONFIG_NET_CLS_U32=m CONFIG_CLS_U32_PERF=y CONFIG_CLS_U32_MARK=y CONFIG_NET_EMATCH_U32=m Share this post Link to post Share on other sites
swelf Posted May 19, 2015 · Report post погуглил, CONFIG_NET_CLS_U32 включена, модуль cls_u32 загружен. root@rd2:~# lsmod | grep u32 cls_u32 16856 0 Share this post Link to post Share on other sites
tokra Posted May 19, 2015 · Report post погуглил, CONFIG_NET_CLS_U32 включена, модуль cls_u32 загружен. root@rd2:~# lsmod | grep u32 cls_u32 16856 0 EMATCH_U32 ? Share this post Link to post Share on other sites
swelf Posted May 19, 2015 · Report post em_u32 я правильно понял? загрузил модуль, ничего не поменялось, в тоже время правила создаются у меня на ноуте(убунта 14.04) без этого модуля. Share this post Link to post Share on other sites
Megas Posted May 19, 2015 · Report post что за критическая надобность переходить на jessie? Share this post Link to post Share on other sites
pavel.odintsov Posted May 19, 2015 (edited) · Report post Например route cache в Wheeze. Выпил которого был успешно осуществлен в районе 3/14го ядра. В итоге апгрейд на Джесси дает 2-3х кратное падение нагрузки на роутер. Edited May 19, 2015 by pavel.odintsov Share this post Link to post Share on other sites
swelf Posted May 20, 2015 · Report post https://bugzilla.kernel.org/show_bug.cgi?id=84661 Похоже вот он баг, все работает, но не работает вывод правил. А я и не проверил то на практике, заббикс мне сказал что отсутсвуют tc rules в нужном кол-ве и я поверил ему, что они не добавились. А по факту оказалось, что все шейпится. Share this post Link to post Share on other sites
pavel.odintsov Posted May 20, 2015 · Report post Еще один повод не использовать 32 битные ядра :) Share this post Link to post Share on other sites