You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/wgengine/router
Avery Pennarun e7ae6a2e06 net/netns, wgengine/router: support Linux machines that don't have 'ip rule'.
We'll use SO_BINDTODEVICE instead of fancy policy routing. This has
some limitations: for example, we will route all traffic through the
interface that has the main "default" (0.0.0.0/0) route, so machines
that have multiple physical interfaces might have to go through DERP to
get to some peers. But machines with multiple physical interfaces are
very likely to have policy routing (ip rule) support anyway.

So far, the only OS I know of that needs this feature is ChromeOS
(crostini). Fixes #245.

Signed-off-by: Avery Pennarun <apenwarr@tailscale.com>
6 years ago
..
ifconfig_windows.go wgengine/router: rename config.Settings to config.Config, make pointer. 6 years ago
router.go ipn: plumb NetfilterMode all the way out to the CLI. 6 years ago
router_darwin.go wgengine: don't pass nil router.Config objects. 6 years ago
router_darwin_support.go router_darwin_support: we can build this on every platform. 6 years ago
router_default.go wgengine/router: split out from wgengine. 6 years ago
router_fake.go wgengine/router: rename config.Settings to config.Config, make pointer. 6 years ago
router_freebsd.go wgengine/router: rename config.Settings to config.Config, make pointer. 6 years ago
router_linux.go net/netns, wgengine/router: support Linux machines that don't have 'ip rule'. 6 years ago
router_linux_test.go router_linux: remove need for iptables.ListChains(). 6 years ago
router_openbsd.go wgengine/router: rename config.Settings to config.Config, make pointer. 6 years ago
router_windows.go wgengine/router: rename config.Settings to config.Config, make pointer. 6 years ago
runner.go wgengine/router: make runner.go linux-only for now. 6 years ago