Hi, I have been trying to improve the behaviour of the FreeBSD NFSv4.1/4.2 client when using the "intr" mount option. I have come up with the following scheme: - When RPCs are interrupted, mark the session slot as potentially bad. - When all session slots are marked potentially bad, do a DestroySession (only op in RPC) to destroy the session. - When the server replies NFS4ERR_BAD_SESSION, do a CreateSession (only op in RPC) to acquire a new session and continue on. When testing against a Linux 5.15 server, the CreateSession succeeds, but returns the same sessionid as the old session. Then all subsequent RPCs get the NFS4ERR_BAD_SESSION reply. (The client repeatedly does CreateSession RPCs that reply NFS_OK, but always with the same sessionid as the destroyed one.) Here's what I see in the packet trace: (everything works normally until all session slots are marked potentially bad at packet# 14216) packet# RPC 14216 DestroySession request for sessionid 2725cb62002ed418040...0 14302 DestroySession reply NFS_OK 14304 Getattr request (using above sessionid) 14305 Getattr reply NFS4ERR_BAD_SESSION 14306 CreateSession request *** Now here is where I see a problem... 14307 CreateSession reply NFS_OK with sessionid 2725cb62002ed418040...0 (same as above) 14308 Getattr request (using above sessionid) 14309 Getattr reply NFS4ERR_BAD_SESSION - and then this just repeats... The whole packet trace can be found here, in case you are interested: https://people.freebsd.org/~rmacklem/linux.pcap It seems to me that a successful CreateSession should always return a new unique sessionid? rick