Merge "conman: Fix slow connection checks."
diff --git a/conman/connection_manager.py b/conman/connection_manager.py
index 374d495..76a2d53 100755
--- a/conman/connection_manager.py
+++ b/conman/connection_manager.py
@@ -688,6 +688,10 @@
elif path == self._tmp_dir:
if filename.startswith(self.GATEWAY_FILE_PREFIX):
interface_name = filename.split(self.GATEWAY_FILE_PREFIX)[-1]
+ # If we get a new gateway file, we probably have a new subnet file, and
+ # we need the subnet in order to add the gateway route. So try to
+ # process the subnet file before doing anything further with this file.
+ self._process_file(path, self.SUBNET_FILE_PREFIX + interface_name)
ifc = self.interface_by_name(interface_name)
if ifc:
ifc.set_gateway_ip(contents)
diff --git a/conman/interface.py b/conman/interface.py
index 2d0fbbe..75e2631 100755
--- a/conman/interface.py
+++ b/conman/interface.py
@@ -83,6 +83,8 @@
return False
self.add_routes()
+ if 'default' not in self.current_routes():
+ return False
cmd = [self.CONNECTION_CHECK, '-I', self.name]
if check_acs: