mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-06 09:20:32 +01:00
dhcp: DHCPv6 OtherConf failures should not be fatal
OtherConf implies the address has already been delivered via RA, and possibly DNS too, meaning our IP configuration is already good enough. If nothing on the network bothers to reply to our DHCPv6 Information Requests, let's just run with the config we already have instead of tearing down the whole device.
This commit is contained in:
parent
20081816e1
commit
784d263170
1 changed files with 11 additions and 4 deletions
|
|
@ -3155,10 +3155,17 @@ dhcp6_fail (NMDevice *device, gboolean timeout)
|
|||
NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (device);
|
||||
|
||||
dhcp6_cleanup (device, TRUE, FALSE);
|
||||
if (timeout || (priv->ip6_state == IP_CONF))
|
||||
nm_device_activate_schedule_ip6_config_timeout (device);
|
||||
else if (priv->ip6_state == IP_FAIL)
|
||||
nm_device_state_changed (device, NM_DEVICE_STATE_FAILED, NM_DEVICE_STATE_REASON_IP_CONFIG_EXPIRED);
|
||||
|
||||
if (priv->dhcp6_mode == NM_RDISC_DHCP_LEVEL_MANAGED) {
|
||||
if (timeout || (priv->ip6_state == IP_CONF))
|
||||
nm_device_activate_schedule_ip6_config_timeout (device);
|
||||
else if (priv->ip6_state == IP_FAIL)
|
||||
nm_device_state_changed (device, NM_DEVICE_STATE_FAILED, NM_DEVICE_STATE_REASON_IP_CONFIG_EXPIRED);
|
||||
} else {
|
||||
/* not a hard failure; just live with the RA info */
|
||||
if (priv->ip6_state == IP_CONF)
|
||||
nm_device_activate_schedule_ip6_config_result (device);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue