From 20ee48a7eb3c52034983eed5bfb1836e2e38efde Mon Sep 17 00:00:00 2001 From: Chris <103056583+gritsly@users.noreply.github.com> Date: Wed, 3 Dec 2025 09:58:45 +0000 Subject: [PATCH] disable multicast loopback on the send socket --- proxy/src/forwarder.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/proxy/src/forwarder.rs b/proxy/src/forwarder.rs index aa897255..6ffe4024 100644 --- a/proxy/src/forwarder.rs +++ b/proxy/src/forwarder.rs @@ -326,6 +326,8 @@ pub fn start_multicast_forwarder_thread( match try_create_ipv6_socket(ipv6_addr) { Ok(socket) => { info!("Successfully bound send socket to IPv6 dual-stack address."); + socket.set_multicast_loop_v6(false) + .expect("Failed to disable IPv6 multicast loopback"); socket } Err(e) if e.raw_os_error() == Some(libc::EAFNOSUPPORT) => { @@ -335,6 +337,8 @@ pub fn start_multicast_forwarder_thread( let socket = UdpSocket::bind(ipv4_addr) .expect("Failed to bind to IPv4 socket after IPv6 failed"); socket.set_multicast_ttl_v4(IP_MULTICAST_TTL).expect("IP_MULTICAST_TTL_V4"); + socket.set_multicast_loop_v4(false) + .expect("Failed to disable IPv4 multicast loopback"); socket } Err(e) => {