Hi everyone,
I’m struggling to get Zeek 8.0.6 to work with PF_RING on a high-traffic sensor. I’m experiencing 80% packet loss at 3.5 Gbps, which is corrupting our file extraction (SMTP/Email).
System Environment:
-
OS:
cat /etc/os-release→ Ubuntu 22.04.3 LTS (Jammy Jellyfish) -
Kernel:
uname -a→ Linux zeek 5.15.0-101-generic #111-Ubuntu SMP x86_64 -
Hardware: 16-core CPU / 64GB RAM.
-
Zeek Version: 8.0.6 (Compiled from source in
/opt/zeek).
PF_RING Installation Status: I have PF_RING 8.x installed in standard paths, but Zeek is not recognizing it.
-
Binaries:
/usr/local/bin/pfcount,/usr/local/sbin/pf_ringctl -
Libraries:
/usr/local/lib/libpfring.a,/usr/local/lib/libpcap.a(ntop version) -
Headers:
/usr/local/include/pfring.h -
**Interfaces listed by PF_RING:
**
pf_ringcfg --list-interfaces
Name: ens18 Driver: virtio_net RSS: 1 [Linux Driver]
Name: ens16f0 Driver: igb RSS: 8 [Supported by ZC]
Name: ens16f1 Driver: igb RSS: 8 [Supported by ZC]
Name: ens16f2 Driver: igb RSS: 8 [Supported by ZC]
Name: ens16f3 Driver: igb RSS: 8 [Supported by ZC]cat /proc/net/pf_ring/dev/ens16f0/info
Name: ens16f0
Index: 3
Address: xxxxxxxxxx
Polling Mode: NAPI
Promisc: Disabled
Type: Ethernet
Family: Standard NIC
bound sockets: 0TX Queues: 8
RX Queues: 8
my node:loggertype=logger
host=localhostmanagertype=manager
host=localhostproxy-1type=proxy
host=localhostworker-1type=worker
host=localhost
interface=ens16f0
lb_method=pf_ring
lb_procs=4
pin_cpus=0,1,2,3lb_param=10
worker-2type=worker
host=localhost
interface=ens16f1
lb_method=pf_ring
lb_procs=4
pin_cpus=4,5,6,7
lb_param=20worker-3type=worker
host=localhost
interface=ens16f2
lb_method=pf_ring
lb_procs=3
pin_cpus=8,9,10
lb_param=30worker-4type=worker
host=localhost
interface=ens16f3
lb_method=pf_ring
lb_procs=3
pin_cpus=11,12,13
lb_param=40capstats:
Interface kpps mbps (10s average)
localhost/ens16f0 182.5 909.7
localhost/ens16f1 173.5 918.0
localhost/ens16f2 129.8 718.5
localhost/ens16f3 170.7 779.3Total 656.5 3325.5
The Wall:
-
Plugin 404: The repository
https://github.com/ntop/zeek-plugin-pf_ringis returning a 404, and it’s no longer present in thePF_RING/userlandsource tree. -
zkg failure: Running
zkg install zeek-plugin-pf_ringreturns “package name not found in sources”. -
Core Build: Compiling Zeek with
--with-pcap=/usr/localfinishes successfully, butzeek -Ndoes not listZeek::PF_RING.
Questions for the community:
-
The “Best Practice” 2026 Question: For 3.5 Gbps on a modern Linux Kernel (5.15+), is PF_RING (non-ZC) still superior to AF_PACKET + Fanout? Or has AF_PACKET become the recommended non-paid path for these speeds?
-
The Plugin: If PF_RING is still the way to go, where is the official source code for the Zeek 8 plugin located now?
-
Kernel Bottleneck: Is there any known issue with the 5.15 kernel and Zeek’s file extraction that could be exacerbated by the current packet loss?
Any help to break this loop and get the sensor back to zero-drop would be greatly appreciated.
-