Always create a local route for every configured IPv4 address on the
authormpi <mpi@openbsd.org>
Sat, 12 Jul 2014 14:26:00 +0000 (14:26 +0000)
committermpi <mpi@openbsd.org>
Sat, 12 Jul 2014 14:26:00 +0000 (14:26 +0000)
commitcaa91aed3aa51e540acc1295cfef16151062fd3c
treec21cf5bcddb3a68772aa19ba9261f5ceae7c9d4b
parent044486df79bf404cf7baffebf88dfdbe5084da98
Always create a local route for every configured IPv4 address on the
machine and restore the original behavior of RTM_ADD and RTM_DELETE
by always generating one message per locally configured address.

This time, make sure the local route is removed during an address change,
since at least pppoe(4) do some funky magics with wildcard addresses that
might corrupt the routing tree, as found by naddy@

Also do not add a local route if the specified address is 0.0.0.0, to
prevent a tree corruption, as found by guenther@.

Putting this in now so that it gets tested, claudio@ agrees.  Please
contact me if you find any route-related regression caused by this
change.
sys/net/route.c
sys/netinet/if_ether.c
sys/netinet/in.c