diff -up nfs-utils-1.0.9/support/nfs/rpcmisc.c.orig nfs-utils-1.0.9/support/nfs/rpcmisc.c --- nfs-utils-1.0.9/support/nfs/rpcmisc.c.orig 2006-07-07 20:04:32.000000000 -0400 +++ nfs-utils-1.0.9/support/nfs/rpcmisc.c 2010-10-29 09:31:08.000000000 -0400 @@ -184,8 +184,11 @@ int makesock(int port, int proto) sin.sin_port = htons(port); val = 1; - if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val)) < 0) - xlog(L_ERROR, "setsockopt failed: %s\n", strerror(errno)); + if (proto == IPPROTO_TCP) + if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, + &val, sizeof(val)) < 0) + xlog(L_ERROR, "setsockopt failed: %s\n", + strerror(errno)); #if 0 /* I was told it didn't work with gigabit ethernet. diff -up nfs-utils-1.0.9/support/nfs/svc_socket.c.orig nfs-utils-1.0.9/support/nfs/svc_socket.c --- nfs-utils-1.0.9/support/nfs/svc_socket.c.orig 2006-07-07 20:04:32.000000000 -0400 +++ nfs-utils-1.0.9/support/nfs/svc_socket.c 2010-10-29 09:31:08.000000000 -0400 @@ -151,7 +151,7 @@ svctcp_socket (u_long number, int reuse) int svcudp_socket (u_long number, int reuse) { - return svc_socket (number, SOCK_DGRAM, IPPROTO_UDP, reuse); + return svc_socket (number, SOCK_DGRAM, IPPROTO_UDP, 0); } #ifdef TEST