Otherwise, we can't open a dedicated IPv4 socket on the same port as the
IPv6 socket already is set up do receive IPv4 packets (unless we'd again
enable SO_REUSEADDR).
Fixes: 83da13371292 ("socket-default: Don't set SO_REUSEADDR on IKE sockets anymore")
return -1;
}
+ if (family == AF_INET6 &&
+ setsockopt(skt, SOL_IPV6, IPV6_V6ONLY, &on, sizeof(on)) < 0)
+ {
+ DBG1(DBG_NET, "unable to set IPV6_V6ONLY on socket: %s", strerror(errno));
+ close(skt);
+ return -1;
+ }
+
/* bind the socket */
if (bind(skt, &addr.sockaddr, addrlen) < 0)
{