Lines Matching refs:bdp
430 get_fw_dhcp_data(struct bootdata *bdp)
435 memset((char *)bdp, 0, sizeof(*bdp));
446 if (dhcplen > sizeof(bdp->dhcp_packet))
448 OF_getprop(chosen, "bootp-response", &bdp->dhcp_packet,
449 sizeof(bdp->dhcp_packet));
450 SANITY(bdp->dhcp_packet.op == BOOTREPLY, "bogus DHCP packet");
455 bdp->ip_address = bdp->dhcp_packet.yiaddr;
456 ip = ip2dotted(bdp->ip_address);
457 if (memcmp(bdp->dhcp_packet.options, DHCP_OPTIONS_COOKIE, 4) == 0)
458 parse_dhcp_options(&bdp->dhcp_packet,
459 bdp->dhcp_packet.options + 4,
460 &bdp->dhcp_packet.options[dhcplen
461 - DHCP_FIXED_NON_UDP], bdp, ip);
462 if (bdp->root_ip.s_addr == 0)
463 bdp->root_ip = bdp->dhcp_packet.siaddr;
464 if (bdp->swap_ip.s_addr == 0)
465 bdp->swap_ip = bdp->dhcp_packet.siaddr;
480 if (bdp->ip_address.s_addr == 0 &&
484 if (dotted2ip(bootjunkv, &bdp->ip_address.s_addr) == 0)
485 bdp->ip_address.s_addr = 0;
487 if (bdp->ip_mask.s_addr == 0 &&
491 if (dotted2ip(bootjunkv, &bdp->ip_mask.s_addr) == 0)
492 bdp->ip_mask.s_addr = 0;
494 if (bdp->hostname[0] == '\0' &&
496 bdp->hostname, sizeof(bdp->hostname) - 1)) > 0) {
497 bdp->hostname[proplen] = '\0';
499 if (bdp->root[0] == '\0' &&
503 parse_server_path(bootjunkv, &bdp->root_ip, bdp->root);
505 if (bdp->swap[0] == '\0' &&
509 parse_server_path(bootjunkv, &bdp->swap_ip, bdp->swap);