Исправление «OUCH! pipe should have been idle!» FreeBSD 8.0-RELEASE


В реализации 8.0 есть недокументированная фича. Pipe работает до тех пор, пока внутри него одна очередь, если их больше и трафик начинает превышать bw, то шейпер перестает работать и в логи сыпятся сообщения:

dummynet: OUCH! pipe should have been idle!

В дереве исходных кодов FreeBSD на текущий момент нет решения этой проблемы (якобы починили в STABLE, но у меня не заработало), однако, Oleg Bulyzhin в рассылке freebsd-current предоставил патч. Его то мы и поставим:

cd /root
wget http://lists.freebsd.org/pipermail/freebsd-current/attachments/20091201/\
e05469c6/wf2q-fix.r80.bin
cd /usr/src/sys/netinet//
 < /root/wf2q-fix.r80.bin
cd /usr/src
make buildkernel
make installkernel
shutdown -r now