On Wed, 2024-01-24 at 10:52 +0100, Lorenzo Bianconi wrote: > [...] > > > > That's a great question. We do need to properly support the -H option to > > rpc.nfsd. What we do today is look up the hostname or address using > > getaddrinfo, and then open a listening socket for that address and then > > pass that fd down to the kernel, which I think then takes the socket and > > sticks it on sv_permsocks. > > > > All of that seems a bit klunky. Ideally, I'd say the best thing would be > > to allow userland to pass the sockaddr we look up directly via netlink, > > and then let the kernel open the socket. That will probably mean > > refactoring some of the svc_xprt_create machinery to take a sockaddr, > > but I don't think it looks too hard to do. > > Do we already have a specific use case for it? I think we can even add it > later when we have a defined use case for it on top of the current series. > Yes: rpc.nfsd -H makes nfsd listen on a particular address and port. By passing down the sockaddr instead of an already-opened socket descriptor, we can achieve the goal without having to open sockets in userland. -- Jeff Layton <jlayton@xxxxxxxxxx>