summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2021-08-19 09:02:25 +0200
committerThomas Haller <thaller@redhat.com>2021-08-19 09:02:25 +0200
commitb08eef9d385f8c39c43975c5900530e5258c1dae (patch)
tree25fd8d9ff8efae6a353710e0e86b1709cd87a43d
parent1abf512831324886192fe5de6e45cc4d493ecdc5 (diff)
parent8733d223430284fe54d13aa184a5b480f678b245 (diff)
downloadNetworkManager-b08eef9d385f8c39c43975c5900530e5258c1dae.tar.gz
ifcfg: merge branch 'th/ifcfg-ipv6-disabled-fix'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/962
-rw-r--r--src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c103
-rw-r--r--src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c37
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-wired-802-1X-subj-matches.cexpected2
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Bond_Main.cexpected3
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Permissions.cexpected3
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_LEAP.cexpected3
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_WEP_104_ASCII.cexpected3
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Static_Routes.cexpected2
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_match.cexpected2
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Vlan_test-vlan-interface.cexpected2
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection.cexpected2
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection_2.cexpected2
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ip6-disabled.cexpected2
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-sriov-write.cexpected3
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-static-routes-legacy.cexpected2
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc-write-empty.cexpected3
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc-write.cexpected3
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-vlanid-use.cexpected2
-rw-r--r--src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c28
19 files changed, 138 insertions, 69 deletions
diff --git a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
index dbfa65da97..aaf11777cd 100644
--- a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
+++ b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
@@ -1974,26 +1974,27 @@ make_ip4_setting(shvarFile *ifcfg,
/* DNS servers
* Pick up just IPv4 addresses (IPv6 addresses are taken by make_ip6_setting())
*/
- for (i = 1; i <= 10; i++) {
+ for (i = 1; i < 10000; i++) {
char tag[256];
numbered_tag(tag, "DNS", i);
nm_clear_g_free(&value);
v = svGetValueStr(ifcfg, tag, &value);
- if (v) {
- if (nm_utils_ipaddr_is_valid(AF_INET, v)) {
- if (!nm_setting_ip_config_add_dns(s_ip4, v))
- PARSE_WARNING("duplicate DNS server %s", tag);
- } else if (nm_utils_ipaddr_is_valid(AF_INET6, v)) {
- /* Ignore IPv6 addresses */
- } else {
- g_set_error(error,
- NM_SETTINGS_ERROR,
- NM_SETTINGS_ERROR_INVALID_CONNECTION,
- "Invalid DNS server address '%s'",
- v);
- return NULL;
- }
+ if (!v)
+ break;
+
+ if (nm_utils_ipaddr_is_valid(AF_INET, v)) {
+ if (!nm_setting_ip_config_add_dns(s_ip4, v))
+ PARSE_WARNING("duplicate DNS server %s", tag);
+ } else if (nm_utils_ipaddr_is_valid(AF_INET6, v)) {
+ /* Ignore IPv6 addresses */
+ } else {
+ g_set_error(error,
+ NM_SETTINGS_ERROR,
+ NM_SETTINGS_ERROR_INVALID_CONNECTION,
+ "Invalid DNS server address '%s'",
+ v);
+ return NULL;
}
}
@@ -2249,6 +2250,7 @@ make_ip6_setting(shvarFile *ifcfg, shvarFile *network_ifcfg, gboolean routes_rea
gboolean ip6_privacy = FALSE, ip6_privacy_prefer_public_ip;
NMSettingIP6ConfigPrivacy ip6_privacy_val;
guint32 route_table;
+ gboolean is_disabled;
s_ip6 = (NMSettingIPConfig *) nm_setting_ip6_config_new();
@@ -2375,10 +2377,9 @@ make_ip6_setting(shvarFile *ifcfg, shvarFile *network_ifcfg, gboolean routes_rea
NULL);
/* Don't bother to read IP, DNS and routes when IPv6 is disabled */
- if (NM_IN_STRSET(method,
- NM_SETTING_IP6_CONFIG_METHOD_IGNORE,
- NM_SETTING_IP6_CONFIG_METHOD_DISABLED))
- return NM_SETTING(g_steal_pointer(&s_ip6));
+ is_disabled = NM_IN_STRSET(method,
+ NM_SETTING_IP6_CONFIG_METHOD_IGNORE,
+ NM_SETTING_IP6_CONFIG_METHOD_DISABLED);
nm_clear_g_free(&value);
v = svGetValueStr(ifcfg, "DHCPV6_DUID", &value);
@@ -2438,15 +2439,23 @@ make_ip6_setting(shvarFile *ifcfg, shvarFile *network_ifcfg, gboolean routes_rea
NULL);
list = nm_strsplit_set(value, " ");
- for (iter = list, i = 0; iter && *iter; iter++, i++) {
- NMIPAddress *addr = NULL;
+ if (list) {
+ if (is_disabled)
+ PARSE_WARNING("ignore IPv6 addresses with method disabled/ignore");
+ else {
+ for (iter = list, i = 0; *iter; iter++, i++) {
+ nm_auto_unref_ip_address NMIPAddress *addr = NULL;
- if (!parse_full_ip6_address(ifcfg, *iter, i, &addr, error))
- return NULL;
+ if (!parse_full_ip6_address(ifcfg, *iter, i, &addr, is_disabled ? NULL : error)) {
+ if (is_disabled)
+ break;
+ return NULL;
+ }
- if (!nm_setting_ip_config_add_address(s_ip6, addr))
- PARSE_WARNING("duplicate IP6 address");
- nm_ip_address_unref(addr);
+ if (!nm_setting_ip_config_add_address(s_ip6, addr))
+ PARSE_WARNING("duplicate IP6 address");
+ }
+ }
}
/* Gateway */
@@ -2462,18 +2471,20 @@ make_ip6_setting(shvarFile *ifcfg, shvarFile *network_ifcfg, gboolean routes_rea
}
if (v) {
char *ptr;
+
if ((ptr = strchr(v, '%')) != NULL)
*ptr = '\0'; /* remove %interface prefix if present */
if (!nm_utils_ipaddr_is_valid(AF_INET6, v)) {
- g_set_error(error,
- NM_SETTINGS_ERROR,
- NM_SETTINGS_ERROR_INVALID_CONNECTION,
- "Invalid IP6 address '%s'",
- v);
- return NULL;
- }
-
- g_object_set(s_ip6, NM_SETTING_IP_CONFIG_GATEWAY, v, NULL);
+ if (!is_disabled) {
+ g_set_error(error,
+ NM_SETTINGS_ERROR,
+ NM_SETTINGS_ERROR_INVALID_CONNECTION,
+ "Invalid IP6 address '%s'",
+ v);
+ return NULL;
+ }
+ } else
+ g_object_set(s_ip6, NM_SETTING_IP_CONFIG_GATEWAY, v, NULL);
}
}
@@ -2497,23 +2508,27 @@ make_ip6_setting(shvarFile *ifcfg, shvarFile *network_ifcfg, gboolean routes_rea
/* DNS servers
* Pick up just IPv6 addresses (IPv4 addresses are taken by make_ip4_setting())
*/
- for (i = 1; i <= 10; i++) {
+ for (i = 1; i < 10000; i++) {
char tag[256];
numbered_tag(tag, "DNS", i);
nm_clear_g_free(&value);
v = svGetValueStr(ifcfg, tag, &value);
- if (!v) {
- /* all done */
+ if (!v)
break;
- }
if (nm_utils_ipaddr_is_valid(AF_INET6, v)) {
+ if (is_disabled) {
+ PARSE_WARNING("ignore DNS server addresses with method disabled/ignore");
+ break;
+ }
if (!nm_setting_ip_config_add_dns(s_ip6, v))
PARSE_WARNING("duplicate DNS server %s", tag);
} else if (nm_utils_ipaddr_is_valid(AF_INET, v)) {
/* Ignore IPv4 addresses */
} else {
+ if (is_disabled)
+ continue;
g_set_error(error,
NM_SETTINGS_ERROR,
NM_SETTINGS_ERROR_INVALID_CONNECTION,
@@ -2542,9 +2557,13 @@ make_ip6_setting(shvarFile *ifcfg, shvarFile *network_ifcfg, gboolean routes_rea
searches = nm_strsplit_set(v, " ");
if (searches) {
- for (iter = searches; *iter; iter++) {
- if (!nm_setting_ip_config_add_dns_search(s_ip6, *iter))
- PARSE_WARNING("duplicate DNS domain '%s'", *iter);
+ if (is_disabled) {
+ PARSE_WARNING("ignore IPV6_DOMAIN with method disabled/ignore");
+ } else {
+ for (iter = searches; *iter; iter++) {
+ if (!nm_setting_ip_config_add_dns_search(s_ip6, *iter))
+ PARSE_WARNING("duplicate DNS domain '%s'", *iter);
+ }
}
}
}
diff --git a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
index 9129c7acd8..d2358ba6c0 100644
--- a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
+++ b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
@@ -2685,12 +2685,11 @@ write_dns_setting(shvarFile *ifcfg, NMConnection *connection, int addr_family)
}
}
-static gboolean
+static void
write_ip4_setting(NMConnection *connection,
shvarFile * ifcfg,
shvarFile ** out_route_content_svformat,
- GString ** out_route_content,
- GError ** error)
+ GString ** out_route_content)
{
NMSettingIPConfig * s_ip4;
const char * value;
@@ -2713,7 +2712,7 @@ write_ip4_setting(NMConnection *connection,
s_ip4 = nm_connection_get_setting_ip4_config(connection);
if (!s_ip4)
- return TRUE;
+ return;
method = nm_setting_ip_config_get_method(s_ip4);
@@ -2722,7 +2721,7 @@ write_ip4_setting(NMConnection *connection,
method = NM_SETTING_IP4_CONFIG_METHOD_AUTO;
if (nm_streq(method, NM_SETTING_IP4_CONFIG_METHOD_DISABLED))
- return TRUE;
+ return;
num = nm_setting_ip_config_get_num_addresses(s_ip4);
@@ -2881,8 +2880,6 @@ write_ip4_setting(NMConnection *connection,
}
svSetValueStr(ifcfg, "DHCP_REJECT_SERVERS", str->str);
}
-
- return TRUE;
}
static void
@@ -2968,11 +2965,8 @@ write_ip4_aliases(NMConnection *connection, const char *base_ifcfg_path)
}
}
-static gboolean
-write_ip6_setting(NMConnection *connection,
- shvarFile * ifcfg,
- GString ** out_route6_content,
- GError ** error)
+static void
+write_ip6_setting(NMConnection *connection, shvarFile *ifcfg, GString **out_route6_content)
{
NMSettingIPConfig * s_ip6;
const char * value;
@@ -2991,17 +2985,15 @@ write_ip6_setting(NMConnection *connection,
s_ip6 = nm_connection_get_setting_ip6_config(connection);
if (!s_ip6)
- return TRUE;
+ return;
value = nm_setting_ip_config_get_method(s_ip6);
g_assert(value);
if (!strcmp(value, NM_SETTING_IP6_CONFIG_METHOD_IGNORE)) {
svSetValueStr(ifcfg, "IPV6INIT", "no");
- return TRUE;
} else if (!strcmp(value, NM_SETTING_IP6_CONFIG_METHOD_DISABLED)) {
svSetValueStr(ifcfg, "IPV6_DISABLED", "yes");
svSetValueStr(ifcfg, "IPV6INIT", "no");
- return TRUE;
} else if (!strcmp(value, NM_SETTING_IP6_CONFIG_METHOD_AUTO)) {
svSetValueStr(ifcfg, "IPV6INIT", "yes");
svSetValueStr(ifcfg, "IPV6_AUTOCONF", "yes");
@@ -3148,8 +3140,6 @@ write_ip6_setting(NMConnection *connection,
write_res_options(ifcfg, s_ip6, "IPV6_RES_OPTIONS");
NM_SET_OUT(out_route6_content, write_route_file(s_ip6));
-
- return TRUE;
}
static void
@@ -3441,15 +3431,12 @@ do_write_construct(NMConnection * connection,
} else
route_ignore = FALSE;
- if (!write_ip4_setting(connection,
- ifcfg,
- !route_ignore && route_path_is_svformat ? &route_content_svformat : NULL,
- !route_ignore && route_path_is_svformat ? NULL : &route_content,
- error))
- return FALSE;
+ write_ip4_setting(connection,
+ ifcfg,
+ !route_ignore && route_path_is_svformat ? &route_content_svformat : NULL,
+ !route_ignore && route_path_is_svformat ? NULL : &route_content);
- if (!write_ip6_setting(connection, ifcfg, !route_ignore ? &route6_content : NULL, error))
- return FALSE;
+ write_ip6_setting(connection, ifcfg, !route_ignore ? &route6_content : NULL);
write_ip_routing_rules(connection, ifcfg, route_ignore);
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-wired-802-1X-subj-matches.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-wired-802-1X-subj-matches.cexpected
index 240cd5c18d..d2f5c453c1 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-wired-802-1X-subj-matches.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-wired-802-1X-subj-matches.cexpected
@@ -16,6 +16,8 @@ BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
NAME="System test-wired-802-1X-subj-matches"
UUID=${UUID}
DEVICE=eth0
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Bond_Main.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Bond_Main.cexpected
index b288c04a47..ccc0f35a62 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Bond_Main.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Bond_Main.cexpected
@@ -11,6 +11,9 @@ GATEWAY=1.1.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+IPV6_ADDR_GEN_MODE=stable-privacy
NAME="Test Write Bond Main"
UUID=${UUID}
DEVICE=bond0
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Permissions.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Permissions.cexpected
index 80e969212b..d4a978b673 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Permissions.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Permissions.cexpected
@@ -5,6 +5,9 @@ BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+IPV6_ADDR_GEN_MODE=stable-privacy
NAME="Test Write Permissions"
UUID=${UUID}
ONBOOT=yes
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_LEAP.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_LEAP.cexpected
index d3db19b229..f1b01a215d 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_LEAP.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_LEAP.cexpected
@@ -11,6 +11,9 @@ BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+IPV6_ADDR_GEN_MODE=stable-privacy
NAME="Test Write Wifi LEAP"
UUID=${UUID}
ONBOOT=yes
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_WEP_104_ASCII.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_WEP_104_ASCII.cexpected
index 32db726256..60540fbebd 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_WEP_104_ASCII.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_WEP_104_ASCII.cexpected
@@ -10,6 +10,9 @@ BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+IPV6_ADDR_GEN_MODE=stable-privacy
NAME="Test Write Wifi WEP 104 ASCII"
UUID=${UUID}
ONBOOT=yes
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Static_Routes.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Static_Routes.cexpected
index cc29a2cc60..fe864c435f 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Static_Routes.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Static_Routes.cexpected
@@ -17,6 +17,8 @@ IPV4_FAILURE_FATAL=no
ACD_TIMEOUT=400
ARPING_WAIT=1
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
NAME="Test Write Wired Static Routes"
UUID=${UUID}
ONBOOT=yes
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_match.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_match.cexpected
index 9499278e3e..908cb917c0 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_match.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_match.cexpected
@@ -8,6 +8,8 @@ BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
NAME="Test Write Wired with Match setting"
UUID=${UUID}
ONBOOT=yes
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Vlan_test-vlan-interface.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Vlan_test-vlan-interface.cexpected
index 44eb777ce4..6ad151aa55 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Vlan_test-vlan-interface.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Vlan_test-vlan-interface.cexpected
@@ -17,6 +17,8 @@ PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
NAME="Vlan test-vlan-interface"
UUID=${UUID}
DEVICE=vlan43
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection.cexpected
index ead3a04747..1f5e04ff77 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection.cexpected
@@ -8,6 +8,8 @@ BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
NAME="random wifi connection"
UUID=${UUID}
ONBOOT=yes
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection_2.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection_2.cexpected
index 7bc1ae6cdd..3dcdbda042 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection_2.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection_2.cexpected
@@ -8,6 +8,8 @@ BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
NAME="random wifi connection 2"
UUID=${UUID}
ONBOOT=yes
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ip6-disabled.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ip6-disabled.cexpected
index cae51b8995..b3199c01b9 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ip6-disabled.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ip6-disabled.cexpected
@@ -6,6 +6,8 @@ DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6_DISABLED=yes
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
NAME="Test Write Wired Disabled IP6"
UUID=${UUID}
ONBOOT=yes
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-sriov-write.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-sriov-write.cexpected
index c882c4796e..a77c615d60 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-sriov-write.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-sriov-write.cexpected
@@ -12,6 +12,9 @@ GATEWAY=1.1.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+IPV6_ADDR_GEN_MODE=stable-privacy
NAME="Test Write SR-IOV config"
UUID=${UUID}
DEVICE=eth0
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-static-routes-legacy.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-static-routes-legacy.cexpected
index 8197f3208a..41714df6f6 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-static-routes-legacy.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-static-routes-legacy.cexpected
@@ -6,6 +6,8 @@ BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
NAME=test-static-routes-legacy
UUID=ba60d05a-7898-820d-c2db-427a88f8f2a5
DEVICE=eth0
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc-write-empty.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc-write-empty.cexpected
index 4df768b463..1125ef5517 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc-write-empty.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc-write-empty.cexpected
@@ -9,6 +9,9 @@ GATEWAY=1.1.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+IPV6_ADDR_GEN_MODE=stable-privacy
NAME="Test Write TC config"
UUID=${UUID}
DEVICE=eth0
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc-write.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc-write.cexpected
index a67ca598b7..d87efd7214 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc-write.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc-write.cexpected
@@ -10,6 +10,9 @@ GATEWAY=1.1.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
+IPV6_ADDR_GEN_MODE=stable-privacy
NAME="Test Write TC config"
UUID=${UUID}
DEVICE=eth0
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-vlanid-use.cexpected b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-vlanid-use.cexpected
index a7be14ce34..2eaec850d1 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-vlanid-use.cexpected
+++ b/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-vlanid-use.cexpected
@@ -9,6 +9,8 @@ HWADDR=
PROXY_METHOD=none
BROWSER_ONLY=no
IPV6INIT=no
+IPV6_DEFROUTE=yes
+IPV6_FAILURE_FATAL=no
NAME="Vlan test-vlan-vlanid-use"
UUID=${UUID}
DEVICE=eth0.9
diff --git a/src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c b/src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
index 7d44d5dc75..bc34ec124a 100644
--- a/src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
+++ b/src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
@@ -5287,7 +5287,12 @@ test_write_wired_match(void)
s_ip6 = (NMSettingIPConfig *) nm_setting_ip6_config_new();
nm_connection_add_setting(connection, NM_SETTING(s_ip6));
- g_object_set(s_ip6, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_IGNORE, NULL);
+ g_object_set(s_ip6,
+ NM_SETTING_IP_CONFIG_METHOD,
+ NM_SETTING_IP6_CONFIG_METHOD_IGNORE,
+ NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE,
+ (int) NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64,
+ NULL);
/* Match setting */
s_match = (NMSettingMatch *) nm_setting_match_new();
@@ -5480,7 +5485,12 @@ test_write_ip6_disabled(void)
s_ip6 = (NMSettingIPConfig *) nm_setting_ip6_config_new();
nm_connection_add_setting(connection, NM_SETTING(s_ip6));
- g_object_set(s_ip6, NM_SETTING_IP_CONFIG_METHOD, NM_SETTING_IP6_CONFIG_METHOD_DISABLED, NULL);
+ g_object_set(s_ip6,
+ NM_SETTING_IP_CONFIG_METHOD,
+ NM_SETTING_IP6_CONFIG_METHOD_DISABLED,
+ NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE,
+ (int) NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64,
+ NULL);
nmtst_assert_connection_verifies(connection);
@@ -5755,6 +5765,8 @@ test_write_wired_static_routes(void)
NM_SETTING_IP6_CONFIG_METHOD_IGNORE,
NM_SETTING_IP_CONFIG_MAY_FAIL,
TRUE,
+ NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE,
+ (int) NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64,
NULL);
nmtst_assert_connection_verifies(connection);
@@ -5834,6 +5846,8 @@ test_write_wired_dhcp_8021x_peap_mschapv2(void)
NM_SETTING_IP6_CONFIG_METHOD_IGNORE,
NM_SETTING_IP_CONFIG_MAY_FAIL,
TRUE,
+ NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE,
+ (int) NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64,
NULL);
/* 802.1x setting */
@@ -6331,6 +6345,8 @@ test_write_wifi_open(void)
NM_SETTING_IP6_CONFIG_METHOD_IGNORE,
NM_SETTING_IP_CONFIG_MAY_FAIL,
TRUE,
+ NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE,
+ (int) NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64,
NULL);
nmtst_assert_connection_verifies(connection);
@@ -6498,6 +6514,8 @@ test_write_wifi_wep(void)
NM_SETTING_IP6_CONFIG_METHOD_IGNORE,
NM_SETTING_IP_CONFIG_MAY_FAIL,
TRUE,
+ NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE,
+ (int) NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64,
NULL);
nmtst_assert_connection_verifies(connection);
@@ -7781,6 +7799,8 @@ test_write_wifi_wpa_then_open(void)
NM_SETTING_IP6_CONFIG_METHOD_IGNORE,
NM_SETTING_IP_CONFIG_MAY_FAIL,
TRUE,
+ NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE,
+ (int) NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64,
NULL);
nmtst_assert_connection_verifies(connection);
@@ -7904,6 +7924,8 @@ test_write_wifi_wpa_then_wep_with_perms(void)
NM_SETTING_IP6_CONFIG_METHOD_IGNORE,
NM_SETTING_IP_CONFIG_MAY_FAIL,
TRUE,
+ NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE,
+ (int) NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64,
NULL);
nmtst_assert_connection_verifies(connection);
@@ -8303,6 +8325,8 @@ test_write_wifi_wep_agent_keys(void)
NM_SETTING_IP6_CONFIG_METHOD_IGNORE,
NM_SETTING_IP_CONFIG_MAY_FAIL,
TRUE,
+ NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE,
+ (int) NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64,
NULL);
/* Wifi setting */