code: def get_working_if():
      
      try:
          # return the interface associated with the route with smallest
          # mask (route by default if it exists)
          iface = min(conf.route.routes, key=lambda x: x[1])[3]
      except ValueError:
          # no route
          iface = scapy.consts.LOOPBACK_INTERFACE
      if iface.is_invalid():
          # Backup mode: try them all
          for iface in six.itervalues(IFACES):
              if not iface.is_invalid():
                  return iface
          return None
      return iface
docs: Return an interface that works