Evaluating BNG platforms · the questions that make numbers comparable
Buyer’s Guide · Comparing BNG Platforms

Most BNG comparisons fail before they start.

Not because vendors lie, but because the numbers are not measuring the same thing. One quotes 64-byte frames with the full subscriber path loaded; another quotes IMIX doing stateless forwarding. Both are true. Neither is comparable. This is the list of questions that makes them comparable — including the ones where our own answer is the weaker one.
If a vendor answers a throughput question without stating frame size and which features were enabled, you have not been given a number. You have been given a mood.

Performance — five questions

AskWhy it mattersA weak answer sounds like
At what frame size? Bit rate is packet rate times frame size. At 64 B, 50 Mpps is 33.6 Gbps; at 1518 B the same engine moves 615 Gbps. Without the frame size the Gbps figure cannot be checked. “Up to 100 Gbps.”
Which features were enabled? Stateless L2 forwarding and a full subscriber path are different workloads by roughly 6×. VPP’s own published figures show 115–118 cycles/packet stateless against 359 cycles/packet for CGNAT. “Line rate.”
Was the subscriber table loaded? Headline packet rates are usually measured with an empty state table. Real gateways carry tens of thousands of sessions, and that is where architectures separate. “40+ Mpps per core.”
Is this observed, validated, or port capacity? Three different numbers that routinely get quoted as one. Installed NIC bandwidth is a chassis bound, not a forwarding result. A single number with no qualifier.
What was the loss threshold? “Line rate” at 0.1% loss and at zero loss are not the same claim. Silence.

Architecture — four questions

AskWhy it matters
Where are packets processed?Purpose-built silicon on line cards, kernel-bypass in userspace, or in-kernel at the driver. Each has real consequences for cost, upgrade behaviour and operational visibility.
Do standard tools still work?If the port is claimed by a bypass framework, ip, ethtool and tcpdump stop seeing it. That changes how every incident is diagnosed at 3am.
How many forwarding tables exist?A synchronised copy of the FIB is a copy that can drift. Ask what happens when it does.
What happens during an upgrade?Process restart, chassis failover, or an atomic in-place swap. Ask for the subscriber impact in seconds, not adjectives.

Commercial — three questions

AskWhy it matters
What exactly is metered?Per-subscriber licensing tied to hardware behaves very differently from per-traffic licensing on commodity servers when you grow 30% in a year.
Is CGNAT a separate licence?On several platforms it is. That single line moves five-year cost more than most performance differences.
What is the power and rack budget?Chassis platforms run kilowatts; commodity servers run hundreds of watts. Over five years, in a colo, that is a capital-scale number.

Where our own answer is the weaker one

Every architecture trades something. Ours trades these, and we publish them rather than waiting for you to find them in a proof of concept:

Concession
Latency at very low load

At 100 pps, kernel-bypass designs reach around 2 µs where an in-kernel path sits near 82 µs. The gap closes sharply under real load — roughly 7 µs against 3 µs at 1 Mpps — but at idle it is real.

Concession
Packet queueing

An XDP data plane cannot hold a packet back. Congestion is handled by marking and dropping rather than by sophisticated scheduling disciplines. If your design depends on deep hierarchical queueing behaviour, weigh this carefully.

Concession
Raw single-core drop rate

On 64-byte frames with no state, DPDK reaches about 43.5 Mpps single-core against roughly 24 Mpps for XDP. Once the subscriber table is loaded both land in single digits per core — but the stateless number does favour bypass.

Concession
It is an appliance

We ship a tuned kernel, not a package you install onto an existing distribution. If your operations model requires running on your own standard build, that is a genuine constraint.

Why publish these. Every one of them surfaces in a serious proof of concept anyway. Finding them in week three of an evaluation costs you time and costs us credibility; finding them on this page costs neither. Ask every vendor on your shortlist for their equivalent list — the response is informative whether or not you get one.

The detailed comparisons

Each of these is a full brief with its sources cited, not a feature grid:

BriefWhat it covers
vs Cisco ASR 9000 & Nokia 7750 SR Chassis-and-NPU against commodity x86: subscriber density per chassis, licensing metering, power draw from vendor calculators, and L4S availability. Estimates marked illustrative are labelled as such.
XDP vs DPDK In-kernel against kernel-bypass, argued from FD.io’s own published benchmarks. Eighteen dimensions, named objections answered, and the concessions above stated in full.
vs NetElastic & MikroTik Software-BNG against software-BNG — the closest comparison, and the one where architecture differences matter most.
vs MikroTik RouterOS Where RouterOS stops scaling for subscriber termination, and where it remains the right answer.
How to read any vendor comparison, including this one. It is written by one of the vendors. Comparative figures for other platforms are drawn from their own public documentation and are cited in the linked briefs; where a figure is an estimate it is marked as one. Treat every number here as a starting point for your own testing rather than as a substitute for it — including ours.

Run the questions past us first

Take the list above to every vendor on your shortlist. If our answers do not hold up under it, you have lost an afternoon rather than a procurement cycle.

When you are ready, a proof of concept runs on your hardware against your traffic — because that is the only comparison that ends the argument.

Comparative claims about third-party platforms are sourced from those vendors’ own published documentation and are cited in the individual briefs linked above; figures described there as illustrative are directional and not contractual. Cycles-per-packet and single-core drop-rate figures are drawn from published FD.io and VPP benchmark material. Latency figures reference published measurement studies. Product names and trademarks are the property of their respective owners and are used here for identification and comparison only.