resolved: don't redundantly switch DNS servers because of transaction failures
authorLennart Poettering <lennart@poettering.net>
Thu, 5 Nov 2020 16:00:20 +0000 (17:00 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 15 Feb 2021 20:59:05 +0000 (21:59 +0100)
commit5e8bc852d538544a2285ced429e3a805f13ea260
tree9a1035166393b2fa79fc4da3fad48ba3a394aba3
parentc78735eb795f1377d8d08bc57401efe742d9ec19
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
src/resolve/resolved-dns-scope.c
src/resolve/resolved-dns-scope.h
src/resolve/resolved-dns-server.c
src/resolve/resolved-dns-server.h
src/resolve/resolved-dns-transaction.c
src/resolve/resolved-link.c
src/resolve/resolved-link.h