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 <marcus@marcusspencer.us>
This commit is contained in:
Marcus B Spencer
2025-12-18 01:58:06 -06:00
committed by GitHub
parent e5dfd2c549
commit 801ef0e22d

View File

@@ -129,6 +129,11 @@ func readMulticasts(ctx context.Context, outbox chan<- recv, addr string) error
pconn := ipv6.NewPacketConn(conn) pconn := ipv6.NewPacketConn(conn)
joined := 0 joined := 0
for _, intf := range intfs { 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}) err := pconn.JoinGroup(&intf, &net.UDPAddr{IP: gaddr.IP})
if err != nil { if err != nil {
l.Debugln("IPv6 join", intf.Name, "failed:", err) l.Debugln("IPv6 join", intf.Name, "failed:", err)