diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c index 2b069777e8..8b55a2cdc2 100644 --- a/src/nm-ip4-config.c +++ b/src/nm-ip4-config.c @@ -1313,7 +1313,9 @@ nm_ip4_config_replace (NMIP4Config *dst, const NMIP4Config *src, gboolean *relev if (nm_platform_ip4_route_cmp (r_src, r_dst) != 0) { are_equal = FALSE; - if (!nm_ip_config_obj_id_equal_ip4_route (r_src, r_dst)) { + if ( !nm_ip_config_obj_id_equal_ip4_route (r_src, r_dst) + || r_src->gateway != r_dst->gateway + || r_src->metric != r_dst->metric) { has_relevant_changes = TRUE; break; } diff --git a/src/nm-ip6-config.c b/src/nm-ip6-config.c index 16b9ef0ea0..b376833f45 100644 --- a/src/nm-ip6-config.c +++ b/src/nm-ip6-config.c @@ -1193,7 +1193,9 @@ nm_ip6_config_replace (NMIP6Config *dst, const NMIP6Config *src, gboolean *relev if (nm_platform_ip6_route_cmp (r_src, r_dst) != 0) { are_equal = FALSE; - if (!nm_ip_config_obj_id_equal_ip6_route (r_src, r_dst)) { + if ( !nm_ip_config_obj_id_equal_ip6_route (r_src, r_dst) + || r_src->metric != r_dst->metric + || !IN6_ARE_ADDR_EQUAL (&r_src->gateway, &r_dst->gateway)) { has_relevant_changes = TRUE; break; }