mirror of
https://github.com/slackhq/nebula.git
synced 2026-08-15 15:37:03 +02:00
docs: mark six deferred review findings with TODOs
Behavior untouched; each marker records a known gap and the intended fix so the next visit doesn't rediscover it: transient zero-sent sendmmsg errors drop a whole run; the non-vnet Poll queue lacks the post-wake drain loop; recvmmsg controllen resets touch every entry; cached handshake packets flush one syscall each; the routines clamp in activate() would blackhole surplus REUSEPORT sockets if it ever became reachable; darwin WriteBatch burst-drops on EWOULDBLOCK. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014ugV2edVqoz3tBvq9J6yWp
This commit is contained in:
@@ -292,6 +292,13 @@ func (f *Interface) activate() error {
|
||||
return err
|
||||
}
|
||||
if len(queues) < f.routines {
|
||||
// TODO: this clamp is only safe because it is unreachable when the
|
||||
// udp side has multiple readers (linux Queues opens exactly n or
|
||||
// errors; every other platform already clamped routines to 1 above).
|
||||
// If a platform ever returns fewer queues than routines with
|
||||
// SO_REUSEPORT sockets already bound, the surplus sockets get no
|
||||
// listenOut and the kernel blackholes every flow it hashes to them —
|
||||
// fail loudly or close the extra sockets instead.
|
||||
f.l.Warn("tun multiqueue is not supported on this platform, falling back to fewer routines",
|
||||
"requested", f.routines, "opened", len(queues))
|
||||
f.routines = len(queues)
|
||||
|
||||
Reference in New Issue
Block a user