diff options
Diffstat (limited to 'networking/udhcp/dhcpc.c')
-rw-r--r-- | networking/udhcp/dhcpc.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c index ab34b0472..44ff197b9 100644 --- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c | |||
@@ -273,9 +273,14 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) | |||
273 | client_config.opt_mask[n >> 3] |= 1 << (n & 7); | 273 | client_config.opt_mask[n >> 3] |= 1 << (n & 7); |
274 | } | 274 | } |
275 | 275 | ||
276 | if (udhcp_read_interface(client_config.interface, &client_config.ifindex, | 276 | if (udhcp_read_interface(client_config.interface, |
277 | NULL, client_config.arp)) | 277 | &client_config.ifindex, |
278 | NULL, | ||
279 | client_config.client_mac) | ||
280 | ) { | ||
278 | return 1; | 281 | return 1; |
282 | } | ||
283 | |||
279 | #if !BB_MMU | 284 | #if !BB_MMU |
280 | /* on NOMMU reexec (i.e., background) early */ | 285 | /* on NOMMU reexec (i.e., background) early */ |
281 | if (!(opt & OPT_f)) { | 286 | if (!(opt & OPT_f)) { |
@@ -303,7 +308,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) | |||
303 | if (!client_config.clientid && !(opt & OPT_C)) { | 308 | if (!client_config.clientid && !(opt & OPT_C)) { |
304 | client_config.clientid = alloc_dhcp_option(DHCP_CLIENT_ID, "", 7); | 309 | client_config.clientid = alloc_dhcp_option(DHCP_CLIENT_ID, "", 7); |
305 | client_config.clientid[OPT_DATA] = 1; | 310 | client_config.clientid[OPT_DATA] = 1; |
306 | memcpy(client_config.clientid + OPT_DATA+1, client_config.arp, 6); | 311 | memcpy(client_config.clientid + OPT_DATA+1, client_config.client_mac, 6); |
307 | } | 312 | } |
308 | 313 | ||
309 | if (!client_config.vendorclass) | 314 | if (!client_config.vendorclass) |
@@ -490,7 +495,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) | |||
490 | } | 495 | } |
491 | 496 | ||
492 | /* Ignore packets that aren't for us */ | 497 | /* Ignore packets that aren't for us */ |
493 | if (memcmp(packet.chaddr, client_config.arp, 6)) { | 498 | if (memcmp(packet.chaddr, client_config.client_mac, 6)) { |
494 | DEBUG("Packet does not have our chaddr - ignoring"); | 499 | DEBUG("Packet does not have our chaddr - ignoring"); |
495 | continue; | 500 | continue; |
496 | } | 501 | } |
@@ -555,7 +560,7 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) | |||
555 | if (!arpping(packet.yiaddr, | 560 | if (!arpping(packet.yiaddr, |
556 | NULL, | 561 | NULL, |
557 | (uint32_t) 0, | 562 | (uint32_t) 0, |
558 | client_config.arp, | 563 | client_config.client_mac, |
559 | client_config.interface) | 564 | client_config.interface) |
560 | ) { | 565 | ) { |
561 | bb_info_msg("offered address is in use " | 566 | bb_info_msg("offered address is in use " |