From 5958e69e23f2519c6716ff689aa39a9b8c480837 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Wed, 22 Nov 2023 20:40:02 +0300 Subject: [PATCH] =?utf8?q?=D0=91=D0=B0=D0=B3=D0=B0=20=D0=B2=20FreeBSD=20?= =?utf8?q?=D1=81=20IPv6=20NDP=20=D0=BD=D0=B5=20=D0=BE=D1=82=D0=B2=D0=B5?= =?utf8?q?=D1=87=D0=B0=D1=8E=D1=89=D0=B8=D0=BC=20=D0=BD=D0=B0=20NS?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 прекрасно работает. Отправил патч автору. -- 2.48.1