On Thu, 10 Sep 2026, Jeff Layton wrote:
> Describe the interface that lets a caller take over rpcbind registration.

> --- a/Documentation/netlink/specs/nfsd.yaml
> +++ b/Documentation/netlink/specs/nfsd.yaml
> @@ -483,13 +527,22 @@ operations:
>      -
>        name: listener-set
> -      doc: set nfs running sockets
> +      doc: >-
> +        set nfs running sockets. A request that carries userspace-rpcbind
> +        is answered with a reply rather than a bare ack, and the addr list
> +        in that reply names only the listeners that have an rpcbind netid.

"listeners that have an rpcbind netid" overstates the set. RDMA
listeners have netids (rdma, rdma6) but are omitted from the
reply.

Following the way Solaris handles RDMA transport, NFSD never
registered RDMA itself, so that is not a regression, but the doc
should say what your filter actually selects.


>        attribute-set: server-sock
>        flags: [admin-perm]
>        do:
>          request:
>            attributes:
>              - addr
> +            - userspace-rpcbind
> +        reply:
> +          attributes:
> +            - addr
> +            - userspace-rpcbind
> +            - rpcbind

The spec declares an unconditional reply, but patch 4 sends one only
when the request carried userspace-rpcbind. ynl has no way to express
a conditional reply, and no other in-tree spec does this.

Either always send the reply (drop the userspace_rpcbind gate in
patch 4, so a plain caller simply ignores it), or leave listener-set
without a reply and put the registration data in a separate get
operation. I lean toward always replying; that's is a little more
"declarative".


-- 
Chuck Lever (Come to NFS bake-a-thon! https://nfsv4bat.org)

Reply via email to