summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2015-11-09 11:44:09 +0100
committerLubomir Rintel <lkundrak@v3.sk>2015-11-11 19:43:42 +0100
commitd19cbabc141f485549a1eb7dbf94d167e3cbfa2e (patch)
tree20ebffa625cd3badd5e0261e43d49bc75b97dab9
parentae22a44ba0ed571a0757a034c2f6c0c0f3da2a34 (diff)
downloadNetworkManager-d19cbabc141f485549a1eb7dbf94d167e3cbfa2e.tar.gz
nm-device: only progress with ip-config if the device is still in IP_WAIT
The device might be a slave and not need any L3 configuration in which case it will move to IP_DONE: Running test bridge_manipulation_with_1000_slaves ... <debug> [1446834482.545396] [nm-dispatcher.c:304] dispatcher_results_process(): (121) 12-dhcpd succeeded <debug> [1446834482.545404] [nm-dispatcher.c:304] dispatcher_results_process(): (121) 20-chrony succeeded <debug> [1446834482.545481] [devices/nm-device.c:5374] nm_device_activate_stage3_ip_config_start(): [0x7fc77e1c0fc0] (port120): Activation: Stage 3 of 5 (IP Configure Start) started... <info> (port120): device state change: config -> ip-config (reason 'none') [50 70 0] <debug> [1446834482.545578] [devices/nm-device.c:1683] slave_state_changed(): [0x7fc77df77020] (bridge0): slave port120 state change 50 (config) -> 70 (ip-config) <debug> [1446834482.545629] [devices/nm-device.c:7955] nm_device_add_pending_action(): [0x7fc77e1c0fc0] (port120): add_pending_action (2): 'queued state change to secondaries' <debug> [1446834482.545642] [devices/nm-device.c:8806] nm_device_queue_state(): [0x7fc77e1c0fc0] (port120): queued state change to secondaries due to none (id 11380) ** NetworkManager:ERROR:devices/nm-device.c:5250:nm_device_activate_stage3_ip4_start: assertion failed: (priv->ip4_state == IP_WAIT) 5250 g_assert (priv->ip4_state == IP_WAIT); (gdb) print priv->ip4_state $1 = IP_DONE (gdb) print priv->master $3 = { ... master = 0x7fc77df77020, enslaved = 1, master_ready_handled = 1, master_ready_id = 0, is_master = 0, slaves = 0x0, ...} (cherry picked from commit f8973a7f4282d27a86239164e6ae121f0f7faabe)
-rw-r--r--src/devices/nm-device.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index 2676636ebb..254b676b90 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -5400,11 +5400,13 @@ nm_device_activate_stage3_ip_config_start (gpointer user_data)
}
/* IPv4 */
- if (!nm_device_activate_stage3_ip4_start (self))
+ if ( nm_device_activate_ip4_state_in_wait (self)
+ && !nm_device_activate_stage3_ip4_start (self))
goto out;
/* IPv6 */
- if (!nm_device_activate_stage3_ip6_start (self))
+ if ( nm_device_activate_ip6_state_in_wait (self)
+ && !nm_device_activate_stage3_ip6_start (self))
goto out;
nm_device_check_ip_failed (self, TRUE);