Skip to content

Announcing token brokering for cost control in Tetrate Agent Router Enterprise

Learn more

Doubling Envoy Throughput on NVIDIA BlueField

We modified Envoy to offload TLS cryptography to NVIDIA BlueField-3 hardware accelerators. On a single core with AES-256 and a 5 MB payload, throughput went from 6.6 Gbps to 13.6 Gbps — 2x, without touching L7 policy.

Doubling Envoy Throughput on NVIDIA BlueField

Encryption is no longer optional. Internal traffic is encrypted, service-to-service traffic is encrypted, and the payloads keep getting larger as AI workloads push model weights, embeddings, and long responses through the same proxies that used to carry small JSON. Most teams add nodes to keep up. But that work is landing in the wrong place.

Symmetric cryptography runs on general-purpose Arm cores that should be running routing and policy, and it scales with every encrypted byte, so it crowds out that policy work and forces more nodes to keep up. NVIDIA BlueField already offloads networking, storage, and security to free host resources for AI workloads, and its hardware can take the symmetric-crypto work too. The question is whether an L7 proxy can use that offload without giving up the routing, policy, and observability it was deployed for.

We modified Envoy to offload TLS cryptography to the NVIDIA BlueField-3 hardware accelerators instead of running it in software on the DPU’s Arm cores. On a single core with AES-256 and a 5 MB payload, throughput went from 6.6 Gbps to 13.6 Gbps. That is 2x, and it came without touching any of Envoy’s L7 policy or changing anything an operator configures.

Where the crypto tax lands

An L7 proxy terminating TLS pays for the symmetric crypto on every byte of every connection, for the life of that connection. Running that crypto in software, it competes for cycles with the routing, rate limiting, JWT validation, and WAF logic that the proxy exists to run. The larger the payload, the more of the CPU budget goes to crypto rather than policy.

NVIDIA BlueField can offload this symmetric-crypto work to hardware, but a stock Envoy doesn’t use it and runs the crypto in software anyway. We wanted to move that work off the Arm cores and measure what they got back.

What we built

Envoy runs on the BlueField-3 Arm cores. Upstream Envoy ships with BoringSSL and runs all TLS on those cores. Our build is based on the envoy-openssl fork and is further optimized for the BlueField DPU: it enables kTLS so the AES symmetric crypto can be handed to the DPU’s hardware offload, statically links OpenSSL, and adds a few smaller performance tweaks. All L7 policy continues to run on the Arm cores. The offload handles the per-byte cipher work; Envoy handles routing, policy, and observability, exactly as before.

The change is transparent to the control plane. Operators configure routes and filters the way they always have. Nothing above the data plane is aware the crypto moved. This matters for adoption: an existing Envoy deployment gets the offload without being re-architected, and the people running it don’t learn anything new.

How we measured it

Envoy ran on the BlueField-3 Arm cores (B3240: 16 Cortex-A78 cores, 32 GB RAM, 400 GbE), on a DPU imaged to Ubuntu 24.04 with NVIDIA DOCA 3.2.1. We compared two server configurations:

  • Baseline: upstream Envoy with BoringSSL, all TLS on the Arm cores.
  • Accelerated: our BlueField-optimized envoy-openssl build with NIC hardware kTLS offload.

Both ran the same routes, the same policy, and the same traffic. The only difference was whether the AES crypto ran in software on the Arm cores or was offloaded to the NIC hardware.

Load came from Graviton clients (scaling up to a c8gn.8xlarge, ~77 Gbps measured) running Fortio against Envoy, with concurrency tuned for maximum throughput. We recorded Fortio’s calls, average latency, and QPS, derived Gbps from those, and captured DPU CPU with mpstat.

TLS conditions were fixed across runs: TLS 1.2 with a 4096-bit RSA server key, ciphers ECDHE-RSA-AES128-GCM-SHA256 and ECDHE-RSA-AES256-GCM-SHA384. We used fixed direct-response payloads from 1 KB to 10 MB to isolate TLS cost from any origin behavior. Results below report AES-256, at 1 core and 16 cores, across five L7 configurations: no extra filters, local rate limit, JWT validation, rate limit plus JWT, and WAF. The testbed topped out at roughly 77 Gbps of network bandwidth, which matters for the 16-core results below.

Bigger payloads, bigger gains

Crypto cost scales with payload size, so the offload’s value does too. At a single core with AES-256:

PayloadBaseline: Upstream EnvoyAccelerated: Envoy + NVIDIA BlueField with Hardware kTLSGain
2 MB5.8 Gbps11.3 Gbps+93%
5 MB6.6 Gbps13.6 Gbps+106%

Below about 500 KB the gain is small: there isn’t enough crypto work to be worth offloading. The heavier the payload, the more the Arm cores were spending on crypto, and the more there is to reclaim.

Bar chart of BlueField-3 throughput at one core with AES-256 across payloads from 100 KB to 10 MB, comparing Upstream Envoy to Tetrate Envoy with hardware kTLS
Figure 1: Throughput from 100 KB to 10 MB at one core, AES-256. The gap widens with payload size as crypto comes to dominate the cost.

