[Midnightbsd-cvs] [MidnightBSD/src] e110a7: Change the xid for client side krpc over UDP to
Lucas Holt
noreply at github.com
Sun Nov 22 01:57:58 EST 2020
Branch: refs/heads/master
Home: https://github.com/MidnightBSD/src
Commit: e110a7047c05a0733f7afa98acc664b80045e467
https://github.com/MidnightBSD/src/commit/e110a7047c05a0733f7afa98acc664b80045e467
Author: Lucas Holt <luke at foolishgames.com>
Date: 2020-11-22 (Sun, 22 Nov 2020)
Changed paths:
M sys/rpc/clnt_dg.c
Log Message:
-----------
Change the xid for client side krpc over UDP to
a global value.
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.
Obtained from: FreeBSD
More information about the Midnightbsd-cvs
mailing list