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.

52 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