Wireguard FPGA
What the FPGA WireGuard Is For
- Implements WireGuard directly in FPGA “gateware,” aiming for:
- Wire‑speed encryption in hardware rather than CPU‑bound software.
- An open, auditable alternative to proprietary VPN/NIC IP blocks and closed toolchains.
- Envisioned use cases:
- Small “WireGuard gateway” boxes (office/home/cloud) that laptops/phones connect to.
- Offload engine for embedded/IoT systems where MCU cycles and power are scarce.
- A NIC‑like device that speaks WireGuard instead of plain IP.
- Several commenters also see it primarily as an educational / research project rather than a product.
Debate on Practical Value and Performance
- Critics note the reference board has only 4×1 Gbps ports; Linux WireGuard on mid‑range CPUs can already saturate 1 Gbps and approach 10 Gbps, so the “software is far below wire speed” claim is disputed.
- Others argue it’s still valuable:
- Demonstrates a new implementation path; a hypothetical ASIC could win on cost and power per Gbps.
- Hardware packet pipelines can keep line‑rate even in worst‑case small‑packet / big‑routing‑table scenarios.
- Good teaching platform: affordable board, full stack to study.
- Discussion touches on bps vs packets‑per‑second as the real challenge at high rates.
Security, Auditability, and Toolchain Concerns
- Some are attracted by the idea of an end‑to‑end auditable stack: no secret NIC firmware, closed VPN appliances, or opaque accelerators.
- Others point out:
- FPGAs and vendor toolchains themselves can be compromised; true high‑assurance would require trusted fabrication.
- The repository’s licensing is confusing: a BSD‑3 top‑level license but many files with a restrictive proprietary notice, potentially overriding BSD.
WireGuard vs OpenVPN/IPsec and Deployment Realities
- A claim that OpenVPN/IPsec are “running out of steam” is challenged; detractors want concrete evidence.
- Pro‑WireGuard points:
- Much smaller, simpler codebase; easier configuration and correctness reasoning.
- Substantial real‑world speed and CPU‑usage gains versus OpenVPN, especially on weak CPUs.
- Counterpoints:
- IPsec remains mandatory in many government and enterprise environments; commercial firewalls are built around it.
- WireGuard lacks FIPS‑approved cipher suites and has an explicitly anti‑FIPS stance, which blocks adoption in regulated sectors.
Connectivity, Blocking, and Alternative Transports
- Travel/hotel Wi‑Fi:
- OpenVPN over TCP/443 usually works; UDP for WireGuard is more often blocked.
- Workarounds include tunneling WireGuard over TCP or obfuscated UDP (e.g. udp2raw), accepting performance loss.
- QUIC/MASQUE:
- Some argue QUIC (or MASQUE over QUIC) is a compelling modern VPN/tunnel: TLS 1.3, FIPS‑friendly, AES‑NI acceleration, rich auth (mTLS, OAuth2, tokens), and “looks like HTTPS” for censorship resistance.
- Others say it’s over‑complex versus WireGuard’s minimalism, can be slower on fat pipes, and stacking WireGuard‑over‑QUIC adds state machines and MTU pain.
- There’s discussion of using QUIC directly as the tunnel vs using it as an obfuscation layer above WireGuard.
HDLs and FPGA Tooling
- Discussion of SpiralHDL/SpinalHDL, PipelineC, Amaranth, and other “neo‑HDLs”:
- Pros: better clock‑domain abstractions, higher‑level constructs, host‑language metaprogramming (e.g., Python + NumPy for DSP generation).
- Cons: lack of direct support in commercial tools; they emit SystemVerilog/Verilog, forcing debugging of generated code.
- SystemVerilog is defended for its rich feature set, especially for multi‑clock designs and verification; Veryl is mentioned as a promising “TypeScript for SystemVerilog.”
Alternatives for High‑Speed Links
- For data‑center or DCI links, several point to MACsec as a simpler, line‑rate L2 encryption option when switches support it.
- One commenter describes achieving ~15–25 Gbps+ with WireGuard on COTS Zen4 hardware using jumbo frames, underscoring that software can already go very fast with tuning.