Hello, I have implemented Sun's NFS ACL protocol, which is an extension to NFSv3 that allows to manipulate POSIX ACLs over NFS mounts. Before that can be integrated a few changes to the NFS/RPC layer are needed: * The NFS ACL protocol binds to the same port as the NFS protocol. The kernel NFS doesn't yet support multiple RPC programs on the same port. * The RPC client does not properly report missing program/procedure information to its caller. * Particularly for the NFS ACL protocol, the -ENOTSUPP and -ENOPNOTSUPP errors are not converted into NFS errors. The attached patch implements these missing bits. I am not certain about how to best handle the clnt->cl_xprt transport endpoints: The patch uses a reference count in struct rpc_xprt to keep track of how many clients are using a certain endpoint. This is the least intrusive change; it may make more sense to handle this explicitly in the RPC clients. What do you think? (The attached patch is against 2.5.62; this and a 2.4.21pre4 patch can be found at .) Cheers, Andreas.