Re: [PATCH] ifcfg-rh: Enable IPv6 by default and make IPv4 optional
- From: Dan Williams <dcbw redhat com>
- To: Tore Anderson <tore fud no>
- Cc: networkmanager-list gnome org
- Subject: Re: [PATCH] ifcfg-rh: Enable IPv6 by default and make IPv4 optional
- Date: Fri, 26 Aug 2011 15:25:44 -0500
On Sun, 2011-08-07 at 18:39 +0200, Tore Anderson wrote:
> This patch changes the default values of the IPV6INIT and
> IPV4_FAILURE_FATAL ifcfg variables, which allows a Fedora/Red Hat host
> to, with no manual configuration necessary, successfully connect to an
> IPv6-only network, as well as learn DHCPv6-provided information (such as
> DNS servers and IP addresses) when connecting to a dual-stacked network.
>
> It also changes the semantics of an ifcfg file that has only IPv6 layer
> 3 configuration settings (no IPv4) slightly, in this case DHCPv4 will be
> performed. Before, this configuration would lead to IPv4 being disabled.
> In order for IPv4 to be disabled when IPv6 is explicitly enabled, the
> BOOTPROTO variable must be set to NONE.
Is the change in behavior of IPv4 consistent with what ifup does? Or
can you explain a bit more the reason for this change? The rest of the
patch is great, and now is the time to flip IPv6 on by default for
real :)
Dan
> diff --git a/src/settings/plugins/ifcfg-rh/reader.c b/src/settings/plugins/ifcfg-rh/reader.c
> index cdf5889..9ff5af2 100644
> --- a/src/settings/plugins/ifcfg-rh/reader.c
> +++ b/src/settings/plugins/ifcfg-rh/reader.c
> @@ -1204,9 +1204,8 @@ make_ip4_setting (shvarFile *ifcfg,
> char *tmp_ip4_1, *tmp_prefix_1, *tmp_netmask_1;
> char *tmp_ip4_2, *tmp_prefix_2, *tmp_netmask_2;
>
> - /* If there is no BOOTPROTO, no IPADDR, no PREFIX, no NETMASK, but
> - * valid IPv6 configuration, assume that IPv4 is disabled. Otherwise,
> - * if there is no IPv6 configuration, assume DHCP is to be used.
> + /* If there is no BOOTPROTO, no IPADDR, no PREFIX, no NETMASK, assume
> + * that DHCP is to be used.
> * Happens with minimal ifcfg files like the following that anaconda
> * sometimes used to write out:
> *
> @@ -1230,11 +1229,7 @@ make_ip4_setting (shvarFile *ifcfg,
> && !tmp_ip4_0 && !tmp_prefix_0 && !tmp_netmask_0
> && !tmp_ip4_1 && !tmp_prefix_1 && !tmp_netmask_1
> && !tmp_ip4_2 && !tmp_prefix_2 && !tmp_netmask_2) {
> - if (valid_ip6_config)
> - /* Nope, no IPv4 */
> - method = NM_SETTING_IP4_CONFIG_METHOD_DISABLED;
> - else
> - method = NM_SETTING_IP4_CONFIG_METHOD_AUTO;
> + method = NM_SETTING_IP4_CONFIG_METHOD_AUTO;
> }
> g_free (tmp_ip4);
> g_free (tmp_prefix);
> @@ -1255,7 +1250,7 @@ make_ip4_setting (shvarFile *ifcfg,
> NM_SETTING_IP4_CONFIG_IGNORE_AUTO_DNS, !svTrueValue (ifcfg, "PEERDNS", TRUE),
> NM_SETTING_IP4_CONFIG_IGNORE_AUTO_ROUTES, !svTrueValue (ifcfg, "PEERROUTES", TRUE),
> NM_SETTING_IP4_CONFIG_NEVER_DEFAULT, never_default,
> - NM_SETTING_IP4_CONFIG_MAY_FAIL, !svTrueValue (ifcfg, "IPV4_FAILURE_FATAL", TRUE),
> + NM_SETTING_IP4_CONFIG_MAY_FAIL, !svTrueValue (ifcfg, "IPV4_FAILURE_FATAL", FALSE),
> NULL);
>
> if (strcmp (method, NM_SETTING_IP4_CONFIG_METHOD_DISABLED) == 0)
> @@ -1476,11 +1471,11 @@ make_ip6_setting (shvarFile *ifcfg,
> /* Find out method property */
> /* Is IPV6 enabled? Set method to "ignored", when not enabled */
> str_value = svGetValue (ifcfg, "IPV6INIT", FALSE);
> - ipv6init = svTrueValue (ifcfg, "IPV6INIT", FALSE);
> + ipv6init = svTrueValue (ifcfg, "IPV6INIT", TRUE);
> if (!str_value) {
> network_ifcfg = svNewFile (network_file);
> if (network_ifcfg) {
> - ipv6init = svTrueValue (network_ifcfg, "IPV6INIT", FALSE);
> + ipv6init = svTrueValue (network_ifcfg, "IPV6INIT", TRUE);
> svCloseFile (network_ifcfg);
> }
> }
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]