Skip to content

Commit 06980e7

Browse files
authored
[client] Apply routes right away instead of on peer connection (#3907)
1 parent 1ce4ee0 commit 06980e7

File tree

8 files changed

+345
-261
lines changed

8 files changed

+345
-261
lines changed

client/internal/dns/server.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,7 @@ func (s *DefaultServer) applyHostConfig() {
489489
}
490490
}
491491

492-
log.Debugf("extra match domains: %v", s.extraDomains)
492+
log.Debugf("extra match domains: %v", maps.Keys(s.extraDomains))
493493

494494
if err := s.hostManager.applyDNSConfig(config, s.stateManager); err != nil {
495495
log.Errorf("failed to apply DNS host manager update: %v", err)

client/internal/engine.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -994,6 +994,15 @@ func (e *Engine) updateNetworkMap(networkMap *mgmProto.NetworkMap) error {
994994
}
995995
}
996996

997+
protoDNSConfig := networkMap.GetDNSConfig()
998+
if protoDNSConfig == nil {
999+
protoDNSConfig = &mgmProto.DNSConfig{}
1000+
}
1001+
1002+
if err := e.dnsServer.UpdateDNSServer(serial, toDNSConfig(protoDNSConfig, e.wgInterface.Address().Network)); err != nil {
1003+
log.Errorf("failed to update dns server, err: %v", err)
1004+
}
1005+
9971006
dnsRouteFeatureFlag := toDNSFeatureFlag(networkMap)
9981007

9991008
// apply routes first, route related actions might depend on routing being enabled
@@ -1061,15 +1070,6 @@ func (e *Engine) updateNetworkMap(networkMap *mgmProto.NetworkMap) error {
10611070
excludedLazyPeers := e.toExcludedLazyPeers(routes, forwardingRules, networkMap.GetRemotePeers())
10621071
e.connMgr.SetExcludeList(excludedLazyPeers)
10631072

1064-
protoDNSConfig := networkMap.GetDNSConfig()
1065-
if protoDNSConfig == nil {
1066-
protoDNSConfig = &mgmProto.DNSConfig{}
1067-
}
1068-
1069-
if err := e.dnsServer.UpdateDNSServer(serial, toDNSConfig(protoDNSConfig, e.wgInterface.Address().Network)); err != nil {
1070-
log.Errorf("failed to update dns server, err: %v", err)
1071-
}
1072-
10731073
e.networkSerial = serial
10741074

10751075
// Test received (upstream) servers for availability right away instead of upon usage.

0 commit comments

Comments
 (0)