summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiří Klimeš <jklimes@redhat.com>2015-09-07 18:04:29 +0200
committerThomas Haller <thaller@redhat.com>2016-01-12 14:35:35 +0100
commit88bc909266a22d780cd705419635805a40e096d2 (patch)
treed74bf54838c14afd8f8e8b9a03fe3b80c084ee29
parent97dbb4e9c8b5708d54755e012d26ac78dd7a0f57 (diff)
downloadNetworkManager-88bc909266a22d780cd705419635805a40e096d2.tar.gz
cli: add support for new ipv4.dad-timeout property
-rw-r--r--clients/cli/settings.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/clients/cli/settings.c b/clients/cli/settings.c
index 9f95dfe268..70984bbb03 100644
--- a/clients/cli/settings.c
+++ b/clients/cli/settings.c
@@ -288,6 +288,7 @@ NmcOutputField nmc_fields_setting_ip4_config[] = {
SETTING_FIELD (NM_SETTING_IP4_CONFIG_DHCP_FQDN), /* 15 */
SETTING_FIELD (NM_SETTING_IP_CONFIG_NEVER_DEFAULT), /* 16 */
SETTING_FIELD (NM_SETTING_IP_CONFIG_MAY_FAIL), /* 17 */
+ SETTING_FIELD (NM_SETTING_IP_CONFIG_DAD_TIMEOUT), /* 18 */
{NULL, NULL, 0, NULL, FALSE, FALSE, 0}
};
#define NMC_FIELDS_SETTING_IP4_CONFIG_ALL "name"","\
@@ -307,7 +308,8 @@ NmcOutputField nmc_fields_setting_ip4_config[] = {
NM_SETTING_IP_CONFIG_DHCP_HOSTNAME","\
NM_SETTING_IP4_CONFIG_DHCP_FQDN","\
NM_SETTING_IP_CONFIG_NEVER_DEFAULT","\
- NM_SETTING_IP_CONFIG_MAY_FAIL
+ NM_SETTING_IP_CONFIG_MAY_FAIL","\
+ NM_SETTING_IP_CONFIG_DAD_TIMEOUT
#define NMC_FIELDS_SETTING_IP4_CONFIG_COMMON NMC_FIELDS_SETTING_IP4_CONFIG_ALL
/* Available fields for NM_SETTING_IP6_CONFIG_SETTING_NAME */
@@ -1551,6 +1553,26 @@ DEFINE_GETTER (nmc_property_ipv4_get_dhcp_fqdn, NM_SETTING_IP4_CONFIG_DHCP_FQDN)
DEFINE_GETTER (nmc_property_ipv4_get_never_default, NM_SETTING_IP_CONFIG_NEVER_DEFAULT)
DEFINE_GETTER (nmc_property_ipv4_get_may_fail, NM_SETTING_IP_CONFIG_MAY_FAIL)
+static char *
+nmc_property_ipv4_get_dad_timeout (NMSetting *setting, NmcPropertyGetType get_type)
+{
+ NMSettingIPConfig *s_ip = NM_SETTING_IP_CONFIG (setting);
+ gint dad_timeout;
+
+ dad_timeout = nm_setting_ip_config_get_dad_timeout (s_ip);
+ if (get_type == NMC_PROPERTY_GET_PARSABLE)
+ return g_strdup_printf ("%d", dad_timeout);
+
+ switch (dad_timeout) {
+ case -1:
+ return g_strdup_printf (_("%d (default)"), dad_timeout);
+ case 0:
+ return g_strdup_printf (_("%d (off)"), dad_timeout);
+ default:
+ return g_strdup_printf ("%d", dad_timeout);
+ }
+}
+
/* --- NM_SETTING_IP6_CONFIG_SETTING_NAME property get functions --- */
DEFINE_GETTER (nmc_property_ipv6_get_method, NM_SETTING_IP_CONFIG_METHOD)
DEFINE_GETTER (nmc_property_ipv6_get_dns, NM_SETTING_IP_CONFIG_DNS)
@@ -6492,6 +6514,13 @@ nmc_properties_init (void)
NULL,
NULL,
NULL);
+ nmc_add_prop_funcs (GLUE_IP (4, DAD_TIMEOUT),
+ nmc_property_ipv4_get_dad_timeout,
+ nmc_property_set_int,
+ NULL,
+ NULL,
+ NULL,
+ NULL);
/* Add editable properties for NM_SETTING_IP6_CONFIG_SETTING_NAME */
nmc_add_prop_funcs (GLUE_IP (6, METHOD),
@@ -8088,6 +8117,7 @@ setting_ip4_config_details (NMSetting *setting, NmCli *nmc, const char *one_pro
set_val_str (arr, 15, nmc_property_ipv4_get_dhcp_fqdn (setting, NMC_PROPERTY_GET_PRETTY));
set_val_str (arr, 16, nmc_property_ipv4_get_never_default (setting, NMC_PROPERTY_GET_PRETTY));
set_val_str (arr, 17, nmc_property_ipv4_get_may_fail (setting, NMC_PROPERTY_GET_PRETTY));
+ set_val_str (arr, 18, nmc_property_ipv4_get_dad_timeout (setting, NMC_PROPERTY_GET_PRETTY));
g_ptr_array_add (nmc->output_data, arr);
print_data (nmc); /* Print all data */