Documentation ¶
Overview ¶
Package router presents an interface to manipulate the host network stack's state.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct { LocalAddrs []netaddr.IPPrefix Routes []netaddr.IPPrefix // routes to point into the Tailscale interface DNS dns.Config SubnetRoutes []netaddr.IPPrefix // subnets being advertised to other Tailscale nodes SNATSubnetRoutes bool // SNAT traffic to local subnets NetfilterMode NetfilterMode // how much to manage netfilter rules }
Config is the subset of Tailscale configuration that is relevant to the OS's network stack.
type NetfilterMode ¶
type NetfilterMode int
NetfilterMode is the firewall management mode to use when programming the Linux network stack.
const ( NetfilterOff NetfilterMode = iota // remove all tailscale netfilter state NetfilterNoDivert // manage tailscale chains, but don't call them NetfilterOn // manage tailscale chains and call them from main chains )
func (NetfilterMode) String ¶
func (m NetfilterMode) String() string
type Router ¶
type Router interface { // Up brings the router up. Up() error // Set updates the OS network stack with a new Config. It may be // called multiple times with identical Configs, which the // implementation should handle gracefully. Set(*Config) error // Close closes the router. Close() error }
Router is responsible for managing the system network stack.
There is typically only one instance of this interface per process.
Click to show internal directories.
Click to hide internal directories.