device: preserve the DHCPv6 mode when renewing the lease

(cherry picked from commit 1460054815)
This commit is contained in:
Beniamino Galvani 2021-02-01 16:32:01 +01:00
parent daad4e2fee
commit eacd1dacfa

View file

@ -9862,13 +9862,16 @@ gboolean
nm_device_dhcp6_renew(NMDevice *self, gboolean release) nm_device_dhcp6_renew(NMDevice *self, gboolean release)
{ {
NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE(self); NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE(self);
NMNDiscDHCPLevel mode;
g_return_val_if_fail(priv->dhcp_data_6.client != NULL, FALSE); g_return_val_if_fail(priv->dhcp_data_6.client != NULL, FALSE);
_LOGI(LOGD_DHCP6, "DHCPv6 lease renewal requested"); _LOGI(LOGD_DHCP6, "DHCPv6 lease renewal requested");
/* Terminate old DHCP instance and release the old lease */ /* Terminate old DHCP instance and release the old lease */
mode = priv->dhcp6.mode;
dhcp6_cleanup(self, CLEANUP_TYPE_DECONFIGURE, release); dhcp6_cleanup(self, CLEANUP_TYPE_DECONFIGURE, release);
priv->dhcp6.mode = mode;
/* Start DHCP again on the interface */ /* Start DHCP again on the interface */
return dhcp6_start(self, FALSE); return dhcp6_start(self, FALSE);