mirror of
https://github.com/jmcorgan/fips.git
synced 2026-07-30 19:46:15 +00:00
A packet destined for our own mesh address reached the TUN reader on macOS (utun egresses self-traffic into the daemon despite the lo0 host route) and was pushed onto the mesh outbound path, where it was dropped for lack of a session/route to self. Hairpin self-addressed packets back to the TUN writer instead, so ping6 and connections to our own <npub>.fips address are delivered locally. On Linux the kernel already loops self-traffic via `lo` before it reaches the TUN, so the branch never fires there; the check is kept unconditional as a daemon-level delivery invariant and to keep it covered by Linux CI.