diff options
author | Beniamino Galvani <bgalvani@redhat.com> | 2018-05-08 14:05:22 +0200 |
---|---|---|
committer | Beniamino Galvani <bgalvani@redhat.com> | 2018-05-08 14:05:22 +0200 |
commit | 1dc22b7da117f86584466a8f5aeb0ceea647024d (patch) | |
tree | e026d2c606c03e1fde3b8aa1dd9eeb2f61bb7d36 | |
parent | 9e7a324916ba58f5e3b75b71d1a21a5e96d8a99b (diff) | |
download | NetworkManager-bg/rh1575944.tar.gz |
device: start IP configuration when master carrier goes upbg/rh1575944
If the master has no carrier in act_stage3_ip6_config_start(), we set
IP state WAIT and wait until carrier goes up before starting IP
configuration.
However, in carrier_changed if the device state is ACTIVATED we only
call nm_device_update_dynamic_ip_setup(), which just restarts DHCP.
Instead, let's first restart DHCP and then also continue with IP
configuration if needed.
Fixes: b0f6baad90a3d8b571a56cc255ad49d9fa26d874
https://bugzilla.redhat.com/show_bug.cgi?id=1575944
-rw-r--r-- | src/devices/nm-device.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index 02f631761a..1f20cda4c3 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -3093,12 +3093,10 @@ carrier_changed (NMDevice *self, gboolean carrier) * is restored. */ if (priv->state == NM_DEVICE_STATE_ACTIVATED) nm_device_update_dynamic_ip_setup (self); - else { - if (nm_device_activate_ip4_state_in_wait (self)) - nm_device_activate_stage3_ip4_start (self); - if (nm_device_activate_ip6_state_in_wait (self)) - nm_device_activate_stage3_ip6_start (self); - } + if (nm_device_activate_ip4_state_in_wait (self)) + nm_device_activate_stage3_ip4_start (self); + if (nm_device_activate_ip6_state_in_wait (self)) + nm_device_activate_stage3_ip6_start (self); return; } /* fall-through and change state of device */ |