From 95d5c36c0f6185d9c64b1d9debec5119def93f77 Mon Sep 17 00:00:00 2001 From: Richard Cochran Date: Sun, 1 Jan 2012 19:44:49 +0100 Subject: [PATCH] udp: turn off multicast loop back. This option is on by default, but we don't want or need it. Signed-off-by: Richard Cochran --- udp.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/udp.c b/udp.c index ad3ba33..d1042ca 100644 --- a/udp.c +++ b/udp.c @@ -142,7 +142,7 @@ static int mcast_bind(int fd, int index) static int mcast_join(int fd, int index, const struct sockaddr *grp, socklen_t grplen) { - int err; + int err, off = 0; struct ip_mreqn req; struct sockaddr_in *sa = (struct sockaddr_in *) grp; @@ -154,6 +154,11 @@ static int mcast_join(int fd, int index, const struct sockaddr *grp, pr_err("setsockopt IP_ADD_MEMBERSHIP failed: %m"); return -1; } + err = setsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP, &off, sizeof(off)); + if (err) { + pr_err("setsockopt IP_MULTICAST_LOOP failed: %m"); + return -1; + } return 0; }