fix(install): apt install librte-net-ena25 + librte-net-mlx5-25 with DPDK#84
Merged
skullcrushercmd merged 1 commit intomainfrom Apr 28, 2026
Merged
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Debian DPDK 24.11.x ships every Poll-Mode Driver as its own package (
librte-net-<vendor><abi>) instead of bundling them intolibdpdk-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()untillibrte-net-ena25was apt-installed manually. Reported in PR #65 issuecomment-4339242358.Fix
install_dpdk_build_depsnow 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. The25ABI suffix matches Debian trixie's DPDK 24.11.x. Stock Intel ixgbe/i40e drivers are still inlibdpdk-dev's auto-pull set so we don't need to name them.Falls back to
libdpdk-devalone 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 checkrte_eth_dev_count_avail()if it returns 0 later.Test plan
bash tools/test-install-external-deps-dpdk.sh— 14/14 passbash 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)ANYSCAN_INSTALL_DPDK_DEPS=true(default) + stubsidandapt-get, asserts apt-get is invoked withlibdpdk-dev,librte-net-ena25, andlibrte-net-mlx5-25in argv.🤖 Generated with Claude Code