-
Notifications
You must be signed in to change notification settings - Fork 914
fix: use tailscale that avoids small MTU paths #18323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
// . │ Client 2 ├─────────────────────────────────────┘ | ||
// . │ │fdac:38fa:ffff:2::1 | ||
// . └──────────────┘ | ||
// The veth link between Client 1 and the router has a configurable MTU via Client1MTU. | ||
func (n TriangleNetwork) SetupNetworking(t *testing.T, l slog.Logger) TestNetworking { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not really a triangle anymore unfortunately, more of a pitchfork 🤣
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should redo the diagram to be triforce 🤣
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure unicode has the correct (60°) diagonals
Merge activity
|
Fixes #15523
Uses latest https://github.com/coder/tailscale which includes coder/tailscale#85 to stop selecting paths with small MTU for direct connections.
Also updates the tailnet integration test to reproduce the issue. The previous version had the 2 peers connected by a single veth, but this allows the OS to fragment the packet. In the new version, the 2 peers (and server) are all connected by a central router. The link between peer 1 and the router has an adjustable MTU. IPv6 does not allow packets to be fragmented by intermediate routers, so sending a too-large packet in this scenario forces the router to drop packets and reproduce the issue (without the tailscale changes).