func findAddrInRange()

in internal/network/network.go [168:179]


func findAddrInRange(af string, addrs []net.Addr) (*net.IP, error) {
	for _, a := range addrs {

		ipnet, ok := a.(*net.IPNet)
		if ok && !(ipnet.IP.IsLoopback() || ipnet.IP.IsMulticast() || ipnet.IP.IsLinkLocalUnicast()) {
			if (ipnet.IP.To4() != nil && af == "ip4") || (ipnet.IP.To4() == nil && af == "ip6") {
				return &ipnet.IP, nil
			}
		}
	}
	return nil, errors.Errorf("could not find a source address in %s address family", af)
}