From 801ef0e22d354b23180508b4bde7f2537418569c Mon Sep 17 00:00:00 2001 From: Marcus B Spencer Date: Thu, 18 Dec 2025 01:58:06 -0600 Subject: [PATCH] fix(beacon): don't join multicast groups on non-multicast interfaces (fixes #10497) (#10498) fix(beacon): don't join multicast groups on non-multicast interfaces Signed-off-by: Marcus B Spencer --- lib/beacon/multicast.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/beacon/multicast.go b/lib/beacon/multicast.go index edaa5df56..cbce411e2 100644 --- a/lib/beacon/multicast.go +++ b/lib/beacon/multicast.go @@ -129,6 +129,11 @@ func readMulticasts(ctx context.Context, outbox chan<- recv, addr string) error pconn := ipv6.NewPacketConn(conn) joined := 0 for _, intf := range intfs { + if intf.Flags&net.FlagMulticast == 0 { + slog.DebugContext(ctx, "Not joining multicast group on non-multicast interface", "name", intf.Name, slog.String("flags", intf.Flags.String())) + continue + } + err := pconn.JoinGroup(&intf, &net.UDPAddr{IP: gaddr.IP}) if err != nil { l.Debugln("IPv6 join", intf.Name, "failed:", err)