udhcpc: improve logs - show offer as it is received
function old new delta udhcpc_main 2566 2608 +42 .rodata 103248 103272 +24 udhcp_recv_raw_packet 559 562 +3 d6_recv_raw_packet 254 255 +1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/0 up/down: 70/0) Total: 70 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
0ae53451cf
commit
4bbc391c7f
@ -954,7 +954,8 @@ static NOINLINE int d6_recv_raw_packet(struct in6_addr *peer_ipv6, struct d6_pac
|
|||||||
if (peer_ipv6)
|
if (peer_ipv6)
|
||||||
*peer_ipv6 = packet.ip6.ip6_src; /* struct copy */
|
*peer_ipv6 = packet.ip6.ip6_src; /* struct copy */
|
||||||
|
|
||||||
log1("received %s", "a packet");
|
log2("received %s", "a packet");
|
||||||
|
/* log2 because more informative msg for valid packets is printed later at log1 level */
|
||||||
d6_dump_packet(&packet.data);
|
d6_dump_packet(&packet.data);
|
||||||
|
|
||||||
bytes -= sizeof(packet.ip6) + sizeof(packet.udp);
|
bytes -= sizeof(packet.ip6) + sizeof(packet.udp);
|
||||||
|
@ -44,7 +44,8 @@ int FAST_FUNC d6_recv_kernel_packet(struct in6_addr *peer_ipv6
|
|||||||
bb_simple_info_msg("packet with bad magic, ignoring");
|
bb_simple_info_msg("packet with bad magic, ignoring");
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
log1("received %s", "a packet");
|
log2("received %s", "a packet");
|
||||||
|
/* log2 because more informative msg for valid packets is printed later at log1 level */
|
||||||
d6_dump_packet(packet);
|
d6_dump_packet(packet);
|
||||||
|
|
||||||
return bytes;
|
return bytes;
|
||||||
|
@ -975,11 +975,12 @@ static NOINLINE int udhcp_recv_raw_packet(struct dhcp_packet *dhcp_pkt, int fd)
|
|||||||
skip_udp_sum_check:
|
skip_udp_sum_check:
|
||||||
|
|
||||||
if (packet.data.cookie != htonl(DHCP_MAGIC)) {
|
if (packet.data.cookie != htonl(DHCP_MAGIC)) {
|
||||||
bb_simple_info_msg("packet with bad magic, ignoring");
|
log1s("packet with bad magic, ignoring");
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
log1("received %s", "a packet");
|
log2("received %s", "a packet");
|
||||||
|
/* log2 because more informative msg for valid packets is printed later at log1 level */
|
||||||
udhcp_dump_packet(&packet.data);
|
udhcp_dump_packet(&packet.data);
|
||||||
|
|
||||||
bytes -= sizeof(packet.ip) + sizeof(packet.udp);
|
bytes -= sizeof(packet.ip) + sizeof(packet.udp);
|
||||||
@ -1649,13 +1650,13 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
|| memcmp(packet.chaddr, client_data.client_mac, 6) != 0
|
|| memcmp(packet.chaddr, client_data.client_mac, 6) != 0
|
||||||
) {
|
) {
|
||||||
//FIXME: need to also check that last 10 bytes are zero
|
//FIXME: need to also check that last 10 bytes are zero
|
||||||
log1("chaddr does not match%s", ", ignoring packet"); // log2?
|
log1("chaddr does not match%s", ", ignoring packet");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
message = udhcp_get_option(&packet, DHCP_MESSAGE_TYPE);
|
message = udhcp_get_option(&packet, DHCP_MESSAGE_TYPE);
|
||||||
if (message == NULL) {
|
if (message == NULL) {
|
||||||
bb_info_msg("no message type option%s", ", ignoring packet");
|
log1("no message type option%s", ", ignoring packet");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1663,6 +1664,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
case INIT_SELECTING:
|
case INIT_SELECTING:
|
||||||
/* Must be a DHCPOFFER */
|
/* Must be a DHCPOFFER */
|
||||||
if (*message == DHCPOFFER) {
|
if (*message == DHCPOFFER) {
|
||||||
|
struct in_addr temp_addr;
|
||||||
uint8_t *temp;
|
uint8_t *temp;
|
||||||
|
|
||||||
/* What exactly is server's IP? There are several values.
|
/* What exactly is server's IP? There are several values.
|
||||||
@ -1698,7 +1700,8 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
move_from_unaligned32(server_addr, temp);
|
move_from_unaligned32(server_addr, temp);
|
||||||
}
|
}
|
||||||
/*xid = packet.xid; - already is */
|
/*xid = packet.xid; - already is */
|
||||||
requested_ip = packet.yiaddr;
|
temp_addr.s_addr = requested_ip = packet.yiaddr;
|
||||||
|
log1("received an offer of %s", inet_ntoa(temp_addr));
|
||||||
|
|
||||||
/* enter requesting state */
|
/* enter requesting state */
|
||||||
client_data.state = REQUESTING;
|
client_data.state = REQUESTING;
|
||||||
|
@ -95,7 +95,8 @@ int FAST_FUNC udhcp_recv_kernel_packet(struct dhcp_packet *packet, int fd)
|
|||||||
bb_simple_info_msg("packet with bad magic, ignoring");
|
bb_simple_info_msg("packet with bad magic, ignoring");
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
log1("received %s", "a packet");
|
log2("received %s", "a packet");
|
||||||
|
/* log2 because more informative msg for valid packets is printed later at log1 level */
|
||||||
udhcp_dump_packet(packet);
|
udhcp_dump_packet(packet);
|
||||||
|
|
||||||
return bytes;
|
return bytes;
|
||||||
|
Loading…
Reference in New Issue
Block a user