28 lines
1.3 KiB
Diff
28 lines
1.3 KiB
Diff
|
commit 9543e45afe0746ac1c9c10e4f78f43264fd288b4
|
||
|
Author: Dan Williams <dcbw@redhat.com>
|
||
|
Date: Mon Oct 7 11:40:16 2013 -0500
|
||
|
|
||
|
core: allow IPv4 to proceed if IPv6 is globally disabled but set to "auto" (rh #1012151)
|
||
|
|
||
|
If the user disabled IPv6 support in the kernel with "ipv6.disable=1" on the
|
||
|
kernel boot line, then any attempts to open IPv6 sockets (which libndp does)
|
||
|
will fail. This failed the entire connection, even if IPv6's "may-fail"
|
||
|
property was TRUE. Instead, just fail IPv6 and allow IPv4 to proceed. If
|
||
|
IPv4 fails or is disabled, then other logic will fail the entire connection.
|
||
|
|
||
|
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
|
||
|
index d99b3d7..6810afc 100644
|
||
|
--- a/src/devices/nm-device.c
|
||
|
+++ b/src/devices/nm-device.c
|
||
|
@@ -3329,8 +3329,8 @@ act_stage3_ip6_config_start (NMDevice *self,
|
||
|
if ( strcmp (method, NM_SETTING_IP6_CONFIG_METHOD_AUTO) == 0
|
||
|
|| strcmp (method, NM_SETTING_IP6_CONFIG_METHOD_LINK_LOCAL) == 0) {
|
||
|
if (!addrconf6_start (self)) {
|
||
|
- *reason = NM_DEVICE_STATE_REASON_IP_CONFIG_UNAVAILABLE;
|
||
|
- ret = NM_ACT_STAGE_RETURN_FAILURE;
|
||
|
+ /* IPv6 might be disabled; allow IPv4 to proceed */
|
||
|
+ ret = NM_ACT_STAGE_RETURN_STOP;
|
||
|
} else
|
||
|
ret = NM_ACT_STAGE_RETURN_POSTPONE;
|
||
|
} else if (strcmp (method, NM_SETTING_IP6_CONFIG_METHOD_DHCP) == 0) {
|