[PATCH] dhcpcd: Teach DHCP client to do unicast-ARP for gateway

Cherry-picked from
https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/
master/net-misc/dhcpcd/files/patches/dhcpcd-6.8.2-Teach-DHCP-client-to-do-
unicast-ARP-for-gatew.patch.

Implement RFC-4436 ("Detecting Network Attachment in IPv4 (DNAv4)").
Keep track of the MAC address of the default gateway in a file as
a part of the arpgw change ("-R" option), and append this info to
the end of the saved lease.

Implement a separate command line option ("-P") which will use
the MAC address stored in the lease to do a unicast ARP to the
default gateway saved in the lease.  If this succeeds, notify
listeners that this succeeded, along with the contents of the lease,
but do not stop the normal DHCP process.  This returns immediate,
fast feedback that our lease will likely work, but continues the
DHCP process so we know for sure.

BUG: 22956197
Change-Id: I4a494ff227b8bddac78e53c6354ebfa904bf384d

Reviewed-on: https://gerrit.chromium.org/gerrit/22643
9 files changed