if (!iface || !options || !dhcp)
return -1;
+ memset (&from, 0, sizeof (from));
+ memset (&to, 0, sizeof (to));
+
if (type == DHCP_RELEASE)
to.s_addr = dhcp->serveraddress.s_addr;
- else
- to.s_addr = 0;
memset (&message, 0, sizeof (dhcpmessage_t));
sll.sll_family = AF_PACKET;
sll.sll_protocol = htons (type);
sll.sll_ifindex = if_nametoindex (iface->name);
- sll.sll_halen = ETHER_ADDR_LEN;
+ sll.sll_halen = iface->hwlen;
memset(sll.sll_addr, 0xff, sizeof (sll.sll_addr));
if ((retval = sendto (iface->fd, data, len, 0, (struct sockaddr *) &sll,