diff options
author | Thomas Haller <thaller@redhat.com> | 2022-05-10 21:09:20 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2022-05-16 16:37:42 +0200 |
commit | 9097679aadc439c23a3f45b47a7eb8b5ca1a7712 (patch) | |
tree | ca53a88827bb3c242091853d5a249f68f8d59890 | |
parent | 802f343d9fac9829f968dc6c0a0270f7e7854b99 (diff) | |
download | NetworkManager-9097679aadc439c23a3f45b47a7eb8b5ca1a7712.tar.gz |
dhcp: move code in nm_dhcp_client_handle_event()
-rw-r--r-- | src/core/dhcp/nm-dhcp-client.c | 54 |
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); |