diff --git a/cli/src/common.c b/cli/src/common.c index 1126dc879..58598dc2c 100644 --- a/cli/src/common.c +++ b/cli/src/common.c @@ -557,6 +557,9 @@ nmc_device_reason_to_string (NMDeviceStateReason reason) case NM_DEVICE_STATE_REASON_SSID_NOT_FOUND: return _("The Wi-Fi network could not be found"); + case NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED: + return _("A seconadary connection of the base connection failed"); + default: return _("Unknown"); } diff --git a/include/NetworkManager.h b/include/NetworkManager.h index 3a8462a28..91b03f8f5 100644 --- a/include/NetworkManager.h +++ b/include/NetworkManager.h @@ -498,6 +498,9 @@ typedef enum { /* The WiFi network could not be found */ NM_DEVICE_STATE_REASON_SSID_NOT_FOUND = 53, + /* A seconadary connection of the base connection failed */ + NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED = 54, + /* Unused */ NM_DEVICE_STATE_REASON_LAST = 0xFFFF } NMDeviceStateReason; diff --git a/introspection/nm-device.xml b/introspection/nm-device.xml index 54fc73f7c..8d99c6ab1 100644 --- a/introspection/nm-device.xml +++ b/introspection/nm-device.xml @@ -569,6 +569,11 @@ The 802.11 Wi-Fi network could not be found. + + + A secondary connection of the base connection failed. + + diff --git a/src/nm-device.c b/src/nm-device.c index a0e7fc54e..0aed298d3 100644 --- a/src/nm-device.c +++ b/src/nm-device.c @@ -4513,6 +4513,8 @@ reason_to_string (NMDeviceStateReason reason) return "modem-manager-unavailable"; case NM_DEVICE_STATE_REASON_SSID_NOT_FOUND: return "SSID not found"; + case NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED: + return "secondary-connection-failed"; default: break; } diff --git a/src/nm-policy.c b/src/nm-policy.c index 74b4c33d1..00cf67e26 100644 --- a/src/nm-policy.c +++ b/src/nm-policy.c @@ -1003,7 +1003,8 @@ process_secondaries (NMPolicy *policy, /* Secondary connection failed -> do not watch other connections */ policy->pending_secondaries = g_slist_remove (policy->pending_secondaries, secondary_data); pending_secondary_data_free (secondary_data); - nm_device_state_changed (item_device, NM_DEVICE_STATE_FAILED, NM_DEVICE_STATE_REASON_DEPENDENCY_FAILED); + nm_device_state_changed (item_device, NM_DEVICE_STATE_FAILED, + NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED); return; } } @@ -1454,7 +1455,7 @@ device_state_changed (NMDevice *device, /* Activate secondary (VPN) connections */ if (!activate_secondary_connections (policy, connection, device)) nm_device_state_changed (device, NM_DEVICE_STATE_FAILED, - NM_DEVICE_STATE_REASON_DEPENDENCY_FAILED); + NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED); } else nm_device_state_changed (device, NM_DEVICE_STATE_ACTIVATED, NM_DEVICE_STATE_REASON_NONE);