hardware link returns after having been lost.
Make the timeout action for DS_BOUND_GW_CHECK perform ARP retransmissions
rather than just sending a single query.
RFC5227. Rate-limiting is also supported.
Keep ARP stats per packet send type rather than per ARP state. Use the new
stats to replace last_def_ts.
Multiple triggers of arp_gw_check from interface-up-events in quick succession
could cause the dhcpState to become corrupt. Fix by making the ARP_GW_CHECK
be level triggered rather than edge triggered.
Make the timeout calculations in the ARP retransmission code much more
accurate.
Close the ARP fd if we give up on lease defense and go back to requesting a
new lease.
Do a second arp_announcement() after finding the default GW's hwaddr.
Clean up frenew to sanely handle the various ARP checking events. Now renew
signals will be ignored during these states. It was particularly insane
before if a renew signal were received during DS_COLLISION_CHECK.
If the hardware link carrier goes down, do not sleep. Just keep working.
Only go to sleep if the user explicitly deconfigures the interface. This
change is far more sane for non-mobile hosts, and still works fine with
roaming machines: the important thing is the gw hardware address checking that
is triggered when the interface comes back up.
corresponding waits for responses rather than sending two packets and
immediately backgrounding or failing after the second is sent without waiting
for a response.
Set sll_pkttype = PACKET_BROADCAST on outgoing raw dhcp packets.
Condense arguments for send_dhcp_cooked().