Offloading WireGuard from your primary router (like an AX3000T) to your node router (like an MX4200) delivers significant performance gains for your main network.
When a router handles a WireGuard tunnel, it isnβt just forwarding raw IP packetsβit is continuously running cryptographic calculations and handling software-level packet processing. Here is why shifting this responsibility to a secondary node can dramatically improve your network performance.
1. Major Reduction in CPU Usage π
- Crypto Processing Removed: WireGuard relies on modern cryptography (ChaCha20-Poly1305 for encryption/authentication and Curve25519 for key exchange). Encryption and decryption are CPU-heavy operations. By offloading this to the MX4200, the AX3000Tβs CPU cores no longer spend clock cycles encrypting and decrypting every byte of VPN traffic.
- Fewer Context Switches & SoftIRQs: Processing high-throughput WireGuard traffic generates frequent software interrupts (SoftIRQs) to handle packet encapsulation/decapsulation in the Linux kernel. Offloading
wg0frees the AX3000T CPU to focus entirely on core routing, NAT, and LAN traffic management.
2. Hardware Offloading (Fast-Path Acceleration) π
- Main Router Flow Offloading: On the AX3000T (MediaTek Filogic architecture), standard IPv4/IPv6 packet forwarding and NAT can be offloaded directly to the hardware PPE (Packet Processing Engine).
- The VPN Bottleneck: WireGuard interfaces (
wg0) usually cannot take full advantage of hardware packet offloading because packets must pass through kernel memory for encryption. - The Gain: Now, the AX3000T simply sees VLAN 9 traffic as standard Layer 2 / Layer 3 packets being switched/routed to the MX4200. This allows the AX3000T to use hardware acceleration for almost all passing local traffic.
3. Improved Overall Network Latency & Jitter π
- Bufferbloat Mitigation: High CPU load caused by concurrent VPN traffic can cause packet queues to back up, increasing bufferbloat and latency spikes (jitter) for non-VPN devices on your main network (like gaming PCs or local streaming devices).
- Load Distribution: High-bandwidth workloads on your VPN (e.g., 4K streaming or large downloads) now consume CPU cycles on the MX4200, leaving the AX3000T cool, responsive, and ready for your primary LAN segment.
Architectural Summary π
[ AX3000T - Main Gateway ]
(PPPoE WAN / Primary Router / AdGuard)
β
β Trunk Link (VLAN 1 & VLAN 9)
βΌ
[ MX4200 - Node Router ]
(Dedicated WireGuard / DHCP Server 10.10.9.x)
β
ββββββββββββββββββββ΄βββββββββββββββββββ
βΌ βΌ
[ SSID: SanJose ] [ AX3000T - SanJose ]
(Bridged to br-wifi-vpn) (Bridged via br-lan.9)
- Layer 2 Bridge: VLAN 9 carries all
10.10.9.0/24broadcast/DHCP traffic seamlessly across both access points (AX3000TandMX4200). - Layer 3 Processing: Pure offload achieved. The AX3000T performs standard hardware switching, while the MX4200 handles 100% of the crypto, policy routing (Table 200), and VPN encapsulation.
Performance Summary π
| Metric | Primary Router (Before) | Primary Router (Now) |
|---|---|---|
| CPU Load (heavy VPN downloads) | High (30%β70% load spike) | Extremely Low (< 5β10% load) |
| Packet Handling | Software Encapsulation (wg0) | Pure L2/L3 Hardware Forwarding |
| System Memory (RAM) | WireGuard state + Buffer queues | Minimal allocation |
| Thermal Output | Higher under VPN load | Cooler & stable |
This dynamic separation gives you an optimal setup: your primary router operates purely as a high-speed WAN gateway and switch, while your secondary node acts as a dedicated VPN acceleration appliance. Ultimately, it is much better to spread the workload and responsibility across your network hardware, fully utilizing the secondary nodeβs CPU power instead of leaving it to run as a really βdumbβ WiFi access point.