From d687492d49cef7f72dd1748f18c87fa7c9c86175 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Fri, 12 Jul 2013 22:32:06 -0500 Subject: [PATCH] ifcfg-rh: add support for gateway ping timeout --- src/settings/plugins/ifcfg-rh/reader.c | 15 +++++++++++++++ src/settings/plugins/ifcfg-rh/writer.c | 8 ++++++++ 2 files changed, 23 insertions(+) diff --git a/src/settings/plugins/ifcfg-rh/reader.c b/src/settings/plugins/ifcfg-rh/reader.c index e99cbe6852..650f7113dc 100644 --- a/src/settings/plugins/ifcfg-rh/reader.c +++ b/src/settings/plugins/ifcfg-rh/reader.c @@ -228,6 +228,21 @@ make_connection_setting (const char *file, g_free (value); } + value = svGetValue (ifcfg, "GATEWAY_PING_TIMEOUT", FALSE); + if (value) { + long int tmp; + guint32 timeout; + + errno = 0; + tmp = strtol (value, NULL, 10); + if (errno == 0 && tmp >= 0 && tmp < G_MAXINT32) { + timeout = (guint32) tmp; + g_object_set (s_con, NM_SETTING_CONNECTION_GATEWAY_PING_TIMEOUT, timeout, NULL); + } else + PLUGIN_WARN (IFCFG_PLUGIN_NAME, " warning: invalid GATEWAY_PING_TIMEOUT time"); + g_free (value); + } + return NM_SETTING (s_con); } diff --git a/src/settings/plugins/ifcfg-rh/writer.c b/src/settings/plugins/ifcfg-rh/writer.c index eadcfd3d27..810b52618a 100644 --- a/src/settings/plugins/ifcfg-rh/writer.c +++ b/src/settings/plugins/ifcfg-rh/writer.c @@ -1430,6 +1430,7 @@ write_connection_setting (NMSettingConnection *s_con, shvarFile *ifcfg) guint32 n, i; GString *str; const char *master; + char *tmp; svSetValue (ifcfg, "NAME", nm_setting_connection_get_id (s_con), FALSE); svSetValue (ifcfg, "UUID", nm_setting_connection_get_uuid (s_con), FALSE); @@ -1491,6 +1492,13 @@ write_connection_setting (NMSettingConnection *s_con, shvarFile *ifcfg) svSetValue (ifcfg, "SECONDARY_UUIDS", str->str, FALSE); g_string_free (str, TRUE); } + + svSetValue (ifcfg, "GATEWAY_PING_TIMEOUT", NULL, FALSE); + if (nm_setting_connection_get_gateway_ping_timeout (s_con)) { + tmp = g_strdup_printf ("%" G_GUINT32_FORMAT, nm_setting_connection_get_gateway_ping_timeout (s_con)); + svSetValue (ifcfg, "GATEWAY_PING_TIMEOUT", tmp, FALSE); + g_free (tmp); + } } static gboolean