OK, We've found some changed behaviour between 7-mode and C-mode
In 7-mode filers the following is implemented :
Controls the duration of time on the server that a connection between the client and server is allowed to remain idle before being closed.
Long integer (32 bits on 32–bit platforms and 64 bits on 64–bit platforms)
360,000 milliseconds (6 minutes)
This means that NFS sessions over TCP will close after 6 minutes if no traffic is seen. When this happens the session is gracefully shutdown by starting FIN handshake. The client will automatically start a new session once the NFS mount is used again.
In C-mode this doesn't happen! In C-mode there is a keepalive mechanism which will poll the client after 2 hours idle, and if it doesn't receive an answer it will remove the session from its session table.
How can we get the old behaviour back? We need it if we use firewalls between clients and netapp.
We actually also have a support call open for 2 months now, and they point me to parameter "rpcsec-ctx-idle", which is also unrelated. It can't be the case that nobody within netapp knows what is implemented in the kernel!
With this set of options, the filer will drop the response, but will not drop the connection. This will cause the clients to timeout on the RPC request and retransmit. Some times this will take a few minutes, depending on the client.
Option #3 or #4 sounds like what you might be looking for, but you could always test out each combination to see what you prefer.