summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2014-12-16 14:38:17 -0600
committerThomas Haller <thaller@redhat.com>2014-12-16 21:58:56 +0100
commit495871c639ae9cc03dd0a3d825a865210af4f326 (patch)
tree7d1b43c5c44f5d69d6bc7ef31ac86e887913eea1
parent8dd6a3b60075700ce2c0976670bd1d55fd5ae135 (diff)
downloadNetworkManager-495871c639ae9cc03dd0a3d825a865210af4f326.tar.gz
core: don't bounce disable_ipv6 if NM IPv6LL wasn't enabled (bgo #740702)
If NM IPv6LL wasn't enabled then there is no need to bounce disable_ipv6 to tell the kernel to re-enable kernel IPv6LL, because kernel IPv6LL is already enabled. https://bugzilla.gnome.org/show_bug.cgi?id=740702
-rw-r--r--src/devices/nm-device.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index c04a973877..2b66e143fb 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -4411,12 +4411,15 @@ act_stage3_ip6_config_start (NMDevice *self,
if (strcmp (method, NM_SETTING_IP6_CONFIG_METHOD_IGNORE) == 0) {
if (!priv->master) {
+ gboolean old_nm_ipv6ll = priv->nm_ipv6ll;
+
/* When activating an IPv6 'ignore' connection we need to revert back
* to kernel IPv6LL, but the kernel won't actually assign an address
* to the interface until disable_ipv6 is bounced.
*/
set_nm_ipv6ll (self, FALSE);
- nm_device_ipv6_sysctl_set (self, "disable_ipv6", "1");
+ if (old_nm_ipv6ll == TRUE)
+ nm_device_ipv6_sysctl_set (self, "disable_ipv6", "1");
restore_ip6_properties (self);
}
return NM_ACT_STAGE_RETURN_STOP;