diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2021-02-20 18:09:54 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2021-02-20 18:13:42 +0100 |
commit | 64483324c5422ad8e3cf413929b1360ce6245e7e (patch) | |
tree | 3be20dd5fdaed3b0d72f3d0a92bdbda9e501ee64 | |
parent | 6bdfbc4cb5470f63d4905e89f89a9829af354316 (diff) | |
download | busybox-64483324c5422ad8e3cf413929b1360ce6245e7e.tar.gz |
udhcpc: clarify bcast/unicast sends in logs, include server ID
Before:
sending discover
sending select for 192.168.1.173
lease of 192.168.1.173 obtained, lease time 43200
sending renew to 192.168.1.1
lease of 192.168.1.173 obtained, lease time 43200
After:
broadcasting discover
broadcasting select for 192.168.1.173, server 192.168.1.1
lease of 192.168.1.173 obtained from 192.168.1.1, lease time 43200
sending renew to server 192.168.1.1
lease of 192.168.1.173 obtained from 192.168.1.1, lease time 43200
function old new delta
udhcpc_main 2580 2610 +30
send_select 104 130 +26
send_renew 82 99 +17
send_discover 94 89 -5
send_decline 93 88 -5
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/2 up/down: 73/-10) Total: 63 bytes
text data bss dec hex filename
1019732 559 5020 1025311 fa51f busybox_old
1019898 559 5020 1025477 fa5c5 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | networking/udhcp/dhcpc.c | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c index 922c71ebd..f1f6720f3 100644 --- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c @@ -729,7 +729,7 @@ static NOINLINE int send_discover(uint32_t xid, uint32_t requested) */ add_client_options(&packet); - bb_info_msg("sending %s", "discover"); + bb_simple_info_msg("broadcasting discover"); return raw_bcast_from_client_data_ifindex(&packet, INADDR_ANY); } @@ -742,6 +742,7 @@ static NOINLINE int send_select(uint32_t xid, uint32_t server, uint32_t requeste { struct dhcp_packet packet; struct in_addr temp_addr; + char server_str[sizeof("255.255.255.255")]; /* * RFC 2131 4.3.2 DHCPREQUEST message @@ -772,8 +773,13 @@ static NOINLINE int send_select(uint32_t xid, uint32_t server, uint32_t requeste */ add_client_options(&packet); + temp_addr.s_addr = server; + strcpy(server_str, inet_ntoa(temp_addr)); temp_addr.s_addr = requested; - bb_info_msg("sending select for %s", inet_ntoa(temp_addr)); + bb_info_msg("broadcasting select for %s, server %s", + inet_ntoa(temp_addr), + server_str + ); return raw_bcast_from_client_data_ifindex(&packet, INADDR_ANY); } @@ -782,7 +788,6 @@ static NOINLINE int send_select(uint32_t xid, uint32_t server, uint32_t requeste static NOINLINE int send_renew(uint32_t xid, uint32_t server, uint32_t ciaddr) { struct dhcp_packet packet; - struct in_addr temp_addr; /* * RFC 2131 4.3.2 DHCPREQUEST message @@ -813,8 +818,14 @@ static NOINLINE int send_renew(uint32_t xid, uint32_t server, uint32_t ciaddr) */ add_client_options(&packet); - temp_addr.s_addr = server; - bb_info_msg("sending renew to %s", inet_ntoa(temp_addr)); + if (server) { + struct in_addr temp_addr; + temp_addr.s_addr = server; + bb_info_msg("sending renew to server %s", inet_ntoa(temp_addr)); + } else { + bb_simple_info_msg("broadcasting renew"); + } + return bcast_or_ucast(&packet, ciaddr, server); } @@ -843,7 +854,7 @@ static NOINLINE int send_decline(/*uint32_t xid,*/ uint32_t server, uint32_t req udhcp_add_simple_option(&packet, DHCP_SERVER_ID, server); - bb_info_msg("sending %s", "decline"); + bb_simple_info_msg("broadcasting decline"); return raw_bcast_from_client_data_ifindex(&packet, INADDR_ANY); } #endif @@ -1720,6 +1731,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) unsigned start; uint32_t lease_seconds; struct in_addr temp_addr; + char server_str[sizeof("255.255.255.255")]; uint8_t *temp; temp = udhcp_get_option32(&packet, DHCP_LEASE_TIME); @@ -1775,9 +1787,11 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) } #endif /* enter bound state */ + temp_addr.s_addr = server_addr; + strcpy(server_str, inet_ntoa(temp_addr)); temp_addr.s_addr = packet.yiaddr; - bb_info_msg("lease of %s obtained, lease time %u", - inet_ntoa(temp_addr), (unsigned)lease_seconds); + bb_info_msg("lease of %s obtained from %s, lease time %u", + inet_ntoa(temp_addr), server_str, (unsigned)lease_seconds); requested_ip = packet.yiaddr; start = monotonic_sec(); |