From 53ab715fb42012fb5ac62ac49278439a2b793624 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Sun, 31 May 2020 17:55:57 +0100 Subject: [PATCH] Store interface info --- src/multicast/multicast_linux.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/multicast/multicast_linux.go b/src/multicast/multicast_linux.go index 76c614da..f0731f06 100644 --- a/src/multicast/multicast_linux.go +++ b/src/multicast/multicast_linux.go @@ -32,6 +32,9 @@ func (m *Multicast) _multicastStarted() { go func() { defer fmt.Println("No longer listening for netlink changes") for { + current := m.config.GetCurrent() + exprs := current.MulticastInterfaces + select { case change := <-linkChanges: attrs := change.Attrs() @@ -56,8 +59,13 @@ func (m *Multicast) _multicastStarted() { if add { m.Act(nil, func() { fmt.Println("Link added:", attrs.Name) - if intf, err := net.InterfaceByName(attrs.Name); err == nil { - m._interfaces[attrs.Name] = intf + if iface, err := net.InterfaceByName(attrs.Name); err == nil { + if addrs, err := iface.Addrs(); err == nil { + m._interfaces[attrs.Name] = interfaceInfo{ + iface: iface, + addrs: addrs, + } + } } }) } else {