Netmap packet drops

Started by kozistan, October 14, 2025, 05:20:43 AM

Previous topic - Next topic
October 14, 2025, 05:20:43 AM Last Edit: October 14, 2025, 08:29:06 AM by kozistan
Hi, I have a problem with packet drops.

When monitoring packets on ixl0 (with 17 VLANs) and 9 WireGuard interfaces, I see dev.netmap.iflib_rx_miss counter growing continuously.
During high traffic by thousands per minute.

My config: OPNsense 25.7.5-amd64, LAN - Intel X710 ixl0 parent interface, Zenarmor 2.1 routed mode with native netmap driver.

Packet drops dev.netmap.iflib_rx_miss with standard tunables:
dev.netmap.buf_num="1000000"
dev.netmap.buf_size="2048"
dev.netmap.ring_size="36864"
dev.ixl.0.iflib.override_nrxds="1024"

I tried to increase descriptor rings from 1024 to 2048 because the default 1024 was insufficient for the combination of high-throughput traffic, netmap, and VLANs. Larger rings provide more space for packet buffering at the NIC level, resulting in fewer drops.
dev.ixl.0.iflib.override_nrxds="2048"
dev.ixl.0.iflib.override_ntxds="2048"

When changing dev.netmap.buf_num or dev.netmap.buf_size, Zenarmor crashes on WireGuard interfaces with loop:

generic_netmap_attach: Emulated adapter for wg* created
generic_netmap_dtor: Emulated netmap adapter for wg* destroyed

Tested (all failed):
8M buffers + buf_size 4096
8M buffers + buf_size 2048
4M buffers + buf_size 2048
6M buffers + buf_size 4096


How to achieve connectivity without packet loss? Without Zenarmor everything works without drops.

Hi,

The buff_num 1M is the biggest value. Can you share "dmesg | grep netmap" output?

Hi, no logs for netmap there

root@fw:~# dmesg | grep netmap
root@fw:~#

but this is droped for today:
Tue Oct 14 16:52:48 CEST 2025
dev.netmap.iflib_rx_miss: 3785014

i've reset tunables, added this parameters again

dev.ixl.0.iflib.override_nrxds="2048"
dev.ixl.0.iflib.override_ntxds="2048"
dev.netmap.buf_num="1000000"
dev.netmap.buf_size="2048"
dev.netmap.ring_size="36864"
net.inet.udp.recvspace="1048576"
net.isr.bindthreads="1"
net.isr.maxthreads="-1"


