2024-03-13 14:52:27

by Roland Mainz

[permalink] [raw]
Subject: Linux /proc/fs/nfsd/clients/*/info - where does "Implementation name" come from ?

Hi!

----

While debugging a NFSv4.1 problem I noticed that the Linux nfsd
somehow gets a "Implementation name" /proc/fs/nfsd/clients/*/info
files:

Example:
---- snip ----
$ cat /proc/fs/nfsd/clients/3/info
clientid: 0x22d7004e65f1b8d3
address: "104.102.54.63:666"
status: confirmed
seconds from last renew: 15
name: "Linux NFSv4.2 DERGINB0666"
minor version: 2
Implementation domain: "kernel.org"
Implementation name: "Linux 5.10.0-22-rt-686-pae #1 SMP PREEMPT_RT
Debian 5.10.178-3 (2023-04-22) i686"
Implementation time: [0, 0]
callback state: UP
callback address: 93.240.185.34:0
---- snip ----

How is this implemented, e.g. what does a NFSv4.1 client have to do to
send the nfsd a "Implementation name" string ?

----

Bye,
Roland
--
__ . . __
(o.\ \/ /.o) [email protected]
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 3992797
(;O/ \/ \O;)


2024-03-13 16:04:00

by Benjamin Coddington

[permalink] [raw]
Subject: Re: Linux /proc/fs/nfsd/clients/*/info - where does "Implementation name" come from ?

On 13 Mar 2024, at 10:51, Roland Mainz wrote:

> Hi!
>
> ----
>
> While debugging a NFSv4.1 problem I noticed that the Linux nfsd
> somehow gets a "Implementation name" /proc/fs/nfsd/clients/*/info
> files:
>
> Example:
> ---- snip ----
> $ cat /proc/fs/nfsd/clients/3/info
> clientid: 0x22d7004e65f1b8d3
> address: "104.102.54.63:666"
> status: confirmed
> seconds from last renew: 15
> name: "Linux NFSv4.2 DERGINB0666"
> minor version: 2
> Implementation domain: "kernel.org"
> Implementation name: "Linux 5.10.0-22-rt-686-pae #1 SMP PREEMPT_RT
> Debian 5.10.178-3 (2023-04-22) i686"
> Implementation time: [0, 0]
> callback state: UP
> callback address: 93.240.185.34:0
> ---- snip ----
>
> How is this implemented, e.g. what does a NFSv4.1 client have to do to
> send the nfsd a "Implementation name" string ?

This is the Linux NFS developer's mailing list, but your question is about
how to look up something in the specifications. That's probably more
appropriate for the IETF mailing list, but you shouldn't even have to ask
anyone. Instead, look it up in the spec.

Aren't you folks working on an implementation, and shouldn't you be up to
your ears in the spec? Isn't it easier to just look instead of waiting on
other people to do it for you?

The answer is eia_client_impl_id, in rfc-8881.

Questions like this are annoying me, and you risk losing visibility from folks
that might also be annoyed.

https://datatracker.ietf.org/wg/nfsv4/documents/

Ben