[A·M2] Stateless responders: SYN/ACK + SipHash cookie, UDP, ICMP #10
Labels
No labels
bug
deploy
documentation
duplicate
enhancement
good first issue
help wanted
invalid
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
femboy/blackwall#10
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Cheap, memory-free tier: answer TCP SYN with SYN/ACK using a SipHash SYN-cookie (verified on the client reply), answer ICMP/ICMPv6 echo, and common UDP probes — so mass scans and SYN floods see open ports without per-connection state. Part of #2.
Status audit (2026-07-06, during the sub-project B push): only the ICMP/ICMPv6 part of this issue shipped —
transport/nfqueue.rssynthesises ICMP/ICMPv6 echo replies in userspace. The stateless TCP SYN/ACK + SipHash cookie responder and the UDP responder were never implemented, and there is nosiphashdependency and noDeceptionTransporttrait (the abstraction from #9) — the transports are concreterun()functions.This matters for sub-project B: the B design spec (2026-07-05) assumed B2 would "promote A's existing SipHash SYN-cookie tier to XDP" — but that tier does not exist at any layer. So SYN-flood protection is currently a real gap (Linux kernel
tcp_syncookiesonly protects the box's own listeners, not forwarded/deception traffic for protected tenants).Reopening the design question: build the stateless SYN-cookie tier here (userspace, tractable) as B2's foundation, or build SYN cookies directly in XDP (B2). See the deployment-readiness discussion.