On 11/15/20 7:31 AM, Lennart Poettering wrote:
Implementing this does not come without drawbacks though: right now
resolved tries hard to use the same server if at all possible, since
we want to use newer DNS features if possible, but many DNS servers
(wifi routers, yuck) tend to support them quite badly. This means
resolved has an elaborate scheme to learn about the feature set of the
DNS servers it contacts. And that can be slow, in particular on
servers where we step-by-step have to downgrade to the most minimal of
DNS protocols. This learning phase is run only when first contacting
some server (and after some grace period). If we'd switch servers all
the time, for every single lookup, then we'd start from zero every
time, not knowing what the server supports, and thus having to learn
about it over and over again. This would hence make all,
*every*single* transaction pretty slow. And that sucks.

Wouldn't you just need to do it once for each server and cache that info? And why do you need to re-do the learning phase for a server you've already checked?

DoT becomes efficient when we can reuse the established TCP/TLS connection
for multiple lookups. But if we'd switch servers all the time, then of
course there's no reuse of TCP/TLS connections possible.

Same thing here. Would it be a problem to keep a connection open for each server?
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to