summary refs log tree commit diff
path: root/libnm-util/nm-setting-bond.c
diff options
context:
space:
mode:
authorSjoerd Simons <sjoerd@luon.net>2013-10-25 21:20:58 +0200
committerSjoerd Simons <sjoerd@luon.net>2013-10-25 21:20:58 +0200
commita4256940da049f91bbbea5e53e469a59ea9c10f7 (patch)
tree2211c102aea3a33f34f960f48c8b8a55daccd97b /libnm-util/nm-setting-bond.c
parent8d275584fc94f398f0a7c990dcd057533d9a5856 (diff)
Imported Upstream version 0.9.8.8 upstream/0.9.8.8
Diffstat (limited to 'libnm-util/nm-setting-bond.c')
-rw-r--r--libnm-util/nm-setting-bond.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/libnm-util/nm-setting-bond.c b/libnm-util/nm-setting-bond.c
index a3dbd766..e8e7b639 100644
--- a/libnm-util/nm-setting-bond.c
+++ b/libnm-util/nm-setting-bond.c
@@ -257,11 +257,16 @@ gboolean nm_setting_bond_add_option (NMSettingBond *setting,
 
 	g_hash_table_insert (priv->options, g_strdup (name), g_strdup (value));
 
-	if (!strcmp (name, NM_SETTING_BOND_OPTION_MIIMON)) {
+	if (   !strcmp (name, NM_SETTING_BOND_OPTION_MIIMON)
+	    && strcmp (value, "0") != 0) {
 		g_hash_table_remove (priv->options, NM_SETTING_BOND_OPTION_ARP_INTERVAL);
 		g_hash_table_remove (priv->options, NM_SETTING_BOND_OPTION_ARP_IP_TARGET);
-	} else if (!strcmp (name, NM_SETTING_BOND_OPTION_ARP_INTERVAL))
+	} else if (   !strcmp (name, NM_SETTING_BOND_OPTION_ARP_INTERVAL)
+	           && strcmp (value, "0") != 0) {
 		g_hash_table_remove (priv->options, NM_SETTING_BOND_OPTION_MIIMON);
+		g_hash_table_remove (priv->options, NM_SETTING_BOND_OPTION_DOWNDELAY);
+		g_hash_table_remove (priv->options, NM_SETTING_BOND_OPTION_UPDELAY);
+	}
 
 	return TRUE;
 }
@@ -293,7 +298,7 @@ nm_setting_bond_remove_option (NMSettingBond *setting,
  *
  * Returns a list of valid bond options.
  *
- * Returns: (transfer none): a NULL-terminated array of strings of valid bond options.
+ * Returns: (transfer none): a %NULL-terminated array of strings of valid bond options.
  **/
 const char **
 nm_setting_bond_get_valid_options  (NMSettingBond *setting)