mirror of
				https://github.com/yggdrasil-network/yggdrasil-go.git
				synced 2025-10-31 08:25:55 +00:00 
			
		
		
		
	save only the link-local addresses for multicast
This commit is contained in:
		| @@ -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 | ||||||
| 		} | 		} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Arceliar
					Arceliar