From: Sergey Matveev Date: Wed, 22 Nov 2023 17:40:02 +0000 (+0300) Subject: Бага в FreeBSD с IPv6 NDP не отвечающим на NS X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=5958e69e23f2519c6716ff689aa39a9b8c480837;p=stargrave-blog.git Бага в FreeBSD с IPv6 NDP не отвечающим на NS https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233683 http://www.git.stargrave.org/?p=ndproxy.git;a=summary В f1dc900ba79ee0d1f87977c16bfbf61c574bbcdf занимался запуском ndproxy и пробрасыванием /48 сети. Закончилось всё тем, что ndproxy работает как мне надо после изменений, но спустя какое-то время он перестаёт отвечать на часть NDP neighbor solicitation запросов. printf-ы в dmesg-е показали что пакет до ndproxy вообще не доходит. Ядро слепо к NS-ам становится. Нашёл вот такой баг в самой FreeBSD, а также кучу связанных ссылок в нём на очень похожие симптомы как и у меня. Пересобрал ядро с предложенным патчем, сделанным летом этого года. Но... всё равно не помогло. Однако решил посмотреть: а какие именно изменения в API pfil произошли и нельзя ли ndproxy поменять под них? Оказалось что всего-то надо было: - pha.pa_func = packet; + pha.pa_mbuf_chk = packet; + pha.pa_mem_chk = NULL; И действительно оно под FreeBSD 14 прекрасно работает. Отправил патч автору. ---