You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.9 KiB
51 lines
1.9 KiB
From d07570b2dad62b582f39310f4abea036060f85a0 Mon Sep 17 00:00:00 2001 |
|
From: Beniamino Galvani <bgalvani@redhat.com> |
|
Date: Thu, 18 Jan 2018 11:43:09 +0100 |
|
Subject: [PATCH] device: skip IP configuration phase for external devices |
|
|
|
We already avoid committing the IP configuration for external devices |
|
(see commit 60334a2893fe). However, we still start DHCP/IPv6-autoconf |
|
and, especially, we change sysctl values of the device. |
|
|
|
To be sure that no action is taken on the device, return early from |
|
the IP configuration phase, as in the method=disabled/ignore case. |
|
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=1530288 |
|
(cherry picked from commit 22f32a16f5aa0a24fd124ad5788959936e22acff) |
|
(cherry picked from commit a169247b7dda0c27707861e6cbc808ecfd4c5e85) |
|
--- |
|
src/devices/nm-device.c | 12 ++++++++++++ |
|
1 file changed, 12 insertions(+) |
|
|
|
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c |
|
index babef21ad..b3b31ea45 100644 |
|
--- a/src/devices/nm-device.c |
|
+++ b/src/devices/nm-device.c |
|
@@ -8159,6 +8159,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) { |
|
@@ -8200,6 +8206,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) { |
|
-- |
|
2.14.3
|
|
|