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