diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c index f017a3e..9ad8116 100644 --- a/src/nm-ip4-config.c +++ b/src/nm-ip4-config.c @@ -3227,6 +3227,9 @@ out_addresses_cached: nm_assert (_route_valid (route)); + if (route->type_coerced != nm_platform_route_type_coerce (RTN_UNICAST)) + continue; + g_variant_builder_init (&route_builder, G_VARIANT_TYPE ("a{sv}")); g_variant_builder_add (&route_builder, "{sv}", "dest", diff --git a/src/nm-ip4-config.h b/src/nm-ip4-config.h index dc8222f..ea06174 100644 --- a/src/nm-ip4-config.h +++ b/src/nm-ip4-config.h @@ -83,7 +83,8 @@ nm_ip_config_best_default_route_is (const NMPObject *obj) * Note that this only considers the main routing table. */ return r && NM_PLATFORM_IP_ROUTE_IS_DEFAULT (r) - && nm_platform_route_table_is_main (r->table_coerced); + && nm_platform_route_table_is_main (r->table_coerced) + && r->type_coerced == nm_platform_route_type_coerce (1 /*RTN_UNICAST*/); } const NMPObject *_nm_ip_config_best_default_route_find_better (const NMPObject *obj_cur, const NMPObject *obj_cmp); diff --git a/src/nm-ip6-config.c b/src/nm-ip6-config.c index 1589cad..deb30e7 100644 --- a/src/nm-ip6-config.c +++ b/src/nm-ip6-config.c @@ -2682,6 +2682,9 @@ out_addresses_cached: nm_assert (_route_valid (route)); + if (route->type_coerced != nm_platform_route_type_coerce (RTN_UNICAST)) + continue; + g_variant_builder_init (&route_builder, G_VARIANT_TYPE ("a{sv}")); g_variant_builder_add (&route_builder, "{sv}", "dest",