svn commit: r197229 - in stable/8/sys: . amd64/include/xen
cddl/contrib/opensolaris contrib/dev/acpica contrib/pf
dev/xen/xenpci netinet
Qing Li
qingli at FreeBSD.org
Tue Sep 15 19:38:30 UTC 2009
Author: qingli
Date: Tue Sep 15 19:38:29 2009
New Revision: 197229
URL: http://svn.freebsd.org/changeset/base/197229
Log:
MFC r197203
Previously local end of point-to-point interface is not reachable
within the system that owns the interface. Packets destined to
the local end point leak to the wire towards the default gateway
if one exists. This behavior is changed as part of the L2/L3
rewrite efforts. The local end point is now reachable within the
system. The inpcb code needs to consider this fact during the
address selection process.
Reviewed by: bz
Approved by: re
Modified:
stable/8/sys/ (props changed)
stable/8/sys/amd64/include/xen/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
stable/8/sys/contrib/dev/acpica/ (props changed)
stable/8/sys/contrib/pf/ (props changed)
stable/8/sys/dev/xen/xenpci/ (props changed)
stable/8/sys/netinet/in_pcb.c
Modified: stable/8/sys/netinet/in_pcb.c
==============================================================================
--- stable/8/sys/netinet/in_pcb.c Tue Sep 15 19:24:18 2009 (r197228)
+++ stable/8/sys/netinet/in_pcb.c Tue Sep 15 19:38:29 2009 (r197229)
@@ -701,6 +701,8 @@ in_pcbladdr(struct inpcb *inp, struct in
ia = ifatoia(ifa_ifwithdstaddr(sintosa(&sain)));
if (ia == NULL)
ia = ifatoia(ifa_ifwithnet(sintosa(&sain)));
+ if (ia == NULL)
+ ia = ifatoia(ifa_ifwithaddr(sintosa(&sain)));
if (cred == NULL || !prison_flag(cred, PR_IP4)) {
if (ia == NULL) {
More information about the svn-src-stable-8
mailing list