Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Sep 2009 22:19:47 +0000 (UTC)
From:      Qing Li <qingli@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r197203 - head/sys/netinet
Message-ID:  <200909142219.n8EMJl36067917@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: qingli
Date: Mon Sep 14 22:19:47 2009
New Revision: 197203
URL: http://svn.freebsd.org/changeset/base/197203

Log:
  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
  MFC after:	immediately

Modified:
  head/sys/netinet/in_pcb.c

Modified: head/sys/netinet/in_pcb.c
==============================================================================
--- head/sys/netinet/in_pcb.c	Mon Sep 14 21:33:00 2009	(r197202)
+++ head/sys/netinet/in_pcb.c	Mon Sep 14 22:19:47 2009	(r197203)
@@ -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) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909142219.n8EMJl36067917>