L7 policy keeps working

Offloading crypto raises an obvious question: does it cost you the policy features that justify running an L7 proxy at all? It doesn’t. With a 1 MB payload on a single core, every L7 configuration kept its advantage.

L7 ConfigurationThroughput Improvement
No extra filters+46.7%
Local rate limit+58.5%
JWT validation+44.5%
Rate limit + JWT+34.9%
WAF+11.2%

WAF is the low number. It inspects request bodies in software on the Arm cores, and that work was never crypto-bound, so offloading the crypto can’t speed it up. An 11% gain on a workload dominated by body inspection is what the architecture predicts.

Bar chart of throughput improvement by L7 configuration at one core with a 1 MB payload
Figure 2: Throughput improvement by L7 configuration, one core, 1 MB payload. Every policy configuration keeps its advantage; WAF is lowest because body inspection runs on the Arm cores and was never crypto-bound.

AES-256 costs the same as AES-128

With kTLS offload, AES-256 runs at the same throughput as AES-128. In software on the Arm cores, the stronger cipher costs throughput; offloaded to hardware, it doesn’t.

For anyone under FIPS, FedRAMP, or financial-services rules that mandate stronger ciphers, that removes a trade-off: AES-256 no longer costs throughput.

CPU utilization: a third fewer cores

Throughput is the visible number; CPU utilization is the one that drives node count. At equivalent request rates with AES-256 on a single core, the accelerated path used far less of the Arm core:

PayloadCPU Utilization Reduction
100 KB-37%
200 KB-36%
500 KB-28%

Latency improved alongside it, with p99 gains of +14.7%, +23.6%, and +25.5% across those payloads. The tail moved more than the median, which is where latency-sensitive traffic feels it.

Bar chart comparing CPU utilization at equivalent request rates for Upstream Envoy versus Tetrate Envoy with hardware kTLS
Figure 3: CPU utilization at equivalent request rates, one core, AES-256. The accelerated path runs the same load on substantially less Arm-core CPU.
Bar chart of latency improvement for p50 and p99 at one core with AES-256
Figure 4: Latency improvement, one core, AES-256. The tail (p99) improves more than the median (p50).

That reclaimed headroom translates directly: a third fewer nodes for the same workload, more room to absorb a traffic spike before SLAs break, or budget to run more L7 policy — WAF, more filters, richer observability — on the same hardware.

At 16 cores, the story changes

At 16 cores the throughput gains compress. The testbed hit a network ceiling near 77 Gbps, and with many cores to spread crypto across, host parallelism masks per-core savings. The non-WAF L7 configurations still held 19–22% gains; WAF held +10.4%.

At this core count the value is CPU headroom rather than raw throughput: you’re no longer crypto-bound, you’re reclaiming cores. The doubled-throughput result holds at low core counts; the efficiency gains hold at every core count we tested.

Bar chart of BlueField-3 throughput at 16 cores with AES-256 across payload sizes
Figure 5: Throughput at 16 cores, AES-256. Gains compress at large payloads as the testbed approaches its ~77 Gbps network ceiling.
Bar chart of throughput improvement by L7 configuration at 16 cores with a 1 MB payload
Figure 6: Throughput improvement by L7 configuration at 16 cores, 1 MB payload. Non-WAF policy configurations hold 19–22%; WAF holds +10.4% for the same reason as at 1 core — body inspection is not crypto-bound.

What this buys you

The result is the same offload thesis BlueField is built on, now extended to L7. Crypto moves to the DPU hardware, the Arm cores go back to routing and policy, and the AI factory runs the same encrypted traffic on fewer nodes, with stronger ciphers, at no performance cost.

What’s next

Next, we go deeper into the platform. We want to rerun the 16-core test without the network bottleneck to see the real throughput gain. We’re extending the offload by adding direct hardware acceleration via the NVIDIA XLIO library. More results to come.

Product background Product background for tablets
Building AI agents

Agent Router Enterprise provides a managed AI Gateway, MCP Gateway, and AI Guardrails in your dedicated instance. Graduate agents from prototype to production with consistent model access, governed tool use, and runtime supervision — built on Envoy AI Gateway by its creators.

  • AI Gateway – Unified model catalog with automatic fallback across providers
  • MCP Gateway – Curated tool access with per-profile authentication and filtering
  • AI Guardrails – Enforce policies, prevent data loss, and supervise agent behavior
  • Learn more
    Replacing NGINX Ingress

    Tetrate Enterprise Gateway for Envoy (TEG) is the enterprise-ready replacement for NGINX Ingress Controller. Built on Envoy Gateway and the Kubernetes Gateway API, TEG delivers advanced traffic management, security, and observability without vendor lock-in.

  • 100% upstream Envoy Gateway – CVE-protected builds
  • Kubernetes Gateway API native – Modern, portable, and extensible ingress
  • Enterprise-grade support – 24/7 production support from Envoy experts
  • Learn more
    Decorative CTA background pattern background background
    Tetrate logo in the CTA section Tetrate logo in the CTA section for mobile

    Ready to enhance your
    network

    with more
    intelligence?