LINUX.ORG.RU

История изменений

Исправление Jameson, (текущая версия) :

В 5.18 действительно удалили функцию netif_rx_ni и модули бокса пока официально под это не адаптировали. Есть патч, с ним соберётся, но будет часто падать и ронять виртуалки, потому что в 5.18 ещё какие то важные изменения произошли и нужно ждать «нормальной» адаптации модуля. А пока лучше всё таки откатиться с ветки 5.18 и подождать пока Virtualbox вместе с модулями официально под неё не обновится.

netif_rx_ni is removed in linux kernel 5.18.0

--- a/vboxnetflt/linux/VBoxNetFlt-linux.c
+++ b/vboxnetflt/linux/VBoxNetFlt-linux.c
@@ -2310,8 +2310,13 @@
             {
                 vboxNetFltDumpPacket(pSG, true, "host", (fDst & INTNETTRUNKDIR_WIRE) ? 0 : 1);
                 Log6(("vboxNetFltPortOsXmit: pBuf->cb dump:\n%.*Rhxd\n", sizeof(pBuf->cb), pBuf->cb));
+#if RTLNX_VER_MIN(5,18,0)
+                Log6(("vboxNetFltPortOsXmit: netif_rx(%p)\n", pBuf));
+                err = netif_rx(pBuf);
+#else
                 Log6(("vboxNetFltPortOsXmit: netif_rx_ni(%p)\n", pBuf));
                 err = netif_rx_ni(pBuf);
+#endif
                 if (err)
                     rc = RTErrConvertFromErrno(err);
             }

Исправление Jameson, :

В 5.18 действительно удалили функцию netif_rx_ni и модули бокса пока официально под это не адаптировали. Есть патч, с ним соберётся, но будет часто падать и ронять виртуалки, потому что в 5.18 ещё какие то важные изменения произошли и нужно ждать «нормальной» адаптации модуля. А пока лучше всё таки откатиться с ветки 5.18 пока Virtualbox вместе с модулями не обновится.

netif_rx_ni is removed in linux kernel 5.18.0

--- a/vboxnetflt/linux/VBoxNetFlt-linux.c
+++ b/vboxnetflt/linux/VBoxNetFlt-linux.c
@@ -2310,8 +2310,13 @@
             {
                 vboxNetFltDumpPacket(pSG, true, "host", (fDst & INTNETTRUNKDIR_WIRE) ? 0 : 1);
                 Log6(("vboxNetFltPortOsXmit: pBuf->cb dump:\n%.*Rhxd\n", sizeof(pBuf->cb), pBuf->cb));
+#if RTLNX_VER_MIN(5,18,0)
+                Log6(("vboxNetFltPortOsXmit: netif_rx(%p)\n", pBuf));
+                err = netif_rx(pBuf);
+#else
                 Log6(("vboxNetFltPortOsXmit: netif_rx_ni(%p)\n", pBuf));
                 err = netif_rx_ni(pBuf);
+#endif
                 if (err)
                     rc = RTErrConvertFromErrno(err);
             }

Исходная версия Jameson, :

В 5.18 действительно изменили функцию netif_rx_ni, теперь она называется netif_rx, и модули бокса пока официально под это не адаптировали. Есть патч, с ним соберётся, но будет часто падать и ронять виртуалки, потому что в 5.18 ещё какие то важные изменения произошли и нужно ждать «нормальной» адаптации модуля. А пока лучше всё таки откатиться с ветки 5.18 пока Virtualbox вместе с модулями не обновится.

netif_rx_ni is removed in linux kernel 5.18.0

--- a/vboxnetflt/linux/VBoxNetFlt-linux.c
+++ b/vboxnetflt/linux/VBoxNetFlt-linux.c
@@ -2310,8 +2310,13 @@
             {
                 vboxNetFltDumpPacket(pSG, true, "host", (fDst & INTNETTRUNKDIR_WIRE) ? 0 : 1);
                 Log6(("vboxNetFltPortOsXmit: pBuf->cb dump:\n%.*Rhxd\n", sizeof(pBuf->cb), pBuf->cb));
+#if RTLNX_VER_MIN(5,18,0)
+                Log6(("vboxNetFltPortOsXmit: netif_rx(%p)\n", pBuf));
+                err = netif_rx(pBuf);
+#else
                 Log6(("vboxNetFltPortOsXmit: netif_rx_ni(%p)\n", pBuf));
                 err = netif_rx_ni(pBuf);
+#endif
                 if (err)
                     rc = RTErrConvertFromErrno(err);
             }