initrd: set ipv6.method=auto when the autoconfiguration field is 'none'
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
(cherry picked from commit a39eb9ac14
)
This commit is contained in:
@@ -464,7 +464,7 @@ reader_parse_ip (Reader *reader, const char *sysfs_dir, char *argument)
|
|||||||
if (NM_IN_STRSET (kind, "none", "off")) {
|
if (NM_IN_STRSET (kind, "none", "off")) {
|
||||||
if (nm_setting_ip_config_get_num_addresses (s_ip6) == 0) {
|
if (nm_setting_ip_config_get_num_addresses (s_ip6) == 0) {
|
||||||
g_object_set (s_ip6,
|
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);
|
NULL);
|
||||||
}
|
}
|
||||||
if (nm_setting_ip_config_get_num_addresses (s_ip4) == 0) {
|
if (nm_setting_ip_config_get_num_addresses (s_ip4) == 0) {
|
||||||
|
@@ -186,7 +186,7 @@ test_if_ip4_manual (void)
|
|||||||
{
|
{
|
||||||
gs_unref_hashtable GHashTable *connections = NULL;
|
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:"
|
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:"
|
"ip=203.0.113.2::203.0.113.1:26:"
|
||||||
"hostname1.example.com:eth4");
|
"hostname1.example.com:eth4");
|
||||||
NMConnection *connection;
|
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_gateway (s_ip4), ==, "192.0.2.1");
|
||||||
g_assert_cmpstr (nm_setting_ip_config_get_dhcp_hostname (s_ip4), ==, "hostname0.example.com");
|
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");
|
connection = g_hash_table_lookup (connections, "eth4");
|
||||||
g_assert (connection);
|
g_assert (connection);
|
||||||
nmtst_assert_connection_verifies_without_normalization (connection);
|
nmtst_assert_connection_verifies_without_normalization (connection);
|
||||||
|
Reference in New Issue
Block a user