BNGSOFT runs on commodity x86 with no appliance and no vendor lock-in — which shifts the hardware decision onto you. This brief lists the cards and drivers, states which XDP mode each one actually gets, and gives you a calculator that sizes against your traffic rather than a vendor’s assumption.
The number that moves sizing most is not ours — it is your busy-hour megabits per subscriber. So it is an input, not a constant.
Size it against your own traffic
Active subscribers at busy hour
Take this from your own netflow, not from a datasheet
Residential mixed traffic typically lands near IMIX
N+1 adds one spare box to the count
—
Throughput needed
—
Packet rate needed
—
Boxes
—
Suggested build
—
What this calculator does and does not do. It computes throughput and packet rate from your
inputs, checks both against the 50 Mpps engine ceiling and against installed port capacity, and
tells you which of the two binds. It deliberately does not estimate CPU cores. Across our
own 68-gateway fleet, core consumption correlated with subscriber count at −0.16 and
with packet rate at −0.13 — that is, not at all. Any core figure derived from
that data would be invented precision. Core sizing comes out of a proof of concept on your
traffic, not out of a web form.
Network cards
These are the cards behind the reference builds. Prices are indicative and move constantly;
power figures are typical draw, not maximum.
Adapter
Ports
PCIe
Driver
XDP mode
Power
Reference build
Intel X710-DA2
2 × 10G
Gen3 ×8
i40e
native
3.3–4.5 W
Edge 1U
Intel XL710-QDA2
2 × 40G
Gen3 ×8
i40e
native
7–8 W
—
Intel E810-CQDA2
2 × 100G
Gen4 ×16
ice
native
15–21 W
Standard 1U · High-density 2U
NVIDIA ConnectX-6 Dx
2 × 100/200G
Gen4 ×16
mlx5
native
16–22 W
SmartNIC 2U
Drivers
XDP mode is what decides whether packets are processed at the driver ring or after the kernel has
already built an skb. It is the single largest performance factor in the whole hardware decision,
and it is a property of the driver, not of BNGSOFT.
Driver
Typical hardware
XDP mode
Notes
i40e
Intel X710 / XL710
native
Well-trodden path at 10G and 40G.
ice
Intel E800 series (E810)
native
The 100G workhorse. Both 100G reference builds use it.
mlx5
NVIDIA ConnectX-5 / 6 / 6 Dx
native
Adds hardware conntrack offload on 6 Dx.
ixgbe
Intel 82599 / X520 / X550
native
Older 10G silicon. Supported; no reference build.
bnxt_en
Broadcom NetXtreme-E
native
Supported; no reference build.
vmxnet3
VMware virtual adapter
generic only
Read this before virtualising. vmxnet3 has no native XDP path, so packets are processed after skb allocation. Expect a large fraction of bare-metal throughput to disappear. Fine for labs, demos and functional testing — not a production data plane.
The virtualisation trap. A BNG that benchmarks well on bare metal and badly in a VM is
almost always a generic-XDP problem, not a BNGSOFT problem. If you are evaluating in VMware on
vmxnet3, you are measuring the driver, not the platform. Test on a passthrough NIC with a native
XDP driver, or treat the virtual result as a functional check only.
Reference builds
Build
NIC
CPU
RAM
Capacity
Subscribers
Power
Edge 1U
X710-DA2
8-core
32 GB
~20 Gbps
~6,700
~250 W
Standard 1U
E810-CQDA2
16-core
64 GB
~100 Gbps
~33,000
~380 W
High-density 2U
2 × E810-CQDA2
2 × 16–24-core
128 GB
~200 Gbps
~64,000
~650 W
SmartNIC 2U
ConnectX-6 Dx
24-core
128 GB
~200 Gbps
~64,000
~600 W
Memory
Populate every channel
A packet-rate-bound data plane is memory-bandwidth sensitive. A CPU with half its channels filled gives up throughput that extra capacity cannot recover.
40G class — 32–64 GB, all channels populated
100G class — 128 GB, all channels populated
State is modest: ~8 KB userspace plus BPF state per subscriber. Size for bandwidth, not tables.
Platform floor
Commodity x86, current kernel
Kernel — 5.10 minimum, current 6.x recommended
Architecture — x86-64 Intel or AMD; ARM64 in development
Bonding — 802.3ad LACP
Boot media — USB flash or SATA DOM
Bring us your numbers, not ours
Send your subscriber count and your measured busy-hour average and we will work the sizing
against your traffic, then hand you a build to test on your own hardware. Core count comes out of
that test — not out of a spreadsheet.
Frame-size arithmetic assumes standard Ethernet framing with 20 bytes of per-frame wire overhead
(7 B preamble, 1 B SFD, 12 B inter-frame gap). The 50 Mpps engine ceiling is a measured platform
figure; throughput values derived from it are arithmetic, not independent measurements. Reference
build capacities and subscriber counts are as published in the BNGSOFT hardware sizing brief.
Adapter prices are indicative only. XDP mode reflects upstream Linux driver capability and should
be confirmed against your own kernel version.