From c1f7c3f5003abcc3222046f774f72fd1b37d2fdf Mon Sep 17 00:00:00 2001 From: Gleb Smirnoff Date: Sun, 17 Nov 2013 15:14:07 +0000 Subject: [PATCH] In r257692 I intentionally deleted code that handled P2P interfaces with equal addresses on both sides. It appeared that OpenVPN uses such configutations. Submitted by: trociny --- sys/netinet/in.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/netinet/in.c b/sys/netinet/in.c index 7689a74effec..4331e82d72d1 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -449,7 +449,9 @@ in_aifaddr_ioctl(u_long cmd, caddr_t data, struct ifnet *ifp, struct thread *td) * Add a loopback route to self. */ if (vhid == 0 && (ifp->if_flags & IFF_LOOPBACK) == 0 && - ia->ia_addr.sin_addr.s_addr != INADDR_ANY) { + ia->ia_addr.sin_addr.s_addr != INADDR_ANY && + !((ifp->if_flags & IFF_POINTOPOINT) && + ia->ia_dstaddr.sin_addr.s_addr == ia->ia_addr.sin_addr.s_addr)) { struct in_ifaddr *eia; eia = in_localip_more(ia);