mirror of
https://github.com/tailscale/tailscale.git
synced 2025-08-11 21:27:31 +00:00
net/netns: add functionality to bind outgoing sockets based on route table
When turned on via environment variable (off by default), this will use the BSD routing APIs to query what interface index a socket should be bound to, rather than binding to the default interface in all cases. Updates #5719 Updates #5940 Signed-off-by: Andrew Dunham <andrew@du.nham.ca> Change-Id: Ib4c919471f377b7a08cd3413f8e8caacb29fee0b
This commit is contained in:
@@ -94,7 +94,8 @@ type CapabilityVersion int
|
||||
// - 54: 2023-01-19: Node.Cap added, PeersChangedPatch.Cap, uses Node.Cap for ExitDNS before Hostinfo.Services fallback
|
||||
// - 55: 2023-01-23: start of c2n GET+POST /update handler
|
||||
// - 56: 2023-01-24: Client understands CapabilityDebugTSDNSResolution
|
||||
const CurrentCapabilityVersion CapabilityVersion = 56
|
||||
// - 57: 2023-01-25: Client understands CapabilityBindToInterfaceByRoute
|
||||
const CurrentCapabilityVersion CapabilityVersion = 57
|
||||
|
||||
type StableID string
|
||||
|
||||
@@ -1726,6 +1727,11 @@ const (
|
||||
CapabilityDataPlaneAuditLogs = "https://tailscale.com/cap/data-plane-audit-logs" // feature enabled
|
||||
CapabilityDebug = "https://tailscale.com/cap/debug" // exposes debug endpoints over the PeerAPI
|
||||
|
||||
// CapabilityBindToInterfaceByRoute changes how Darwin nodes create
|
||||
// sockets (in the net/netns package). See that package for more
|
||||
// details on the behaviour of this capability.
|
||||
CapabilityBindToInterfaceByRoute = "https://tailscale.com/cap/bind-to-interface-by-route"
|
||||
|
||||
// CapabilityTailnetLockAlpha indicates the node is in the tailnet lock alpha,
|
||||
// and initialization of tailnet lock may proceed.
|
||||
//
|
||||
|
Reference in New Issue
Block a user