def find_ip_and_mac(addresses, match = nil)
ip = nil; mac = nil; ip6 = nil
addresses.keys.each do |addr|
if match.nil?
ip = addr if addresses[addr]["family"].eql?("inet")
else
ip = addr if addresses[addr]["family"].eql?("inet") && network_contains_address(match, addr, addresses[addr])
end
ip6 = addr if addresses[addr]["family"].eql?("inet6") && addresses[addr]["scope"].eql?("Global")
mac = addr if addresses[addr]["family"].eql?("lladdr")
break if (ip and mac)
end
Ohai::Log.debug("Found IPv4 address #{ip} with MAC #{mac} #{match.nil? ? '' : 'matching address ' + match}")
Ohai::Log.debug("Found IPv6 address #{ip6}") if ip6
[ip, mac, ip6]
end