From e2d1b0b899ef66cd7ff227549e58b96c292f784e Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Sun, 25 Mar 2012 13:42:10 +0100 Subject: [PATCH] Allow scoped addresses to be used for IPv6 multicast socket. --- src/multicast_device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/multicast_device.c b/src/multicast_device.c index 495f8fc9..879eb663 100644 --- a/src/multicast_device.c +++ b/src/multicast_device.c @@ -119,7 +119,7 @@ static bool setup_device(void) { struct sockaddr_in6 in6; memcpy(&in6, ai->ai_addr, sizeof in6); memcpy(&mreq.ipv6mr_multiaddr, &in6.sin6_addr, sizeof mreq.ipv6mr_multiaddr); - mreq.ipv6mr_interface = 0; + mreq.ipv6mr_interface = in6.sin6_scope_id; if(setsockopt(device_fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, &mreq, sizeof mreq)) { logger(LOG_ERR, "Cannot join multicast group %s %s: %s", host, port, sockstrerror(sockerrno)); closesocket(device_fd); -- 2.39.5