diff --git a/src/initrd/nmi-cmdline-reader.c b/src/initrd/nmi-cmdline-reader.c index c7a01aaea1..c32ef1cfea 100644 --- a/src/initrd/nmi-cmdline-reader.c +++ b/src/initrd/nmi-cmdline-reader.c @@ -59,6 +59,7 @@ add_conn (GHashTable *connections, g_object_set (setting, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_AUTO, NM_SETTING_IP_CONFIG_MAY_FAIL, TRUE, + NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE, (int) NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64, NULL); setting = nm_setting_connection_new (); diff --git a/src/initrd/nmi-dt-reader.c b/src/initrd/nmi-dt-reader.c index 612760de89..d2e571d7a8 100644 --- a/src/initrd/nmi-dt-reader.c +++ b/src/initrd/nmi-dt-reader.c @@ -290,6 +290,10 @@ nmi_dt_reader_parse (const char *sysfs_dir) s_ip6 = nm_setting_ip6_config_new (); nm_connection_add_setting (connection, s_ip6); + g_object_set (s_ip6, + NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE, (int) NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64, + NULL); + if (!bootp && dt_get_property (base, "chosen", "bootp-response", NULL, NULL)) bootp = TRUE; diff --git a/src/initrd/nmi-ibft-reader.c b/src/initrd/nmi-ibft-reader.c index 80961c19a6..ffce98fc40 100644 --- a/src/initrd/nmi-ibft-reader.c +++ b/src/initrd/nmi-ibft-reader.c @@ -157,6 +157,10 @@ ip_setting_add_from_block (GHashTable *nic, if (!s_ip6) { s_ip6 = (NMSettingIPConfig *) nm_setting_ip6_config_new (); nm_connection_add_setting (connection, (NMSetting *) s_ip6); + + g_object_set (s_ip6, + NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE, (int) NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64, + NULL); } family = guess_ip_address_family (s_ipaddr);