mirror of
https://github.com/yggdrasil-network/yggdrasil-go.git
synced 2024-11-23 18:15:24 +00:00
save only the link-local addresses for multicast
This commit is contained in:
parent
de79401bb2
commit
95f4ec52a4
@ -292,15 +292,15 @@ func (m *Multicast) _updateInterfaces() {
|
|||||||
aInfo.addrs, _ = iface.Addrs()
|
aInfo.addrs, _ = iface.Addrs()
|
||||||
aInfo.time = time.Now()
|
aInfo.time = time.Now()
|
||||||
}
|
}
|
||||||
hasLLAddr := false
|
lladdrs := aInfo.addrs[:0]
|
||||||
for _, addr := range aInfo.addrs {
|
for _, addr := range aInfo.addrs {
|
||||||
addrIP, _, _ := net.ParseCIDR(addr.String())
|
addrIP, _, _ := net.ParseCIDR(addr.String())
|
||||||
if addrIP.To4() == nil && addrIP.IsLinkLocalUnicast() {
|
if addrIP.To4() == nil && addrIP.IsLinkLocalUnicast() {
|
||||||
hasLLAddr = true
|
lladdrs = append(lladdrs, addr)
|
||||||
break
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !hasLLAddr {
|
aInfo.addrs = lladdrs
|
||||||
|
if len(lladdrs) == 0 {
|
||||||
// Ignore interfaces without link-local addresses
|
// Ignore interfaces without link-local addresses
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user