Do not create ARP entries for RTF_BROADCAST routes.
authormpi <mpi@openbsd.org>
Tue, 26 May 2015 11:55:34 +0000 (11:55 +0000)
committermpi <mpi@openbsd.org>
Tue, 26 May 2015 11:55:34 +0000 (11:55 +0000)
commitd66edcb94fdec88d5424078d0a73e13ff9705877
tree4535d05c4dd6e326698108e730ad0dbb32e0bf63
parent170d586f25c9f4ebc6e2518e770183a3228a117e
Do not create ARP entries for RTF_BROADCAST routes.

This has been done because historically routes to broadcast addresses
were cloned like any ARP entry.  But for obvious reasons, no matching
Ethernet address could ever be resolved.  That's why we played tricks
with the expire timer.

Now that a RTF_BROADCAST route is created per configured IPv4 address,
we need to differenciate duplicated one.  And by not creating an ARP
entry we are allowed to write the IP address in the rt_gateway field,
which prevents MPATH conflicts.

This change is part of a fix to unbreak aliases since the kernel support
multiple connected routes for a subnet.

Found the hardway by djm@, ok claudio@
sys/netinet/if_ether.c