restarted and dmesg | grep netmap:
root@fw:~# dmesg | grep netmap
[185] 128.687783 [1167] generic_netmap_attach     Emulated adapter for wg14 created (prev was NULL)
[185] 128.697565 [1072] generic_netmap_dtor       Emulated netmap adapter for wg14 destroyed
[185] 128.706772 [1167] generic_netmap_attach     Emulated adapter for wg14 created (prev was NULL)
[186] 129.103669 [ 319] generic_netmap_register   Emulated adapter for wg14 activated
[186] 129.112182 [1167] generic_netmap_attach     Emulated adapter for wg9 created (prev was NULL)
[186] 129.121897 [1072] generic_netmap_dtor       Emulated netmap adapter for wg9 destroyed
[186] 129.131131 [1167] generic_netmap_attach     Emulated adapter for wg9 created (prev was NULL)
[186] 129.141014 [ 319] generic_netmap_register   Emulated adapter for wg9 activated
[186] 129.149399 [1167] generic_netmap_attach     Emulated adapter for wg8 created (prev was NULL)
[186] 129.159155 [1072] generic_netmap_dtor       Emulated netmap adapter for wg8 destroyed
[186] 129.168284 [1167] generic_netmap_attach     Emulated adapter for wg13 created (prev was NULL)
[186] 129.178153 [1072] generic_netmap_dtor       Emulated netmap adapter for wg13 destroyed
[186] 129.187368 [1167] generic_netmap_attach     Emulated adapter for wg12 created (prev was NULL)
[186] 129.197244 [1072] generic_netmap_dtor       Emulated netmap adapter for wg12 destroyed
[186] 129.206428 [1167] generic_netmap_attach     Emulated adapter for wg8 created (prev was NULL)
[186] 129.216404 [ 319] generic_netmap_register   Emulated adapter for wg8 activated
[186] 129.224960 [1167] generic_netmap_attach     Emulated adapter for wg12 created (prev was NULL)
[186] 129.234886 [ 319] generic_netmap_register   Emulated adapter for wg12 activated
[186] 129.243443 [1167] generic_netmap_attach     Emulated adapter for wg11 created (prev was NULL)
[186] 129.253293 [1072] generic_netmap_dtor       Emulated netmap adapter for wg11 destroyed
[186] 129.262541 [1167] generic_netmap_attach     Emulated adapter for wg11 created (prev was NULL)
[186] 129.272495 [ 319] generic_netmap_register   Emulated adapter for wg11 activated
[186] 129.281215 [1167] generic_netmap_attach     Emulated adapter for wg6 created (prev was NULL)
[186] 129.290986 [1072] generic_netmap_dtor       Emulated netmap adapter for wg6 destroyed
[186] 129.300135 [1167] generic_netmap_attach     Emulated adapter for wg13 created (prev was NULL)
[186] 129.310134 [ 319] generic_netmap_register   Emulated adapter for wg13 activated
[186] 129.318779 [1167] generic_netmap_attach     Emulated adapter for wg6 created (prev was NULL)
[186] 129.328614 [ 319] generic_netmap_register   Emulated adapter for wg6 activated
[186] 129.399411 [1167] generic_netmap_attach     Emulated adapter for wg45 created (prev was NULL)
[186] 129.409257 [1072] generic_netmap_dtor       Emulated netmap adapter for wg45 destroyed
[186] 129.418496 [1167] generic_netmap_attach     Emulated adapter for wg45 created (prev was NULL)
[186] 129.428411 [ 319] generic_netmap_register   Emulated adapter for wg45 activated
[186] 129.444317 [ 853] iflib_netmap_config       txr 10 rxr 10 txd 2048 rxd 2048 rbufsz 2048
[186] 129.453743 [ 853] iflib_netmap_config       txr 10 rxr 10 txd 2048 rxd 2048 rbufsz 2048
[187] 130.140235 [1167] generic_netmap_attach     Emulated adapter for wg10 created (prev was NULL)
[187] 130.150116 [1072] generic_netmap_dtor       Emulated netmap adapter for wg10 destroyed
[187] 130.159302 [1167] generic_netmap_attach     Emulated adapter for wg10 created (prev was NULL)
[187] 130.169252 [ 319] generic_netmap_register   Emulated adapter for wg10 activated
[1498] 441.673311 [ 294] generic_netmap_unregister Emulated adapter for wg10 deactivated
[1498] 441.681937 [1072] generic_netmap_dtor       Emulated netmap adapter for wg10 destroyed
[1499] 442.028443 [ 294] generic_netmap_unregister Emulated adapter for wg8 deactivated
[1499] 442.036933 [1072] generic_netmap_dtor       Emulated netmap adapter for wg8 destroyed
[1499] 442.061069 [ 294] generic_netmap_unregister Emulated adapter for wg45 deactivated
[1499] 442.069637 [1072] generic_netmap_dtor       Emulated netmap adapter for wg45 destroyed
[1499] 442.377310 [ 294] generic_netmap_unregister Emulated adapter for wg14 deactivated
[1499] 442.385889 [1072] generic_netmap_dtor       Emulated netmap adapter for wg14 destroyed
[1500] 443.082925 [ 294] generic_netmap_unregister Emulated adapter for wg12 deactivated
[1500] 443.091513 [1072] generic_netmap_dtor       Emulated netmap adapter for wg12 destroyed
[1500] 443.100591 [ 294] generic_netmap_unregister Emulated adapter for wg6 deactivated
[1500] 443.109125 [1072] generic_netmap_dtor       Emulated netmap adapter for wg6 destroyed
[1500] 443.118134 [ 294] generic_netmap_unregister Emulated adapter for wg11 deactivated
[1500] 443.126723 [1072] generic_netmap_dtor       Emulated netmap adapter for wg11 destroyed
[1500] 443.135819 [ 294] generic_netmap_unregister Emulated adapter for wg13 deactivated
[1500] 443.160902 [1072] generic_netmap_dtor       Emulated netmap adapter for wg13 destroyed
[1500] 443.390434 [ 294] generic_netmap_unregister Emulated adapter for wg9 deactivated
[1500] 443.399937 [1072] generic_netmap_dtor       Emulated netmap adapter for wg9 destroyed
[1] ixl0: netmap queues/slots: TX 10/2048, RX 10/2048
[1] ixl1: netmap queues/slots: TX 10/1024, RX 10/1024
[1] igc0: netmap queues/slots: TX 4/1024, RX 4/1024
[1] igc1: netmap queues/slots: TX 4/1024, RX 4/1024
[1] igc2: netmap queues/slots: TX 4/1024, RX 4/1024
[1] igc3: netmap queues/slots: TX 4/1024, RX 4/1024
[183] 668.572322 [1167] generic_netmap_attach     Emulated adapter for wg45 created (prev was NULL)
[183] 668.582140 [1072] generic_netmap_dtor       Emulated netmap adapter for wg45 destroyed
[183] 668.591307 [1167] generic_netmap_attach     Emulated adapter for wg45 created (prev was NULL)
[183] 668.949825 [ 319] generic_netmap_register   Emulated adapter for wg45 activated
[183] 668.958303 [1167] generic_netmap_attach     Emulated adapter for wg11 created (prev was NULL)
[183] 668.968080 [1072] generic_netmap_dtor       Emulated netmap adapter for wg11 destroyed
[183] 668.977060 [1167] generic_netmap_attach     Emulated adapter for wg13 created (prev was NULL)
[183] 668.986882 [1072] generic_netmap_dtor       Emulated netmap adapter for wg13 destroyed
[183] 668.996007 [1167] generic_netmap_attach     Emulated adapter for wg11 created (prev was NULL)
[183] 669.005923 [ 319] generic_netmap_register   Emulated adapter for wg11 activated
[183] 669.014513 [1167] generic_netmap_attach     Emulated adapter for wg13 created (prev was NULL)
[183] 669.024382 [ 319] generic_netmap_register   Emulated adapter for wg13 activated
[183] 669.032902 [1167] generic_netmap_attach     Emulated adapter for wg10 created (prev was NULL)
[183] 669.042670 [1072] generic_netmap_dtor       Emulated netmap adapter for wg10 destroyed
[183] 669.051825 [1167] generic_netmap_attach     Emulated adapter for wg12 created (prev was NULL)
[183] 669.061693 [1072] generic_netmap_dtor       Emulated netmap adapter for wg12 destroyed
[183] 669.070941 [1167] generic_netmap_attach     Emulated adapter for wg8 created (prev was NULL)
[183] 669.080716 [1072] generic_netmap_dtor       Emulated netmap adapter for wg8 destroyed
[183] 669.089838 [1167] generic_netmap_attach     Emulated adapter for wg10 created (prev was NULL)
[184] 669.099781 [ 319] generic_netmap_register   Emulated adapter for wg10 activated
[184] 669.108199 [1167] generic_netmap_attach     Emulated adapter for wg12 created (prev was NULL)
[184] 669.118072 [ 319] generic_netmap_register   Emulated adapter for wg12 activated
[184] 669.126637 [1167] generic_netmap_attach     Emulated adapter for wg6 created (prev was NULL)
[184] 669.136389 [1072] generic_netmap_dtor       Emulated netmap adapter for wg6 destroyed
[184] 669.145583 [1167] generic_netmap_attach     Emulated adapter for wg6 created (prev was NULL)
[184] 669.155323 [ 319] generic_netmap_register   Emulated adapter for wg6 activated
[184] 669.163798 [1167] generic_netmap_attach     Emulated adapter for wg9 created (prev was NULL)
[184] 669.173593 [1072] generic_netmap_dtor       Emulated netmap adapter for wg9 destroyed
[184] 669.182650 [ 853] iflib_netmap_config       txr 10 rxr 10 txd 2048 rxd 2048 rbufsz 2048
[184] 669.192101 [ 853] iflib_netmap_config       txr 10 rxr 10 txd 2048 rxd 2048 rbufsz 2048
[184] 669.433269 [1167] generic_netmap_attach     Emulated adapter for wg8 created (prev was NULL)
[184] 669.443140 [ 319] generic_netmap_register   Emulated adapter for wg8 activated
[184] 669.451515 [1167] generic_netmap_attach     Emulated adapter for wg9 created (prev was NULL)
[184] 669.461401 [ 319] generic_netmap_register   Emulated adapter for wg9 activated
[184] 669.922342 [1167] generic_netmap_attach     Emulated adapter for wg14 created (prev was NULL)
[184] 669.932180 [1072] generic_netmap_dtor       Emulated netmap adapter for wg14 destroyed
[184] 669.941462 [1167] generic_netmap_attach     Emulated adapter for wg14 created (prev was NULL)
[184] 669.951366 [ 319] generic_netmap_register   Emulated adapter for wg14 activated

packets are droping:
dev.netmap.iflib_rx_miss: 6608

Hi,

We have followed it up with a support ticket and changing the deployment mode from native netmap driver to emulated mode has solved the issue.