Accurate as of QuantumBNG 1.2.0. Sourced from the 1.2.0 release notes, the NIC compatibility reference, and the installer and DDP code in the product repositories. If you are running a later build, confirm against its release notes before relying on this.

Drivers and DDP: what is automatic

Intel ICE DDP packages are managed for you. QuantumTouch carries a DDP auto-manager that is chip-series and workload aware: it keeps both DDP variants on the box under /opt/quantumtouch/ddp, identifies each package by its header rather than its filename, and applies the right one for the card and workload. The two variants are the ICE OS Default package and the ICE COMMS package.

It also looks in the standard locations a package may already exist in:

  • /lib/firmware/intel/ice/ddp
  • /lib/firmware/updates/intel/ice/ddp
  • /usr/local/share/dpdk
  • /opt/trex/current

Kernel drivers are whatever your OS already provides. The installer reads the module your system associates with each card (lspci -k), loads it, and binds or rebinds ports between that driver and vfio-pci so VPP can take them over. For the Intel families below that means the in-tree i40e, ice, ixgbe and igb drivers in Ubuntu 24.04 / kernel 6.8 — nothing to install.

What is not bundled: MLNX_OFED and Nvidia firmware. ConnectX cards need both, installed by you before the wizard can see the ports. See Getting NVIDIA ConnectX NICs working.

If your deployment was installed from the Aegis installer, both DDP variants are staged onto the box at install time. Other installer builds may rely on the packages already being present in the paths above — if GET /api/bng/drivers reports an empty ddp_version on an E810 or E830, that is the thing to check first, and support can confirm which applies to your build.

Tier 1 — tested, known-good

Driven end-to-end through the wizard’s DPDK Bind step, brought to line rate, and exercised under CPE and traffic-generator load.

Family Speed Kernel driver DPDK PMD Notes
X710 10 GbE i40e net_i40e Widely deployed, mature
XL710 40 GbE (4×10G or 1×40G) i40e net_i40e Primary development target; 40G confirmed at line rate
XXV710 25 GbE i40e net_i40e Same driver family as XL710
E810-C QSFP 100 GbE ice net_ice Uses a DDP package — see above
E810-C SFP 25/100 GbE ice net_ice Uses a DDP package — see above
E830 QSFP 200 GbE ice net_ice Requires OEM-signed NVM 1.20+ (Lanner); DDP rev3 verified

Tier 2 — should work, not yet validated by us

Same driver families as Tier 1, or a supported DPDK PMD, but we have not personally taken them end to end. If you run one, tell us how it went at alpha@bluedot-insight.com — that is how cards move to Tier 1.

Family Speed Kernel driver Notes
82599 (X520 / X540 / X550) 10 GbE ixgbe Mature DPDK driver; an earlier generation than X710

Not currently supported

Card Why
E825-C (NVM 3.81) The DDP package required for E825-C features fails signature verification on every public build we have tried. Needs an OEM-signed DDP or an NVM update. The card still works in Safe Mode — kernel ice driver, no DPDK.
1 GbE NICs (I350, DH8900CC and similar) Management-plane use only; not a data-plane target.

Checking what your box actually has

GET /api/bng/drivers enumerates every Ethernet-class PCI device on the chassis, grouped by bound kernel driver, and reports firmware, DDP and addressing state. Two details matter when reading it:

  • DDP and serial numbers are only populated for the Intel ice, i40e and iavf drivers — they are the ones that expose those fields through devlink. Every other driver reports empty strings; that is not a fault.
  • A NIC bound to a userspace driver (vfio-pci, uio_pci_generic, igb_uio) can no longer have its firmware read by kernel tools. The binding_note field says so explicitly, and the MAC and link state are backfilled from VPP’s own port inventory.

If a card does not appear

Open a support ticket and attach:

sudo lspci -nnk -s <pci>
sudo dpdk-devbind.py --status
sudo journalctl -u vpp -n 200