summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Cardace <acardace@redhat.com>2020-03-19 17:26:32 +0100
committerAntonio Cardace <acardace@redhat.com>2020-03-19 17:26:32 +0100
commit8d6998cb77db4911e755ece813002b3c38277bb3 (patch)
tree54e2459e01bea05322068642164785736977ed30
parentfc8784a011d3c547060eb134bf98131878a313a5 (diff)
parent97d3f1b4b99055fa74af913577794f1ed142416d (diff)
nm-setting-bond: merge branch 'ac/fix_add_miimon'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/438
-rw-r--r--libnm-core/nm-setting-bond.c15
-rw-r--r--libnm-core/tests/test-setting.c12
-rw-r--r--src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c5
3 files changed, 14 insertions, 18 deletions
diff --git a/libnm-core/nm-setting-bond.c b/libnm-core/nm-setting-bond.c
index f53f2c8cf2..652d55487b 100644
--- a/libnm-core/nm-setting-bond.c
+++ b/libnm-core/nm-setting-bond.c
@@ -1033,7 +1033,7 @@ options_equal_asym (NMSettingBond *s_bond,
NMSettingCompareFlags flags)
{
GHashTableIter iter;
- const char *key, *value, *value2;
+ const char *key, *value;
g_hash_table_iter_init (&iter, NM_SETTING_BOND_GET_PRIVATE (s_bond)->options);
while (g_hash_table_iter_next (&iter, (gpointer *) &key, (gpointer *) &value)) {
@@ -1048,18 +1048,7 @@ options_equal_asym (NMSettingBond *s_bond,
continue;
}
- value2 = _bond_get_option (s_bond2, key);
-
- if (!value2) {
- if (nm_streq (key, "num_grat_arp"))
- value2 = _bond_get_option (s_bond2, "num_unsol_na");
- else if (nm_streq (key, "num_unsol_na"))
- value2 = _bond_get_option (s_bond2, "num_grat_arp");
- }
-
- if (!value2)
- value2 = _bond_get_option_default (s_bond2, key);
- if (!nm_streq (value, value2))
+ if (!nm_streq0 (value, _bond_get_option (s_bond2, key)))
return FALSE;
}
diff --git a/libnm-core/tests/test-setting.c b/libnm-core/tests/test-setting.c
index 71f484bab5..2dc76f1000 100644
--- a/libnm-core/tests/test-setting.c
+++ b/libnm-core/tests/test-setting.c
@@ -641,21 +641,23 @@ test_bond_compare (void)
((const char *[]){ "mode", "balance-rr", "miimon", "1", NULL }),
((const char *[]){ "mode", "balance-rr", "miimon", "2", NULL }));
- /* ignore default values */
- test_bond_compare_options (TRUE,
+ test_bond_compare_options (FALSE,
((const char *[]){ "miimon", "1", NULL }),
((const char *[]){ "miimon", "1", "updelay", "0", NULL }));
- /* special handling of num_grat_arp, num_unsol_na */
test_bond_compare_options (FALSE,
((const char *[]){ "num_grat_arp", "2", NULL }),
((const char *[]){ "num_grat_arp", "1", NULL }));
- test_bond_compare_options (TRUE,
+ test_bond_compare_options (FALSE,
((const char *[]){ "num_grat_arp", "3", NULL }),
((const char *[]){ "num_unsol_na", "3", NULL }));
- test_bond_compare_options (TRUE,
+ test_bond_compare_options (FALSE,
((const char *[]){ "num_grat_arp", "4", NULL }),
((const char *[]){ "num_unsol_na", "4", "num_grat_arp", "4", NULL }));
+
+ test_bond_compare_options (FALSE,
+ ((const char *[]){ "mode", "balance-rr", "miimon", "100", NULL }),
+ ((const char *[]){ "mode", "balance-rr", NULL }));
}
static void
diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
index 2d7f9853d4..07a5f5dd34 100644
--- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
+++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
@@ -3254,6 +3254,11 @@ nms_ifcfg_rh_writer_write_connection (NMConnection *connection,
_LOGW ("write: failure to re-read connection \"%s\": %s",
svFileGetName (ifcfg), "connection is unhandled");
} else {
+ /* ifcfg-rh doesn't support the 'timestamp' property, let's add it here */
+ g_object_set (nm_connection_get_setting_connection (reread),
+ NM_SETTING_CONNECTION_TIMESTAMP,
+ nm_setting_connection_get_timestamp (nm_connection_get_setting_connection (connection)),
+ NULL);
if (out_reread_same) {
reread_same = nm_connection_compare (reread, connection, NM_SETTING_COMPARE_FLAG_EXACT);
if (!reread_same) {