tailscale: Linux router issues when `ip route add` fails
In a few logs I’ve debugged lately (both 1.14.0), I see e.g.:
dd9683bf6d3a69853d87dbc9356d54ac5e1de41ccadd8fc15bb6fbf82607b6c2
2021-08-29 10:50:06.501602413 +0300 +0300: health("router"): error: running "ip route add fe80::/64 dev tailscale0 table 52" failed: exit status 2
RTNETLINK answers: File exists
2021-08-29 10:50:06.501625713 +0300 +0300: control: controlclient: restarting map request for "router" health change to new state: running "ip route add fe80::/64 dev tailscale0 table 52" failed: exit status 2
RTNETLINK answers: File exists
2ea3906c9327f6c70fd67a802ccebbd986e5b23c7585c88a7d7f63499508de69
2021-08-27 16:43:21.284122602 -0600 -0600: router: localRoute add failed: running "ip route add throw fe80::/64 table 52" failed: exit status 2
RTNETLINK answers: File exists
Investigate both, figuring out how to repro.
Maybe when IPv6 is force disabled?
Maybe on unclean shutdown? (does anything clean up those throw rules on start-up?)
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 17 (13 by maintainers)
Based on that log line, allegedly we’re telling wgengine/router that we want to add a route for fe80::/64. I can’t find anywhere in our codebase where we do this. My first instinct is that this is some kind of malfunction involving attempts to restore stuff that we think got deleted by the kernel incorrectly, but I haven’t traced through our spaghetti yet to find where that might be.