summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2021-08-16 23:02:59 +0200
committerThomas Haller <thaller@redhat.com>2021-08-17 20:56:46 +0200
commit5467120063c8d364525a9a50d2a37bd6078cd9e1 (patch)
tree25fd8d9ff8efae6a353710e0e86b1709cd87a43d
parent36d281243ff20ad54dab99b4aa0df9f85d202c3f (diff)
downloadNetworkManager-th/ifcfg-ipv6-disabled-fix.tar.gz
ifcfg: read/write full IPv6 settings also for method ignore/disabledth/ifcfg-ipv6-disabled-fix
Do "bother" to read/write settings. For the umpteenth time, it's not up to the reader/writer to decide what properties are valid for a profile or which makes sense. Only nm_connection_verify() can decide that. For example nm_connection_verify() has no problem with ipv6.method=disabled while also setting ipv6.addr-gen-mode. We cannot just shortcut the parsing/writing. The reader only ignores addresses, dns and dns-searches, so that we don't start parsing invalid files, where the setting would have been ignore previously. In particular, echo "DEVICE=eth0" > /etc/sysconfig/network-scripts/ifcfg-xxx nmcli connection load /etc/sysconfig/network-scripts/ifcfg-xxx nmcli -f ipv6.method,ipv6.addr-gen-mode connection show /etc/sysconfig/network-scripts/ifcfg-xxx needs to show eui64 addr-gen-mode.
-rw-r--r--src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c66
-rw-r--r--src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c2
-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, 108 insertions, 27 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 e95ba43b05..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
@@ -2250,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();
@@ -2376,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);
@@ -2439,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 */
@@ -2463,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);
}
}
@@ -2508,11 +2518,17 @@ make_ip6_setting(shvarFile *ifcfg, shvarFile *network_ifcfg, gboolean routes_rea
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,
@@ -2541,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 b90dd52084..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
@@ -2991,11 +2991,9 @@ write_ip6_setting(NMConnection *connection, shvarFile *ifcfg, GString **out_rout
g_assert(value);
if (!strcmp(value, NM_SETTING_IP6_CONFIG_METHOD_IGNORE)) {
svSetValueStr(ifcfg, "IPV6INIT", "no");
- return;
} else if (!strcmp(value, NM_SETTING_IP6_CONFIG_METHOD_DISABLED)) {
svSetValueStr(ifcfg, "IPV6_DISABLED", "yes");
svSetValueStr(ifcfg, "IPV6INIT", "no");
- return;
} else if (!strcmp(value, NM_SETTING_IP6_CONFIG_METHOD_AUTO)) {
svSetValueStr(ifcfg, "IPV6INIT", "yes");
svSetValueStr(ifcfg, "IPV6_AUTOCONF", "yes");
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 */