summaryrefslogtreecommitdiff
path: root/sys/net/route.c
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2015-04-20 09:07:43 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2015-04-20 09:07:43 +0000
commitf705daffce69cba3aa82a487243eeff765b96a7e (patch)
tree026ba002492f25746b0cd2e445af54308feafa6d /sys/net/route.c
parenta233a9c1e997de5f900dcd9303f3992d9826ef6c (diff)
Do not treat loopback interfaces as p2p interfaces and create only
one route to "::1". Due to a clever BSD trick, the `ifa_dstaddr` field of addresses on IFF_LOOPBACK ifps is set to the same value that `ifa_addr`. That's why filtering for broadcast addresses is so complicated, because guess what, `ifa_broadaddr` is the same as `ifa_dstaddr`! Sadly our IPv6 code was "only" checking for `ifa_dstaddr` without looking if the ifa was attached to a IFF_POINTOTPOINT interface. So it always tried to create two routes to "::1" and, with the recent RTF_LOCAL work, succeed. You should now have only one local route to "::1". ::1 ::1 UHl 14 0 32768 1 lo0 -::1 ::1 UH 0 0 32768 4 lo0 ok henning@
Diffstat (limited to 'sys/net/route.c')
0 files changed, 0 insertions, 0 deletions