08ce9e8944
Without this patch, the xid used for the client side krpc requests over UDP was initialized for each "connection". A "connection" for UDP is rather sketchy and for the kernel NLM a new one is created every 2minutes. A problem with client side interoperability with a Netapp server for the NLM was reported and it is believed to be caused by reuse of the same xid. Although this was never completely diagnosed by the reporter, I could see how the same xid might get reused, since it is initialized to a value based on the TOD clock every two minutes. I suspect initializing the value for every "connection" was inherited from userland library code, where having a global xid was not practical. However, implementing a global "xid" for the kernel rpc is straightforward and will ensure that an xid value is not reused for a long time. This patch does that and is hoped it will fix the Netapp interoperability problem. PR: 245022 Reported by: danny@cs.huji.ac.il MFC after: 2 weeks |
||
---|---|---|
.. | ||
rpcsec_gss | ||
auth_none.c | ||
auth_unix.c | ||
auth.h | ||
authunix_prot.c | ||
clnt_bck.c | ||
clnt_dg.c | ||
clnt_rc.c | ||
clnt_stat.h | ||
clnt_vc.c | ||
clnt.h | ||
getnetconfig.c | ||
krpc.h | ||
netconfig.h | ||
nettype.h | ||
pmap_prot.h | ||
replay.c | ||
replay.h | ||
rpc_callmsg.c | ||
rpc_com.h | ||
rpc_generic.c | ||
rpc_msg.h | ||
rpc_prot.c | ||
rpc.h | ||
rpcb_clnt.c | ||
rpcb_clnt.h | ||
rpcb_prot.c | ||
rpcb_prot.h | ||
rpcm_subs.h | ||
rpcsec_gss.h | ||
svc_auth_unix.c | ||
svc_auth.c | ||
svc_auth.h | ||
svc_dg.c | ||
svc_generic.c | ||
svc_vc.c | ||
svc.c | ||
svc.h | ||
types.h | ||
xdr.h |