summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2022-05-10 21:09:20 +0200
committerThomas Haller <thaller@redhat.com>2022-05-16 16:37:42 +0200
commit9097679aadc439c23a3f45b47a7eb8b5ca1a7712 (patch)
treeca53a88827bb3c242091853d5a249f68f8d59890
parent802f343d9fac9829f968dc6c0a0270f7e7854b99 (diff)
downloadNetworkManager-9097679aadc439c23a3f45b47a7eb8b5ca1a7712.tar.gz
dhcp: move code in nm_dhcp_client_handle_event()
-rw-r--r--src/core/dhcp/nm-dhcp-client.c54
1 files changed, 23 insertions, 31 deletions
diff --git a/src/core/dhcp/nm-dhcp-client.c b/src/core/dhcp/nm-dhcp-client.c
index eed1a89bb7..ccb1cc5279 100644
--- a/src/core/dhcp/nm-dhcp-client.c
+++ b/src/core/dhcp/nm-dhcp-client.c
@@ -898,7 +898,6 @@ nm_dhcp_client_handle_event(gpointer unused,
NMPlatformIP6Address prefix = {
0,
};
- gboolean reason_is_bound;
g_return_val_if_fail(NM_IS_DHCP_CLIENT(self), FALSE);
g_return_val_if_fail(iface != NULL, FALSE);
@@ -918,17 +917,24 @@ nm_dhcp_client_handle_event(gpointer unused,
if (NM_IN_STRSET_ASCII_CASE(reason, "preinit"))
return TRUE;
- reason_is_bound = NM_IN_STRSET_ASCII_CASE(reason,
- "bound",
- "bound6",
- "static",
- "renew",
- "renew6",
- "reboot",
- "rebind",
- "rebind6");
-
- if (reason_is_bound) {
+ if (NM_IN_STRSET_ASCII_CASE(reason, "bound", "bound6", "static"))
+ client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_BOUND;
+ else if (NM_IN_STRSET_ASCII_CASE(reason, "renew", "renew6", "reboot", "rebind", "rebind6"))
+ client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_EXTENDED;
+ else if (NM_IN_STRSET_ASCII_CASE(reason, "timeout"))
+ client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_TIMEOUT;
+ else if (NM_IN_STRSET_ASCII_CASE(reason, "nak", "expire", "expire6"))
+ client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_EXPIRE;
+ else if (NM_IN_STRSET_ASCII_CASE(reason, "end", "stop", "stopped"))
+ client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_TERMINATED;
+ else if (NM_IN_STRSET_ASCII_CASE(reason, "fail", "abend"))
+ client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_FAIL;
+ else
+ client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_UNSPECIFIED;
+
+ if (NM_IN_SET(client_event_type,
+ NM_DHCP_CLIENT_EVENT_TYPE_BOUND,
+ NM_DHCP_CLIENT_EVENT_TYPE_EXTENDED)) {
gs_unref_hashtable GHashTable *str_options = NULL;
GVariantIter iter;
const char *name;
@@ -977,27 +983,13 @@ nm_dhcp_client_handle_event(gpointer unused,
return TRUE;
}
- /* Fail if no valid IP config was received */
- if (reason_is_bound && !l3cd) {
+ if (NM_IN_SET(client_event_type,
+ NM_DHCP_CLIENT_EVENT_TYPE_BOUND,
+ NM_DHCP_CLIENT_EVENT_TYPE_EXTENDED)
+ && !l3cd) {
+ /* Fail if no valid IP config was received */
_LOGW("client bound but IP config not received");
client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_FAIL;
- } else {
- if (NM_IN_STRSET_ASCII_CASE(reason, "bound", "bound6", "static"))
- client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_BOUND;
- else if (NM_IN_STRSET_ASCII_CASE(reason, "renew", "renew6", "reboot", "rebind", "rebind6"))
- client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_EXTENDED;
- else if (NM_IN_STRSET_ASCII_CASE(reason, "timeout"))
- client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_TIMEOUT;
- else if (NM_IN_STRSET_ASCII_CASE(reason, "nak", "expire", "expire6"))
- client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_EXPIRE;
- else if (NM_IN_STRSET_ASCII_CASE(reason, "end", "stop", "stopped"))
- client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_TERMINATED;
- else if (NM_IN_STRSET_ASCII_CASE(reason, "fail", "abend"))
- client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_FAIL;
- else if (NM_IN_STRSET_ASCII_CASE(reason, "preinit"))
- return TRUE;
- else
- client_event_type = NM_DHCP_CLIENT_EVENT_TYPE_UNSPECIFIED;
}
_nm_dhcp_client_notify(self, client_event_type, l3cd);