summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shared/n-dhcp4/src/n-dhcp4-c-connection.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/shared/n-dhcp4/src/n-dhcp4-c-connection.c b/shared/n-dhcp4/src/n-dhcp4-c-connection.c
index d4354467d1..a5c8ea66fe 100644
--- a/shared/n-dhcp4/src/n-dhcp4-c-connection.c
+++ b/shared/n-dhcp4/src/n-dhcp4-c-connection.c
@@ -1006,6 +1006,7 @@ static int n_dhcp4_c_connection_send_request(NDhcp4CConnection *connection,
uint64_t timestamp) {
char server_addr[INET_ADDRSTRLEN];
char client_addr[INET_ADDRSTRLEN];
+ char error_msg[128];
int r;
bool broadcast = false;
@@ -1045,45 +1046,45 @@ static int n_dhcp4_c_connection_send_request(NDhcp4CConnection *connection,
case N_DHCP4_C_MESSAGE_REBIND:
broadcast = true;
r = n_dhcp4_c_connection_packet_broadcast(connection, request);
- if (r)
- return r;
break;
case N_DHCP4_C_MESSAGE_INFORM:
broadcast = true;
r = n_dhcp4_c_connection_udp_broadcast(connection, request);
- if (r)
- return r;
-
break;
case N_DHCP4_C_MESSAGE_RENEW:
case N_DHCP4_C_MESSAGE_RELEASE:
r = n_dhcp4_c_connection_udp_send(connection, request);
- if (r)
- return r;
-
break;
default:
c_assert(0);
}
+ if (r) {
+ snprintf(error_msg, sizeof(error_msg), ": error %d", r);
+ } else {
+ error_msg[0] = '\0';
+ }
+
if (request->userdata.client_addr == INADDR_ANY) {
n_dhcp4_c_log(connection->client_config, LOG_INFO,
- "sent %s to %s",
+ "send %s to %s%s",
message_type_to_str(request->userdata.message_type),
broadcast ?
"255.255.255.255" :
inet_ntop(AF_INET, &connection->server_ip,
- server_addr, sizeof(server_addr)));
+ server_addr, sizeof(server_addr)),
+ error_msg);
} else {
n_dhcp4_c_log(connection->client_config, LOG_INFO,
- "sent %s of %s to %s",
+ "send %s of %s to %s%s",
message_type_to_str(request->userdata.message_type),
inet_ntop(AF_INET, &request->userdata.client_addr,
client_addr, sizeof(client_addr)),
broadcast ?
"255.255.255.255" :
inet_ntop(AF_INET, &connection->server_ip,
- server_addr, sizeof(server_addr)));
+ server_addr, sizeof(server_addr)),
+ error_msg);
}
++request->userdata.n_send;