diff options
author | Micael Karlberg <bmk@erlang.org> | 2020-11-12 15:21:50 +0100 |
---|---|---|
committer | Micael Karlberg <bmk@erlang.org> | 2020-11-12 15:21:50 +0100 |
commit | 7021c442b742e20f3a02ed72a8cb35c1f019fb9e (patch) | |
tree | 22afdf5183c466caedb4ec5ec9273bfccecbad7b /lib/kernel/doc | |
parent | 34ee1bc943cabdc05412d09efe88daff5df31c39 (diff) | |
parent | 985938ac527a1b6d739cfbca92f3118b050d15da (diff) | |
download | erlang-7021c442b742e20f3a02ed72a8cb35c1f019fb9e.tar.gz |
Merge branch 'maint'
OTP-16956
Diffstat (limited to 'lib/kernel/doc')
-rw-r--r-- | lib/kernel/doc/src/inet_res.xml | 56 |
1 files changed, 33 insertions, 23 deletions
diff --git a/lib/kernel/doc/src/inet_res.xml b/lib/kernel/doc/src/inet_res.xml index c30038f4cd..f50915a2e2 100644 --- a/lib/kernel/doc/src/inet_res.xml +++ b/lib/kernel/doc/src/inet_res.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>2009</year><year>2018</year> + <year>2009</year><year>2020</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -48,31 +48,41 @@ <section> <title>Name Resolving</title> <p>UDP queries are used unless resolver option - <c>usevc</c> is <c>true</c>, which forces TCP queries. - If the query is too large for UDP, TCP is used instead. - For regular DNS queries, 512 bytes is the size limit.</p> + <c>usevc</c> is <c>true</c>, which forces TCP queries. + If the query is too large for UDP, TCP is used instead. + For regular DNS queries, 512 bytes is the size limit.</p> + <p>When EDNS is enabled (resolver option - <c>edns</c> is set to the EDNS version (that is, <c>0</c> - instead of <c>false</c>), resolver option - <c>udp_payload_size</c> sets the limit. If a name server - replies with the TC bit set (truncation), indicating that - the answer is incomplete, the query is retried - to that name server using TCP. Resolver option - <c>udp_payload_size</c> also sets the advertised - size for the maximum allowed reply size, if EDNS is - enabled, otherwise the name server uses the limit - 512 bytes. If the reply is larger, it gets truncated, - forcing a TCP requery.</p> + <c>edns</c> is set to the EDNS version (that is, <c>0</c> + instead of <c>false</c>), resolver option + <c>udp_payload_size</c> sets the limit. If a name server + replies with the TC bit set (truncation), indicating that + the answer is incomplete, the query is retried + to that name server using TCP. Resolver option + <c>udp_payload_size</c> also sets the advertised + size for the maximum allowed reply size, if EDNS is + enabled, otherwise the name server uses the limit + 512 bytes. If the reply is larger, it gets truncated, + forcing a TCP requery.</p> + <p>For UDP queries, resolver options <c>timeout</c> - and <c>retry</c> control retransmission. - Each name server in the <c>nameservers</c> list is - tried with a time-out of <c>timeout</c>/<c>retry</c>. - Then all name servers are tried again, doubling the - time-out, for a total of <c>retry</c> times.</p> + and <c>retry</c> control retransmission. + Each name server in the <c>nameservers</c> list is + tried with a time-out of <c>timeout</c>/<c>retry</c>. + Then all name servers are tried again, doubling the + time-out, for a total of <c>retry</c> times.</p> + + <marker id="servfail_retry_timeout"/> + <p>But before all name servers are tried again, there is a + (user configurable) timeout, <c>servfail_retry_timeout</c>. + The point of this is to prevent the new query to be handled + by to the servfail cache (a client that is to eager will + actually only get what is in the servfail cache). </p> + <p>For queries not using the <c>search</c> list, - if the query to all <c>nameservers</c> results in - <c>{error,nxdomain}</c> or an empty answer, the same - query is tried for <c>alt_nameservers</c>.</p> + if the query to all <c>nameservers</c> results in + <c>{error,nxdomain}</c> or an empty answer, the same + query is tried for <c>alt_nameservers</c>.</p> </section> <section> |