diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index 233b1fd0f..b1e9fee32 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -8359,6 +8359,12 @@ nm_device_activate_stage3_ip4_start (NMDevice *self) g_assert (priv->ip4_state == IP_WAIT); + if (nm_device_sys_iface_state_is_external (self)) { + _set_ip_state (self, AF_INET, IP_DONE); + check_ip_state (self, FALSE); + return TRUE; + } + _set_ip_state (self, AF_INET, IP_CONF); ret = NM_DEVICE_GET_CLASS (self)->act_stage3_ip4_config_start (self, &ip4_config, &failure_reason); if (ret == NM_ACT_STAGE_RETURN_SUCCESS) { @@ -8400,6 +8406,12 @@ nm_device_activate_stage3_ip6_start (NMDevice *self) g_assert (priv->ip6_state == IP_WAIT); + if (nm_device_sys_iface_state_is_external (self)) { + _set_ip_state (self, AF_INET6, IP_DONE); + check_ip_state (self, FALSE); + return TRUE; + } + _set_ip_state (self, AF_INET6, IP_CONF); ret = NM_DEVICE_GET_CLASS (self)->act_stage3_ip6_config_start (self, &ip6_config, &failure_reason); if (ret == NM_ACT_STAGE_RETURN_SUCCESS) {