mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-06 11:28:32 +02:00
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. (cherry picked from commit85b15e02fd) (cherry picked from commitc9bd7cfc5d)
This commit is contained in:
parent
405bb67e3b
commit
b3f804f917
1 changed files with 32 additions and 30 deletions
|
|
@ -817,14 +817,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
|
||||
|
|
@ -844,52 +847,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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue