SO_REUSEADDR is used to bind the socket in nfsd today. SO_REUSEADDR alone
might not help, if another socket is bound to exactly the same combination
of source address and port. Bind fails with EADDRINUSE, if that is the
case, even with SO_REUSEADDR.
If NFSD exited abruptly due to some error and is started again, there is
a delay in freeing the port and when it is attempted to bind again with
same source address and port, it fails with EADDRINUSE.
To address this, using SO_REUSEPORT helps. As the previous socket also
would have had this option set, subsequent bind succeeds even when there
is another socket bound to same source address and port.