From Dark Horizon to Light Speed: The Journey Nobody Asked For But Everyone Needed
Hey SkyRocket fam!
Grab your coffee
- 25+ Million packets per second DROP rate
- XDP (eXpress Data Path) — packets die before the kernel even knows they existed
- Three modes: Generic, Native, Offload — pick your flavor of destruction
- Works on Hyper-V, KVM, VMware, bare metal — yes, even your grandma's VPS
- 150MB+ throughput while filtering — legitimate traffic doesn’t even notice
- IPv4 + IPv6 — we block everything equally
Remember Dark Horizon? That was cute. iptables, nftables, connection tracking… like a bouncer checking IDs at the door. Effective, but the queue was getting long.
Then one night, fueled by energy drinks and questionable life choices, someone asked:
"What if we just… stopped the packets before they even got to the door?"
And thus began the journey into eBPF/XDP territory — where packets go to die faster than my motivation on Monday mornings.
StarLinkGate is our XDP-based packet filtering engine. For the uninitiated:
Old way (iptables/nftables):
Code: Select all
Packet → NIC → Driver → Kernel Stack → netfilter → "You shall not pass!" → Drop(Packet already toured half your RAM)
StarLinkGate way:
Code: Select all
Packet → NIC → XDP → "lol no" → Drop(Packet didn’t even get a visitor badge)
The difference? About 10–100x performance. Not just closing the door faster — making the door not exist for bad actors.
Generic Mode (xdpgeneric) — Works everywhere, even ancient NICs. Fast (millions PPS).
Native/Driver Mode (xdp) — Runs in the NIC driver. Faster (tens of millions PPS).
Offload Mode (xdpoffload) — Runs on the NIC itself. Wire speed. CPU is literally sleeping.
- IP Blocklist at Ludicrous Speed — Up to 1M entries, O(1) lookup, 25M+ PPS drop rate.
- Smart Port Filtering — Allowlist, blocklist, per-protocol rules. Script kiddies hit a wall.
- SYN Flood Protection — Configurable per-IP SYN rate limiting. DDoS scripts cry.
- Real-Time Statistics — Watch packets dropped, blocked, passed in live counters. Netflix for sysadmins.
Hyper-V Gen1 testing: Generic mode fine, Native mode killed outbound traffic.
[root@server]# curl google.com
*cricket sounds*
*tumbleweeds*
*existential dread*
Fix: Detect and pass response/egress packets in native mode. Three hours of debugging, one elegant solution, infinite relief. Moral: Always test on Hyper-V. Builds character (and gray hairs).
Scenario iptables nftables StarLinkGate XDP
Empty ruleset 3M pps 4M pps 25M+ pps
10K IPs 1.5M pps 2M pps 25M+ pps
100K IPs 800K pps 1.2M pps 25M+ pps
1M IPs![]()
Still 25M+ pps
Before StarLinkGate:
[DDoS at 5M pps] Server: "I need an adult" | CPU: 100% | Load: 847.32 | Users: "Is it down?"
After StarLinkGate:
[DDoS at 5M pps] StarLinkGate: *drops 5M pps casually* | Server: "What attack?" | CPU: 3% | Load: 0.42 | Users: "Site’s fast today!"
Already running QHTL Firewall? Update and restart:
Code: Select all
qhtlfirewall -u
systemctl restart qhtlwaterfallEnable StarLinkGate:
Code: Select all
qhtl_starlink load eth0Native mode:
Code: Select all
STARLINKGATE_XDP_MODE = "native"- TC egress filtering
- Connection tracking in XDP
- GeoIP blocking at XDP level
- Automatic attack detection with real ML
- eBPF/XDP community — making packets fear for their lives
- Hyper-V — keeping us humble
- Caffeine — for existing
- Everyone who said "just use iptables" — look at us now
They said it couldn’t be done.
They said iptables was enough.
They said XDP was too complex.
We said: "Hold my packet."
StarLinkGate: Where bad packets come to die, and your server doesn’t even know they existed.
Questions? Comments? Want to share your DDoS mitigation stories? Drop them below!
And remember: Friends don’t let friends use fail2ban alone in production.
#QHTL #StarLinkGate #XDP #eBPF #FirewallEvolution #PacketCarnage