FreeBSD 9.2 с igb(2.3.10) железом I350 и 82576 на двух разных BRAS с функциями netflow/shaping/nat при трафике близкой к скорости порта ~100Mbit и 10-20kpps может внезапно превратится в тыкву. LA резко растет, в top -SP процесс прерываний(intr) постепенно откусывает все ядра, но кол-во прерываний/сек вместо роста тоже уменьшается в ноль и кантупер перестает реагировать на любые раздражители, выглядит как зависание. Как только отрываешь сосок аплинка в инторнеты ~10-20сек железка приходит в себя и работает штатно, возвращаешь сосок обратно ~20-30 сек рост LA и тыква снова. Крутил вертел всякие sysctl которые рекомендуются для igb но неделю или месяц BRAS может стоять как скала и вдруг в пятницу 17:00 опять упасть кверху лапами. Два разных BRAS-а одинаково, но не одновременно. Разное железо.
Пару раз решалось десятком перезагрузок, с жанглированием параметров sysctl. Вот, думалось, нашлась магическая комбинация, но через неделю\месяц опять тыква. Последний раз на BRAS 82576 аплинк выткнул из igb и внедрил через набортный re, но это не серьезно.
Думаю в следующий аврал попробовать потыкать net.isr.dispatch в hybrid.
Посмотрел на форуме, что то у кого примерно такие же проблемы то ли не решили проблему то ли решили но не написали.
/boot/loader.conf
hw.igb.rxd=4096
hw.igb.txd=4096
hw.igb.max_interrupt_rate=32000
net.link.ifqmaxlen=10240
net.isr.defaultqlimit=4096
net.graph.maxdata=4096
net.graph.maxalloc=8192
/etc/sysctl.conf
net.inet.udp.blackhole=1
dev.igb.0.rx_processing_limit=4096
dev.igb.1.rx_processing_limit=4096
dev.igb.2.rx_processing_limit=4096
dev.igb.3.rx_processing_limit=4096
net.inet.udp.blackhole=1
kern.maxfiles=204800
kern.ipc.maxsockets=262144
net.route.netisr_maxqlen=4096
kern.ipc.nmbclusters=400000
kern.ipc.maxsockbuf=83886080
net.inet.udp.recvspace=65535
Ядро GENEREC с вкомпиленым IPFIREWALL и IPFIREWALL_DEFAULT_TO_ACCEPT