diff --git a/package/gluon-neighbour-info/src/gluon-neighbour-info.c b/package/gluon-neighbour-info/src/gluon-neighbour-info.c index d0df56ab..24237bfe 100644 --- a/package/gluon-neighbour-info/src/gluon-neighbour-info.c +++ b/package/gluon-neighbour-info/src/gluon-neighbour-info.c @@ -220,6 +220,16 @@ int main(int argc, char **argv) { exit(EXIT_FAILURE); } + if (client_addr.sin6_scope_id) { + if (setsockopt( + sock, IPPROTO_IPV6, IPV6_MULTICAST_IF, + &client_addr.sin6_scope_id, sizeof(client_addr.sin6_scope_id) + ) < 0) { + perror("setsockopt"); + exit(EXIT_FAILURE); + } + } + if (sse) { fputs("Content-Type: text/event-stream\n\n", stdout); fflush(stdout);