diff options
| author | Christina Wen <christina@tailscale.com> | 2020-09-11 11:53:25 -0400 |
|---|---|---|
| committer | Christina Wen <christina@tailscale.com> | 2020-09-15 13:38:06 -0400 |
| commit | 64f4ea7de37cd001642dddd98953e7ac1ac52346 (patch) | |
| tree | 89e83200ffec35b852ded7537438156735d8cec9 | |
| parent | ee673d5967090f13774b4aa81efea56d5853004d (diff) | |
| download | tailscale-c22wen/route-addr.tar.xz tailscale-c22wen/route-addr.zip | |
wgengine/router/router_linux.go: Switched `cidrDiff("addr")` and `cidrDiff("route")` orderc22wen/route-addr
Signed-off-by: Christina Wen <christina@tailscale.com>
| -rw-r--r-- | wgengine/router/router_linux.go | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/wgengine/router/router_linux.go b/wgengine/router/router_linux.go index fd101ef91..00529729d 100644 --- a/wgengine/router/router_linux.go +++ b/wgengine/router/router_linux.go @@ -163,33 +163,26 @@ func (r *linuxRouter) Close() error { } // Set implements the Router interface. -func (r *linuxRouter) Set(cfg *Config) (err error) { +func (r *linuxRouter) Set(cfg *Config) error { if cfg == nil { cfg = &shutdownConfig } - defer func() { - if err != nil { - // restore /etc/resolv.conf to its original state. - r.dns.Set(dns.Config{}) - } - }() - if err := r.setNetfilterMode(cfg.NetfilterMode); err != nil { return err } - newAddrs, err := cidrDiff("addr", r.addrs, cfg.LocalAddrs, r.addAddress, r.delAddress, r.logf) + newRoutes, err := cidrDiff("route", r.routes, cfg.Routes, r.addRoute, r.delRoute, r.logf) if err != nil { return err } - r.addrs = newAddrs + r.routes = newRoutes - newRoutes, err := cidrDiff("route", r.routes, cfg.Routes, r.addRoute, r.delRoute, r.logf) + newAddrs, err := cidrDiff("addr", r.addrs, cfg.LocalAddrs, r.addAddress, r.delAddress, r.logf) if err != nil { return err } - r.routes = newRoutes + r.addrs = newAddrs switch { case cfg.SNATSubnetRoutes == r.snatSubnetRoutes: |
