summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2017-11-02 14:22:10 +0100
committerBeniamino Galvani <bgalvani@redhat.com>2017-11-09 22:26:17 +0100
commit12a49cbdc70024111559d6881f884b58924646cc (patch)
treea80accd884165c202b736681029abbf056bd3ab6
parent14ad1d0cd105048a69f45ce58c41c788b45635d6 (diff)
downloadNetworkManager-12a49cbdc70024111559d6881f884b58924646cc.tar.gz
device: add a new state-reason for DAD failures
-rw-r--r--clients/common/nm-client-utils.c4
-rw-r--r--libnm-core/nm-dbus-interface.h2
-rw-r--r--src/devices/nm-device.c5
3 files changed, 8 insertions, 3 deletions
diff --git a/clients/common/nm-client-utils.c b/clients/common/nm-client-utils.c
index bf4dcc77f3..8a28db2dd5 100644
--- a/clients/common/nm-client-utils.c
+++ b/clients/common/nm-client-utils.c
@@ -399,9 +399,11 @@ nmc_device_reason_to_string (NMDeviceStateReason reason)
return _("The device's parent changed");
case NM_DEVICE_STATE_REASON_PARENT_MANAGED_CHANGED:
return _("The device parent's management changed");
-
case NM_DEVICE_STATE_REASON_OVSDB_FAILED:
return _("OpenVSwitch database connection failed");
+ case NM_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE:
+ return _("A duplicate IP address was detected");
+
}
/* TRANSLATORS: Unknown reason for a device state change (NMDeviceStateReason) */
diff --git a/libnm-core/nm-dbus-interface.h b/libnm-core/nm-dbus-interface.h
index 7752eecbc6..6a0d3def2a 100644
--- a/libnm-core/nm-dbus-interface.h
+++ b/libnm-core/nm-dbus-interface.h
@@ -552,6 +552,7 @@ typedef enum {
* @NM_DEVICE_STATE_REASON_PARENT_CHANGED: the device's parent changed
* @NM_DEVICE_STATE_REASON_PARENT_MANAGED_CHANGED: the device parent's management changed
* @NM_DEVICE_STATE_REASON_OVSDB_FAILED: problem communicating with OpenVSwitch database
+ * @NM_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE: a duplicate IP address was detected
*
* Device state change reason codes
*/
@@ -620,6 +621,7 @@ typedef enum {
NM_DEVICE_STATE_REASON_PARENT_CHANGED = 61,
NM_DEVICE_STATE_REASON_PARENT_MANAGED_CHANGED = 62,
NM_DEVICE_STATE_REASON_OVSDB_FAILED = 63,
+ NM_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE = 64,
} NMDeviceStateReason;
/**
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index 7c3a408c06..bb624adf1b 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -648,6 +648,7 @@ NM_UTILS_LOOKUP_STR_DEFINE_STATIC (_reason_to_string, NMDeviceStateReason,
NM_UTILS_LOOKUP_STR_ITEM (NM_DEVICE_STATE_REASON_PARENT_CHANGED, "parent-changed"),
NM_UTILS_LOOKUP_STR_ITEM (NM_DEVICE_STATE_REASON_PARENT_MANAGED_CHANGED, "parent-managed-changed"),
NM_UTILS_LOOKUP_STR_ITEM (NM_DEVICE_STATE_REASON_OVSDB_FAILED, "ovsdb-failed"),
+ NM_UTILS_LOOKUP_STR_ITEM (NM_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE, "ip-address-duplicate"),
);
#define reason_to_string(reason) \
@@ -5396,7 +5397,7 @@ ipv4_manual_method_apply (NMDevice *self, NMIP4Config **configs, gboolean succes
g_object_unref (empty);
} else {
nm_device_ip_method_failed (self, AF_INET,
- NM_DEVICE_STATE_REASON_IP_CONFIG_UNAVAILABLE);
+ NM_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE);
}
}
@@ -5977,7 +5978,7 @@ dhcp4_dad_cb (NMDevice *self, NMIP4Config **configs, gboolean success)
nm_device_activate_schedule_ip4_config_result (self, configs[1]);
else {
nm_device_ip_method_failed (self, AF_INET,
- NM_DEVICE_STATE_REASON_IP_CONFIG_UNAVAILABLE);
+ NM_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE);
}
}