diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-11-05 17:00:20 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2021-02-15 21:59:05 +0100 |
commit | 5e8bc852d538544a2285ced429e3a805f13ea260 (patch) | |
tree | 9a1035166393b2fa79fc4da3fad48ba3a394aba3 /src/resolve/resolved-dns-server.h | |
parent | c78735eb795f1377d8d08bc57401efe742d9ec19 (diff) | |
download | systemd-5e8bc852d538544a2285ced429e3a805f13ea260.tar.gz |
resolved: don't redundantly switch DNS servers because of transaction failures
When a transaction fails and we decide to switch DNS servers, don#t do
so unconditionally. Check if the current DNS server is still the same as
when the transaction was initiated. And if not, do not do anything.
That should reduce the number of redundant DNS server switches if many
parallel transactions fail simultaneously (which is pretty likely if
DNSSEC is on).
Fixes: #17040
Diffstat (limited to 'src/resolve/resolved-dns-server.h')
-rw-r--r-- | src/resolve/resolved-dns-server.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/resolve/resolved-dns-server.h b/src/resolve/resolved-dns-server.h index e4664c883a..96e46226ee 100644 --- a/src/resolve/resolved-dns-server.h +++ b/src/resolve/resolved-dns-server.h @@ -143,7 +143,7 @@ DnsServer *manager_get_first_dns_server(Manager *m, DnsServerType t); DnsServer *manager_set_dns_server(Manager *m, DnsServer *s); DnsServer *manager_get_dns_server(Manager *m); -void manager_next_dns_server(Manager *m); +void manager_next_dns_server(Manager *m, DnsServer *if_current); DnssecMode dns_server_get_dnssec_mode(DnsServer *s); DnsOverTlsMode dns_server_get_dns_over_tls_mode(DnsServer *s); |