diff --git a/net/respondd/src/respondd.c b/net/respondd/src/respondd.c index b78ec55..e3242da 100644 --- a/net/respondd/src/respondd.c +++ b/net/respondd/src/respondd.c @@ -370,6 +370,8 @@ static void serve(int sock) { int main(int argc, char **argv) { + const int one = 1; + int sock; struct sockaddr_in6 server_addr = {}; struct in6_addr mgroup_addr; @@ -381,6 +383,11 @@ int main(int argc, char **argv) { exit(EXIT_FAILURE); } + if (setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, &one, sizeof(one))) { + perror("can't set socket to IPv6 only"); + exit(EXIT_FAILURE); + } + server_addr.sin6_family = AF_INET6; server_addr.sin6_addr = in6addr_any;