code: def get_iface_from_addr(addr):
      
      for iface in netifaces.interfaces():
          addresses = netifaces.ifaddresses(iface)
          for inet_type in addresses:
              for _addr in addresses[inet_type]:
                  _addr = _addr['addr']
                  # link local
                  ll_key = re.compile("(.+)%.*")
                  raw = re.match(ll_key, _addr)
                  if raw:
                      _addr = raw.group(1)
  
                  if _addr == addr:
                      log("Address '%s' is configured on iface '%s'" %
                          (addr, iface))
                      return iface
  
      msg = "Unable to infer net iface on which '%s' is configured" % (addr)
      raise Exception(msg)
docs: Work out on which interface the provided address is configured.