Blackwire: WireGuard in HDL at 100+ Gbit/s
summary
Blackwire implements WireGuard as HDL/RTL for FPGA NICs and reaches 100 Gbits/s on the data path while keeping control on a RISC‑V core; the project is about 75% complete and open source. The design uses a triple‑session memory scheme to atomically switch handshakes without dropping packets, budgets ~58 ms per handshake for 1k peers, and keeps the fast path in RTL. The allowed IP lookup uses a pipelined sparse binary‑tree algorithm ported to SpinalHDL yielding ~800M lookups/sec and ~1 µs latency.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 1:05WireGuard core features
- 3:30WireGuard on FPGA
- 5:15Hardware challenges
- 6:37100 Gbit/s architecture
- 8:01RISC-V core choice
- 10:14WireGuard with SpinalHDL
- 12:44IP lookup optimization
- 14:48Open-source status
- 16:12Q&A: Handshake & UDP
- 17:14Q&A: LiteX & Corundum
- 18:37Q&A: SpinalHDL vs Verilog
- 20:04Q&A: 100 Gbit/s testing
- 21:10Q&A: SpinalHDL pain points
related talks
37mWireGuard and the Future of Cloud Networking
48mWireGuard: Next Generation Abuse-Resistant Kernel Network Tunnel
26mFaster Software Packet Processing on FPGA NICs with eBPF Program Warping
21mWire Speed Name Lookup: A GPU-based Approach
14mHigh-throughput and Flexible Host Networking for Accelerated Computing
19mFpgaNIC: An FPGA-based Versatile 100Gb SmartNIC for GPUs
19mSwCC: Software-Programmable and Per-Packet Congestion Control in RDMA Engine
32mSnabb Switch simple and fast packet networking
