Everything, Everywhere
Verified Specification | Standardized Formulas | Instant Precision
Secure & Private (Zero Data Retention) Free Access • No Sign-Up
Linux In-Kernel Netdev AllowedIPs LPM Radix Trie Zero-Config Noise_IK

Linux WireGuard Cryptokey Routing Studio

Simulate Linux in-kernel WireGuard routing. Model Longest Prefix Match (LPM) on AllowedIPs, test bidirectional packet flow with anti-spoofing filtering, and inspect Noise_IK handshake session state.

1. Cryptokey Peer Routing Table (AllowedIPs)

Configured Peers on interface wg0:

2. Synthetic IP Packet Injector

LPM Trie Match
10.0.1.0/24
Matched: Peer 1 (Office)
Anti-Spoofing Filter
PASSED
Source within AllowedIPs
Packet Verdict
TRANSMIT
UDP 198.51.100.2:51820
Noise Crypto Session
ACTIVE
Nonce: #142 • Age: 18s
Encrypted Wire Overhead
32 Bytes
16B Poly1305 + 16B Head

3. Kernel AllowedIPs Radix Trie & Cryptokey Pipeline

1. Routing Stage: LPM Radix Lookup
Target: 10.0.1.45
Evaluating root (0.0.0.0/0) → Branch 10.0.0.0/8 → 10.0.1.0/24.
Longest match: 10.0.1.0/24 (/24 beats /0 default).
Resolved to: Peer 1 (PUBKEY: x7Fk...9Ab2).
2. Crypto Stage: Noise_IK Encapsulation
Cipher: ChaCha20-Poly1305 AEAD.
Counter: Monotonically incrementing 64-bit nonce.
MAC: 16-byte Poly1305 authentication tag appended.
Outer Packet: UDP datagram with Type 4 (Transport Data).
3. Netdev Egress: UDP Transmission
Remote Endpoint: 198.51.100.2:51820.
Socket: In-kernel UDP tunnel socket.
Header Overhead: 8B UDP + 20B IPv4 + 32B WG = 60B.
Result: Dispatched to physical NIC queue (eth0).

4. Linux In-Kernel AllowedIPs Trie Algorithm (C)


      
Sponsored Utility
While You're Here
Sponsored Recommendations
Advertisement