Blame SOURCES/0023-ppp-don-t-start-IPv6-configuration-rh1515829.patch

c48088
From a5f395ec33af68cb924b797fed833d472ce090b1 Mon Sep 17 00:00:00 2001
c48088
From: Beniamino Galvani <bgalvani@redhat.com>
c48088
Date: Tue, 6 Feb 2018 10:04:53 +0100
c48088
Subject: [PATCH] ppp: don't start IPv6 configuration on the device
c48088
c48088
If IPV6CP terminates before IPCP, pppd enters the RUNNING phase and we
c48088
start IP configuration without having an IP interface set, which
c48088
triggers assertions. Instead, reimplement stage3_ip6_config_start to
c48088
be a no-op. Note that IPv6 configuration on PPP devices has never been
c48088
supported by NM.
c48088
c48088
This is a simpler version of upstream commit dd98ada33f33 ("ppp:
c48088
introduce SetIfindex pppd plugin D-Bus method") that doesn't require
c48088
changing the internal plugin API.
c48088
c48088
https://bugzilla.redhat.com/show_bug.cgi?id=1515829
c48088
(cherry picked from commit 258f4fc76961f564c5d63d1eaf5246b21c2d0ce0)
c48088
---
c48088
 src/devices/nm-device-ppp.c | 9 +++++++++
c48088
 1 file changed, 9 insertions(+)
c48088
c48088
diff --git a/src/devices/nm-device-ppp.c b/src/devices/nm-device-ppp.c
c48088
index 8b3968d51..639ec44a7 100644
c48088
--- a/src/devices/nm-device-ppp.c
c48088
+++ b/src/devices/nm-device-ppp.c
c48088
@@ -207,6 +207,14 @@ act_stage3_ip4_config_start (NMDevice *device,
c48088
 	return NM_ACT_STAGE_RETURN_POSTPONE;
c48088
 }
c48088
 
c48088
+static NMActStageReturn
c48088
+act_stage3_ip6_config_start (NMDevice *self,
c48088
+                             NMIP6Config **out_config,
c48088
+                             NMDeviceStateReason *out_failure_reason)
c48088
+{
c48088
+	return NM_ACT_STAGE_RETURN_IP_FAIL;
c48088
+}
c48088
+
c48088
 static gboolean
c48088
 create_and_realize (NMDevice *device,
c48088
                     NMConnection *connection,
c48088
@@ -273,6 +281,7 @@ nm_device_ppp_class_init (NMDevicePppClass *klass)
c48088
 
c48088
 	parent_class->act_stage2_config = act_stage2_config;
c48088
 	parent_class->act_stage3_ip4_config_start = act_stage3_ip4_config_start;
c48088
+	parent_class->act_stage3_ip6_config_start = act_stage3_ip6_config_start;
c48088
 	parent_class->check_connection_compatible = check_connection_compatible;
c48088
 	parent_class->create_and_realize = create_and_realize;
c48088
 	parent_class->deactivate = deactivate;
c48088
-- 
c48088
2.14.3
c48088