mirror of
https://github.com/tailscale/tailscale.git
synced 2025-01-05 23:07:44 +00:00
wgengine/netstack: remove SubnetRouterWrapper
It was used when we only supported subnet routers on linux and would nil out the SubnetRoutes slice as no other router worked with it, but now we support subnet routers on ~all platforms. The field it was setting to nil is now only used for network logging and nowhere else, so keep the field but drop the SubnetRouterWrapper as it's not useful. Updates #cleanup Change-Id: Id03f9b6ec33e47ad643e7b66e07911945f25db79 Signed-off-by: Maisem Ali <maisem@tailscale.com>
This commit is contained in:
parent
fe22032fb3
commit
3f4c5daa15
@ -709,7 +709,6 @@ func tryEngine(logf logger.Logf, sys *tsd.System, name string) (onlyNetstack boo
|
||||
conf.DNS = d
|
||||
conf.Router = r
|
||||
if handleSubnetsInNetstack() {
|
||||
conf.Router = netstack.NewSubnetRouterWrapper(conf.Router)
|
||||
netstackSubnetRouter = true
|
||||
}
|
||||
sys.Set(conf.Router)
|
||||
|
@ -1,28 +0,0 @@
|
||||
// Copyright (c) Tailscale Inc & AUTHORS
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
package netstack
|
||||
|
||||
import (
|
||||
"tailscale.com/wgengine/router"
|
||||
)
|
||||
|
||||
type subnetRouter struct {
|
||||
router.Router
|
||||
}
|
||||
|
||||
// NewSubnetRouterWrapper returns a Router wrapper that prevents the
|
||||
// underlying Router r from seeing any advertised subnet routes, as
|
||||
// netstack will handle them instead.
|
||||
func NewSubnetRouterWrapper(r router.Router) router.Router {
|
||||
return &subnetRouter{
|
||||
Router: r,
|
||||
}
|
||||
}
|
||||
|
||||
func (r *subnetRouter) Set(c *router.Config) error {
|
||||
if c != nil {
|
||||
c.SubnetRoutes = nil // netstack will handle
|
||||
}
|
||||
return r.Router.Set(c)
|
||||
}
|
@ -80,8 +80,13 @@ type Config struct {
|
||||
// callback. If zero, the MTU is unchanged.
|
||||
NewMTU int
|
||||
|
||||
// SubnetRoutes is the list of subnets that this node is
|
||||
// advertising to other Tailscale nodes.
|
||||
// As of 2023-10-11, this field is only used for network
|
||||
// flow logging and is otherwise ignored.
|
||||
SubnetRoutes []netip.Prefix
|
||||
|
||||
// Linux-only things below, ignored on other platforms.
|
||||
SubnetRoutes []netip.Prefix // subnets being advertised to other Tailscale nodes
|
||||
SNATSubnetRoutes bool // SNAT traffic to local subnets
|
||||
NetfilterMode preftype.NetfilterMode // how much to manage netfilter rules
|
||||
NetfilterKind string // what kind of netfilter to use (nftables, iptables)
|
||||
|
@ -12,7 +12,6 @@
|
||||
"tailscale.com/tstest"
|
||||
"tailscale.com/types/logger"
|
||||
"tailscale.com/wgengine"
|
||||
"tailscale.com/wgengine/netstack"
|
||||
"tailscale.com/wgengine/router"
|
||||
)
|
||||
|
||||
@ -55,7 +54,7 @@ func TestIsNetstackRouter(t *testing.T) {
|
||||
name: "hybrid_netstack",
|
||||
conf: wgengine.Config{
|
||||
Tun: newFakeOSTUN(),
|
||||
Router: netstack.NewSubnetRouterWrapper(newFakeOSRouter()),
|
||||
Router: newFakeOSRouter(),
|
||||
},
|
||||
setNetstackRouter: true,
|
||||
want: true,
|
||||
|
Loading…
x
Reference in New Issue
Block a user