diff --git a/src/dhcp-manager/nm-dhcp-client.c b/src/dhcp-manager/nm-dhcp-client.c index 6bf905897..5cebaa84e 100644 --- a/src/dhcp-manager/nm-dhcp-client.c +++ b/src/dhcp-manager/nm-dhcp-client.c @@ -915,6 +915,11 @@ nm_dhcp_client_get_ip4_config (NMDHCPClient *self, gboolean test) return NULL; } + if (!g_hash_table_size (priv->options)) { + /* We never got a response from the DHCP client */ + return NULL; + } + return ip4_options_to_config (self); } @@ -1048,6 +1053,11 @@ nm_dhcp_client_get_ip6_config (NMDHCPClient *self, gboolean test) return NULL; } + if (!g_hash_table_size (priv->options)) { + /* We never got a response from the DHCP client */ + return NULL; + } + return ip6_options_to_config (self); } diff --git a/src/nm-system.c b/src/nm-system.c index 20d06b83a..726da0a82 100644 --- a/src/nm-system.c +++ b/src/nm-system.c @@ -486,18 +486,23 @@ nm_system_device_set_ip6_route (const char *iface, /* Add the route */ err = rtnl_route_add (nlh, route, 0); +g_message ("%s: 1 err %d", __func__, err); if (err == -ESRCH && ip6_gateway) { /* Gateway might be over a bridge; try adding a route to gateway first */ struct rtnl_route *route2; +g_message ("%s: 2", __func__); route2 = create_route (iface_idx, mss); if (route2) { +g_message ("%s: 3", __func__); /* Add route to gateway over bridge */ rtnl_route_set_dst (route2, gw_addr); err = rtnl_route_add (nlh, route2, 0); +g_message ("%s: 4 err %d", __func__, err); if (!err) { /* Try adding the route again */ err = rtnl_route_add (nlh, route, 0); +g_message ("%s: 5 err %d", __func__, err); if (err) rtnl_route_del (nlh, route2, 0); }