diff options
author | Thomas Haller <thaller@redhat.com> | 2022-05-24 12:57:59 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2022-05-31 18:32:35 +0200 |
commit | 85b15e02fdd32afbe081266592177b1f86f5dce7 (patch) | |
tree | cafd6dd26c4899bd8a1b0564d883ddc5db030767 | |
parent | 52a0fe584c3b4115f4ef31ade285f1d18b3af614 (diff) | |
download | NetworkManager-85b15e02fdd32afbe081266592177b1f86f5dce7.tar.gz |
dhcp/nettools: cleanup logging for dhcp4_event_handle()
It's pretty pointless to log
<trace> [1653389116.6288] dhcp4 (br0): client event 7
<debug> [1653389116.6288] dhcp4 (br0): received OFFER of 192.168.121.110 from 192.168.121.1
where the obscure event #7 is only telling you that we are going
to log something. Handle logging events first.
In general, drop the "client event %d" message and make sure that all
code paths log something (useful), so we can see in the log that the
event was reached.
-rw-r--r-- | src/core/dhcp/nm-dhcp-nettools.c | 62 |
1 files changed, 32 insertions, 30 deletions
diff --git a/src/core/dhcp/nm-dhcp-nettools.c b/src/core/dhcp/nm-dhcp-nettools.c index 4c44a126be..4b580b47ef 100644 --- a/src/core/dhcp/nm-dhcp-nettools.c +++ b/src/core/dhcp/nm-dhcp-nettools.c @@ -914,14 +914,17 @@ bound4_handle(NMDhcpNettools *self, guint event, NDhcp4ClientLease *lease) static void dhcp4_event_handle(NMDhcpNettools *self, NDhcp4ClientEvent *event) { - NMDhcpNettoolsPrivate *priv = NM_DHCP_NETTOOLS_GET_PRIVATE(self); - const NMDhcpClientConfig *client_config; - struct in_addr server_id; - char addr_str[INET_ADDRSTRLEN]; - int r; + NMDhcpNettoolsPrivate *priv = NM_DHCP_NETTOOLS_GET_PRIVATE(self); + struct in_addr server_id; + struct in_addr yiaddr; + char addr_str[INET_ADDRSTRLEN]; + char addr_str2[INET_ADDRSTRLEN]; + int r; - _LOGT("client event %d", event->event); - client_config = nm_dhcp_client_get_config(NM_DHCP_CLIENT(self)); + if (event->event == N_DHCP4_CLIENT_EVENT_LOG) { + _NMLOG(nm_log_level_from_syslog(event->log.level), "event: %s", event->log.message); + return; + } if (!NM_IN_SET(event->event, N_DHCP4_CLIENT_EVENT_LOG)) { /* In almost all events (even those that we don't expect below), we clear @@ -941,52 +944,51 @@ dhcp4_event_handle(NMDhcpNettools *self, NDhcp4ClientEvent *event) return; } + n_dhcp4_client_lease_get_yiaddr(event->offer.lease, &yiaddr); + if (yiaddr.s_addr == INADDR_ANY) { + _LOGD("selecting lease failed: no yiaddr address"); + return; + } + if (nm_dhcp_client_server_id_is_rejected(NM_DHCP_CLIENT(self), &server_id)) { _LOGD("server-id %s is in the reject-list, ignoring", nm_utils_inet_ntop(AF_INET, &server_id, addr_str)); return; } + _LOGT("selecting offered lease from %s for %s", + _nm_utils_inet4_ntop(server_id.s_addr, addr_str), + _nm_utils_inet4_ntop(yiaddr.s_addr, addr_str2)); + r = n_dhcp4_client_lease_select(event->offer.lease); if (r) { _LOGW("selecting lease failed: %d", r); return; } - break; + + return; case N_DHCP4_CLIENT_EVENT_RETRACTED: case N_DHCP4_CLIENT_EVENT_EXPIRED: _nm_dhcp_client_notify(NM_DHCP_CLIENT(self), NM_DHCP_CLIENT_EVENT_TYPE_EXPIRE, NULL); - break; + return; case N_DHCP4_CLIENT_EVENT_CANCELLED: _nm_dhcp_client_notify(NM_DHCP_CLIENT(self), NM_DHCP_CLIENT_EVENT_TYPE_FAIL, NULL); - break; + return; case N_DHCP4_CLIENT_EVENT_GRANTED: bound4_handle(self, event->event, event->granted.lease); - break; + return; case N_DHCP4_CLIENT_EVENT_EXTENDED: bound4_handle(self, event->event, event->extended.lease); - break; + return; case N_DHCP4_CLIENT_EVENT_DOWN: /* ignore down events, they are purely informational */ - break; - case N_DHCP4_CLIENT_EVENT_LOG: - { - NMLogLevel nm_level; - - nm_level = nm_log_level_from_syslog(event->log.level); - if (nm_logging_enabled(nm_level, LOGD_DHCP4)) { - nm_log(nm_level, - LOGD_DHCP4, - NULL, - NULL, - "dhcp4 (%s): %s", - client_config->iface, - event->log.message); - } - } break; + _LOGT("event: down (ignore)"); + return; default: - _LOGW("unhandled DHCP event %d", event->event); - break; + _LOGE("unhandled DHCP event %d", event->event); + nm_assert(event->event != N_DHCP4_CLIENT_EVENT_LOG); + nm_assert_not_reached(); + return; } } |