IPv6 sockets for knfsd can't be allowed to accept IPv4 packets. Set the correct option to prevent it. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> --- support/nfs/nfssvc.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/support/nfs/nfssvc.c b/support/nfs/nfssvc.c index e7f3262..1bb64f0 100644 --- a/support/nfs/nfssvc.c +++ b/support/nfs/nfssvc.c @@ -123,6 +123,13 @@ nfssvc_setfds(const struct addrinfo *hints, const char *node, const char *port) rc = errno; goto error; } + if (addr->ai_family == AF_INET6 && + setsockopt(sockfd, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof(on))) { + xlog(L_ERROR, "unable to set IPV6_V6ONLY: " + "errno %d (%s)\n", errno, strerror(errno)); + rc = -errno; + goto error; + } if (addr->ai_protocol == IPPROTO_TCP && setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on))) { xlog(L_ERROR, "unable to set SO_REUSEADDR on %s " -- 1.6.0.6 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html