Skip to content

fix(install): apt install librte-net-ena25 + librte-net-mlx5-25 with DPDK#84

Merged
skullcrushercmd merged 1 commit intomainfrom
fix/install-deps-dpdk-ena-pmd
Apr 28, 2026
Merged

fix(install): apt install librte-net-ena25 + librte-net-mlx5-25 with DPDK#84
skullcrushercmd merged 1 commit intomainfrom
fix/install-deps-dpdk-ena-pmd

Conversation

@skullcrushercmd
Copy link
Copy Markdown
Contributor

Summary

Debian DPDK 24.11.x ships every Poll-Mode Driver as its own package (librte-net-<vendor><abi>) instead of bundling them into libdpdk-dev. Without the relevant PMD installed, rte_eal_init() succeeds but no eth ports are probed and the scanner refuses to start.

anygpt-52 hit this on c6in.metal: ENA NICs were silently absent from rte_eth_dev_count_avail() until librte-net-ena25 was apt-installed manually. Reported in PR #65 issuecomment-4339242358.

Fix

install_dpdk_build_deps now pulls:

  • librte-net-ena25 — AWS ENA PMD (every c6in/c5n/m5n/m6in instance)
  • librte-net-mlx5-25 — Mellanox ConnectX-5/6 PMD (non-AWS bare-metal hosts at Equinix/OVH/Hetzner)

alongside libdpdk-dev. The 25 ABI suffix matches Debian trixie's DPDK 24.11.x. Stock Intel ixgbe/i40e drivers are still in libdpdk-dev's auto-pull set so we don't need to name them.

Falls back to libdpdk-dev alone if PMDs are unavailable in the archive — better to ship a partial DPDK build than fail the install. A runtime warning makes the missing PMDs explicit so operators know to check rte_eth_dev_count_avail() if it returns 0 later.

Test plan

  • bash tools/test-install-external-deps-dpdk.sh — 14/14 pass
  • bash tools/test-install-external-deps-afxdp.sh — 10/10 pass (regression check)
  • bash tools/test-install-external-deps-pfring-zc.sh — 10/10 pass (regression check)
  • New Case 5: runs install script with ANYSCAN_INSTALL_DPDK_DEPS=true (default) + stubs id and apt-get, asserts apt-get is invoked with libdpdk-dev, librte-net-ena25, and librte-net-mlx5-25 in argv.

🤖 Generated with Claude Code

…DPDK

Debian DPDK 24.11.x ships every Poll-Mode Driver as its own package
(librte-net-<vendor><abi>) instead of bundling them into libdpdk-dev.
Without the relevant PMD installed, rte_eal_init() succeeds but no
eth ports are probed and the scanner refuses to start.

anygpt-52 hit this on c6in.metal: ENA NICs were silently absent from
rte_eth_dev_count_avail() until librte-net-ena25 was apt-installed
manually. Reported in PR #65 issuecomment-4339242358.

Fix: install_dpdk_build_deps now pulls librte-net-ena25 (AWS ENA PMD —
every c6in/c5n/m5n/m6in instance) AND librte-net-mlx5-25 (Mellanox
ConnectX-5/6 PMD for non-AWS bare-metal hosts at Equinix/OVH/Hetzner)
alongside libdpdk-dev. The 25 ABI suffix matches Debian trixie's DPDK
24.11.x. Stock Intel ixgbe/i40e drivers are still in libdpdk-dev's
auto-pull set so we don't need to name them.

Falls back to libdpdk-dev alone if PMDs are unavailable in the
archive — better to ship a partial DPDK build than fail the install.
The runtime warning makes it explicit so operators know to check
rte_eth_dev_count_avail() if it returns 0 later.

Test: new Case 5 in test-install-external-deps-dpdk.sh runs the
install script with ANYSCAN_INSTALL_DPDK_DEPS=true (default) + stubs
id and apt-get on PATH, then asserts apt-get install was called with
libdpdk-dev, librte-net-ena25, and librte-net-mlx5-25.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@skullcrushercmd skullcrushercmd merged commit 285b81a into main Apr 28, 2026
@skullcrushercmd skullcrushercmd deleted the fix/install-deps-dpdk-ena-pmd branch April 28, 2026 22:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant