On Fri, Feb 5, 2016 at 10:37 AM, Olga Kornievskaia <aglo@xxxxxxxxx> wrote: > I have a question regarding the implementation of sunrpc use of XID > when the client receives an AUTH_ERROR. The code (clnt.c line 1933) > explicitly comments that a new XID should be acquired and releases the > currently rpc task (and gets a new one). Why is that? Since the > operation is "replayed" but with the new credentials, why shouldn't > the same XID be used? > > The RPC RFC says that XID is used by the server to detect > retransmissions. It's not clear if in the specs means "retransmission" > == tcp retransmissions. If so then it explains why the client uses the > same XID. > The questions you are asking come under the header "RPC lore" rather than "RPC law". The use of XIDs as a basis for replay caching is not speced out in any RFC. The closest thing we have in the form of documentation is Ric Werme's presentation at the 1996 Connectathon: http://nfsv4bat.org/Documents/ConnectAThon/1996/werme1.pdf Basically, those comments are there in the Linux code to denote issues found when interoperability testing with server implementations that are probably now long dead, but might still be in use somewhere. Cheers Trond -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html