mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-24 01:40:38 +01:00
device: don't update disconnected devices routes after connectivity check
When the device is not activated it does not make sense to try to update its default route metric based on connectivity status. Fixes the following: nm_ip4_config_commit: assertion 'ifindex > 0' failed #0 raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37 #1 g_logv (breakpoint=1) at gmessages.c:324 #2 g_logv (log_domain=<> "NetworkManager", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at gmessages.c:1081 #3 g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at gmessages.c:1119 #4 g_return_if_fail_warning (log_domain=<optimized out>, pretty_function=<optimized out>, expression=<optimized out>) at gmessages.c:1128 #5 nm_ip4_config_commit (config=<> [NMIP4Config], ifindex=<optimized out>, routes_full_sync=<optimized out>, default_route_metric=-1) at src/nm-ip4-config.c:339 #6 nm_device_set_ip4_config (self=<> [NMDeviceTun], new_config=<> [NMIP4Config], default_route_metric=450, commit=1, routes_full_sync=<optimized out>) at src/devices/nm-device.c:9635 #7 ip4_config_merge_and_apply (self=<> [NMDeviceTun], config=0x0, commit=1) at src/devices/nm-device.c:5541 #8 update_connectivity_state (self=<> [NMDeviceTun], state=NM_CONNECTIVITY_NONE) at src/devices/nm-device.c:1743 #9 concheck_periodic_update (self=<> [NMDeviceTun]) at src/devices/nm-device.c:1872 #10 nm_device_set_ip4_config (self=<> [NMDeviceTun], new_config=0x0, default_route_metric=0, commit=1, routes_full_sync=1) at src/devices/nm-device.c:9669 #11 _cleanup_generic_post (self=<> [NMDeviceTun], cleanup_type=CLEANUP_TYPE_KEEP) at src/devices/nm-device.c:11863 #12 nm_device_cleanup (self=<> [NMDeviceTun], reason=NM_DEVICE_STATE_REASON_NOW_UNMANAGED, cleanup_type=<optimized out>) at src/devices/nm-device.c:12006 #13 _set_state_full (self=<> [NMDeviceTun], state=<optimized out>, reason=<optimized out>, quitting=<optimized out>) at src/devices/nm-device.c:12376 #14 nm_device_unrealize (self=<> [NMDeviceTun], remove_resources=<optimized out>, error=<>) at src/devices/nm-device.c:3183 #15 _platform_link_cb_idle (data=<>) at src/nm-manager.c:2359 #16 g_idle_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at gmain.c:5439 #17 g_main_context_dispatch (context=<>) at gmain.c:3152 #18 g_main_context_dispatch (context=<>) at gmain.c:3767 #19 g_main_context_iterate (context=<>, block=1, dispatch=1, self=<optimized out>) a Fixes:6b7e9f9b22https://bugzilla.redhat.com/show_bug.cgi?id=1436978 (cherry picked from commite73c15eec9)
This commit is contained in:
parent
f7c72045b7
commit
7dc010606b
1 changed files with 6 additions and 4 deletions
|
|
@ -1740,10 +1740,12 @@ update_connectivity_state (NMDevice *self, NMConnectivityState state)
|
|||
priv->connectivity_state = state;
|
||||
_notify (self, PROP_CONNECTIVITY);
|
||||
|
||||
if (!ip4_config_merge_and_apply (self, NULL, TRUE))
|
||||
_LOGW (LOGD_IP4, "Failed to update IPv4 default route metric");
|
||||
if (!ip6_config_merge_and_apply (self, TRUE))
|
||||
_LOGW (LOGD_IP6, "Failed to update IPv6 default route metric");
|
||||
if (nm_device_get_state (self) == NM_DEVICE_STATE_ACTIVATED) {
|
||||
if (!ip4_config_merge_and_apply (self, NULL, TRUE))
|
||||
_LOGW (LOGD_IP4, "Failed to update IPv4 default route metric");
|
||||
if (!ip6_config_merge_and_apply (self, TRUE))
|
||||
_LOGW (LOGD_IP6, "Failed to update IPv6 default route metric");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue