wgengine/router/router_linux.go: Switched cidrDiff("addr") and cidrDiff("route") order

Signed-off-by: Christina Wen <christina@tailscale.com>
This commit is contained in:
Christina Wen 2020-09-11 11:53:25 -04:00
parent ee673d5967
commit 64f4ea7de3

View File

@ -163,34 +163,27 @@ func (r *linuxRouter) Close() error {
} }
// Set implements the Router interface. // Set implements the Router interface.
func (r *linuxRouter) Set(cfg *Config) (err error) { func (r *linuxRouter) Set(cfg *Config) error {
if cfg == nil { if cfg == nil {
cfg = &shutdownConfig 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 { if err := r.setNetfilterMode(cfg.NetfilterMode); err != nil {
return err return err
} }
newAddrs, err := cidrDiff("addr", r.addrs, cfg.LocalAddrs, r.addAddress, r.delAddress, r.logf)
if err != nil {
return err
}
r.addrs = newAddrs
newRoutes, err := cidrDiff("route", r.routes, cfg.Routes, r.addRoute, r.delRoute, r.logf) newRoutes, err := cidrDiff("route", r.routes, cfg.Routes, r.addRoute, r.delRoute, r.logf)
if err != nil { if err != nil {
return err return err
} }
r.routes = newRoutes r.routes = newRoutes
newAddrs, err := cidrDiff("addr", r.addrs, cfg.LocalAddrs, r.addAddress, r.delAddress, r.logf)
if err != nil {
return err
}
r.addrs = newAddrs
switch { switch {
case cfg.SNATSubnetRoutes == r.snatSubnetRoutes: case cfg.SNATSubnetRoutes == r.snatSubnetRoutes:
// state already correct, nothing to do. // state already correct, nothing to do.