From: Florian Weimer <fweimer@redhat.com>
To: David Howells <dhowells@redhat.com>
Cc: linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org,
linux-afs@lists.infradead.org, ceph-devel@vger.kernel.org,
keyrings@vger.kernel.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: What's a good default TTL for DNS keys in the kernel
Date: Thu, 16 Apr 2020 12:33:34 +0200 [thread overview]
Message-ID: <87v9lzu3cx.fsf@oldenburg2.str.redhat.com> (raw)
In-Reply-To: <128769.1587032833@warthog.procyon.org.uk> (David Howells's message of "Thu, 16 Apr 2020 11:27:13 +0100")
* David Howells:
> Florian Weimer <fweimer@redhat.com> wrote:
>
>> You can get the real TTL if you do a DNS resolution on the name and
>> match the addresses against what you get out of the NSS functions. If
>> they match, you can use the TTL from DNS. Hackish, but it does give you
>> *some* TTL value.
>
> I guess I'd have to do that in parallel.
Not necessary. You can do the getaddrinfo lookup first and then perform
the query.
> Would calling something like res_mkquery() use local DNS caching?
Yes (but res_mkquery builds a packet, it does not send it).
>> The question remains what the expected impact of TTL expiry is. Will
>> the kernel just perform a new DNS query if it needs one? Or would you
>> expect that (say) the NFS client rechecks the addresses after TTL expiry
>> and if they change, reconnect to a new NFS server?
>
> It depends on the filesystem.
>
> AFS keeps track of the expiration on the record and will issue a new lookup
> when the data expires, but NFS doesn't make use of this information.
And it will switch servers at that point? Or only if the existing
server association fails/times out?
> The keyring subsystem will itself dispose of dns_resolver keys that
> expire and request_key() will only upcall again if the key has
> expired.
What's are higher-level effects of that?
I'm still not convinced that the kernel *needs* accurate TTL
information. The benefit from upcall avoidance likely vanishes quickly
after the in-kernel TTL increases beyond 5 or so. That's just my guess,
though.
Thanks,
Florian
WARNING: multiple messages have this Message-ID (diff)
From: Florian Weimer <fweimer@redhat.com>
To: David Howells <dhowells@redhat.com>
Cc: linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org,
linux-afs@lists.infradead.org, ceph-devel@vger.kernel.org,
keyrings@vger.kernel.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: What's a good default TTL for DNS keys in the kernel
Date: Thu, 16 Apr 2020 10:33:34 +0000 [thread overview]
Message-ID: <87v9lzu3cx.fsf@oldenburg2.str.redhat.com> (raw)
In-Reply-To: <128769.1587032833@warthog.procyon.org.uk> (David Howells's message of "Thu, 16 Apr 2020 11:27:13 +0100")
* David Howells:
> Florian Weimer <fweimer@redhat.com> wrote:
>
>> You can get the real TTL if you do a DNS resolution on the name and
>> match the addresses against what you get out of the NSS functions. If
>> they match, you can use the TTL from DNS. Hackish, but it does give you
>> *some* TTL value.
>
> I guess I'd have to do that in parallel.
Not necessary. You can do the getaddrinfo lookup first and then perform
the query.
> Would calling something like res_mkquery() use local DNS caching?
Yes (but res_mkquery builds a packet, it does not send it).
>> The question remains what the expected impact of TTL expiry is. Will
>> the kernel just perform a new DNS query if it needs one? Or would you
>> expect that (say) the NFS client rechecks the addresses after TTL expiry
>> and if they change, reconnect to a new NFS server?
>
> It depends on the filesystem.
>
> AFS keeps track of the expiration on the record and will issue a new lookup
> when the data expires, but NFS doesn't make use of this information.
And it will switch servers at that point? Or only if the existing
server association fails/times out?
> The keyring subsystem will itself dispose of dns_resolver keys that
> expire and request_key() will only upcall again if the key has
> expired.
What's are higher-level effects of that?
I'm still not convinced that the kernel *needs* accurate TTL
information. The benefit from upcall avoidance likely vanishes quickly
after the in-kernel TTL increases beyond 5 or so. That's just my guess,
though.
Thanks,
Florian
next prev parent reply other threads:[~2020-04-16 10:33 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-14 14:20 What's a good default TTL for DNS keys in the kernel David Howells
2020-04-14 14:20 ` David Howells
2020-04-14 14:20 ` David Howells
2020-04-14 20:16 ` Jeff Layton
2020-04-14 20:16 ` Jeff Layton
[not found] ` <e751977dac616d93806d98f4ad3ce144bb1eb244.camel-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2020-04-15 17:07 ` Steve French
2020-04-15 17:07 ` Steve French
2020-04-15 17:07 ` Steve French
2020-04-16 10:15 ` David Howells
2020-04-16 10:15 ` David Howells
2020-04-15 9:44 ` Florian Weimer
2020-04-15 9:44 ` Florian Weimer
2020-04-16 10:27 ` David Howells
2020-04-16 10:27 ` David Howells
2020-04-16 10:33 ` Florian Weimer [this message]
2020-04-16 10:33 ` Florian Weimer
2020-04-16 13:01 ` David Howells
2020-04-16 13:01 ` David Howells
[not found] ` <128769.1587032833-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2020-04-16 13:40 ` Chuck Lever
2020-04-16 13:40 ` Chuck Lever
2020-04-16 13:40 ` Chuck Lever
2020-04-17 11:31 ` Aurélien Aptel
2020-04-17 11:31 ` Aurélien Aptel
2020-04-17 23:23 ` Steve French
2020-04-17 23:23 ` Steve French
[not found] ` <CAH2r5mv5p=WJQu2SbTn53FeTsXyN6ke_CgEjVARQ3fX8QAtK_w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-18 18:10 ` Florian Weimer
2020-04-18 18:10 ` Florian Weimer
2020-04-18 18:10 ` Florian Weimer
2020-04-19 4:53 ` Steve French
2020-04-19 4:53 ` Steve French
2020-04-19 8:37 ` David Howells
2020-04-19 8:37 ` David Howells
[not found] ` <927453.1587285472-S6HVgzuS8uM4Awkfq6JHfwNdhmdF6hFW@public.gmane.org>
2020-04-20 0:58 ` Paulo Alcantara
2020-04-20 0:58 ` Paulo Alcantara
2020-04-20 0:58 ` Paulo Alcantara
[not found] ` <87imhvj7m6.fsf-jNnf+gw1pmM@public.gmane.org>
2020-04-20 13:13 ` David Howells
2020-04-20 13:13 ` David Howells
2020-04-20 13:13 ` David Howells
2020-04-20 18:21 ` Paulo Alcantara
2020-04-20 18:21 ` Paulo Alcantara
2020-04-20 18:21 ` Paulo Alcantara
2020-04-20 22:14 ` cifs - Race between IP address change and sget()? David Howells
2020-04-20 22:14 ` David Howells
2020-04-20 22:30 ` Jeff Layton
2020-04-20 22:30 ` Jeff Layton
2020-04-21 1:29 ` Ronnie Sahlberg
2020-04-21 1:29 ` Ronnie Sahlberg
2020-04-21 2:26 ` Steve French
2020-04-21 2:26 ` Steve French
2020-04-21 2:29 ` Steve French
2020-04-21 2:29 ` Steve French
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87v9lzu3cx.fsf@oldenburg2.str.redhat.com \
--to=fweimer@redhat.com \
--cc=ceph-devel@vger.kernel.org \
--cc=dhowells@redhat.com \
--cc=keyrings@vger.kernel.org \
--cc=linux-afs@lists.infradead.org \
--cc=linux-cifs@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.