summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2020-06-22 12:00:22 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2020-06-24 10:37:31 +0200
commita39eb9ac148dc5566a908d65833033d74da8f16d (patch)
tree3cc48ecd303e7fab16032eee5e9f0b7ff38baa19
parentf6d654b18f059a0fe2ba82ae05c0c22295c86af4 (diff)
downloadNetworkManager-bg/initrd-ipv6.tar.gz
initrd: set ipv6.method=auto when the autoconfiguration field is 'none'bg/initrd-ipv6
The 7th field of: ip=<client-IP>:[<peer>]:<gateway-IP>:<netmask>:<client_hostname>:<interface>:{none|off|dhcp|on|any|dhcp6|auto6|ibft}:[:[<mtu>][:<macaddr>]] specifies which kind of autoconfiguration to do. 'none' and 'off' mean static addresses. The old network module of dracut used to leave kernel IPv6 autoconfiguration enabled when IPv4 static addresses were configured. With NM, this corresponds to enabling IPv6 auto method. https://bugzilla.redhat.com/show_bug.cgi?id=1848943
-rw-r--r--src/initrd/nmi-cmdline-reader.c2
-rw-r--r--src/initrd/tests/test-cmdline-reader.c7
2 files changed, 7 insertions, 2 deletions
diff --git a/src/initrd/nmi-cmdline-reader.c b/src/initrd/nmi-cmdline-reader.c
index 2f4a8582fb..69e5e56d07 100644
--- a/src/initrd/nmi-cmdline-reader.c
+++ b/src/initrd/nmi-cmdline-reader.c
@@ -464,7 +464,7 @@ reader_parse_ip (Reader *reader, const char *sysfs_dir, char *argument)
if (NM_IN_STRSET (kind, "none", "off")) {
if (nm_setting_ip_config_get_num_addresses (s_ip6) == 0) {
g_object_set (s_ip6,
- NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_DISABLED,
+ NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_AUTO,
NULL);
}
if (nm_setting_ip_config_get_num_addresses (s_ip4) == 0) {
diff --git a/src/initrd/tests/test-cmdline-reader.c b/src/initrd/tests/test-cmdline-reader.c
index 74a6e65cd2..110770554c 100644
--- a/src/initrd/tests/test-cmdline-reader.c
+++ b/src/initrd/tests/test-cmdline-reader.c
@@ -186,7 +186,7 @@ test_if_ip4_manual (void)
{
gs_unref_hashtable GHashTable *connections = NULL;
const char *const*ARGV = NM_MAKE_STRV ("ip=192.0.2.2::192.0.2.1:255.255.255.0:"
- "hostname0.example.com:eth3::192.0.2.53",
+ "hostname0.example.com:eth3:none:192.0.2.53",
"ip=203.0.113.2::203.0.113.1:26:"
"hostname1.example.com:eth4");
NMConnection *connection;
@@ -220,6 +220,11 @@ test_if_ip4_manual (void)
g_assert_cmpstr (nm_setting_ip_config_get_gateway (s_ip4), ==, "192.0.2.1");
g_assert_cmpstr (nm_setting_ip_config_get_dhcp_hostname (s_ip4), ==, "hostname0.example.com");
+ s_ip6 = nm_connection_get_setting_ip6_config (connection);
+ g_assert (s_ip6);
+ g_assert_cmpstr (nm_setting_ip_config_get_method (s_ip6), ==, NM_SETTING_IP6_CONFIG_METHOD_AUTO);
+ g_assert (nm_setting_ip_config_get_may_fail (s_ip6));
+
connection = g_hash_table_lookup (connections, "eth4");
g_assert (connection);
nmtst_assert_connection_verifies_without_normalization (connection);