code: def _find_interfaces_mac(ip):  # pylint: disable=invalid-name
      '''
      Helper to get the interfaces hardware address using the IP Address.
      '''
      all_interfaces = _get_mine('net.interfaces')
      all_ipaddrs = _get_mine('net.ipaddrs')
  
      for device, device_ipaddrs in six.iteritems(all_ipaddrs):
          if not device_ipaddrs.get('result', False):
              continue
          for interface, interface_ipaddrs in six.iteritems(device_ipaddrs.get('out', {})):
              ip_addresses = interface_ipaddrs.get('ipv4', {}).keys()
              ip_addresses.extend(interface_ipaddrs.get('ipv6', {}).keys())
              for ipaddr in ip_addresses:
                  if ip != ipaddr:
                      continue
                  interface_mac = all_interfaces.get(device, {}).get('out', {}).get(interface, {}).get('mac_address', '')
                  return device, interface, interface_mac
  
      return ('', '', ''f _find_interfaces_mac(ip):  # pylint: disable=invalid-name
      '''
      Helper to get the interfaces hardware address using the IP Address.
      '''
      all_interfaces = _get_mine('net.interfaces')
      all_ipaddrs = _get_mine('net.ipaddrs')
  
      for device, device_ipaddrs in six.iteritems(all_ipaddrs):
          if not device_ipaddrs.get('result', False):
              continue
          for interface, interface_ipaddrs in six.iteritems(device_ipaddrs.get('out', {})):
              ip_addresses = interface_ipaddrs.get('ipv4', {}).keys()
              ip_addresses.extend(interface_ipaddrs.get('ipv6', {}).keys())
              for ipaddr in ip_addresses:
                  if ip != ipaddr:
                      continue
                  interface_mac = all_interfaces.get(device, {}).get('out', {}).get(interface, {}).get('mac_address', '')
                  return device, interface, interface_mac
  
      return ('', '', '')
docs: Helper to get the interfaces hardware address using the IP Address.