PERFORCE change 82530 for review

Robert Watson rwatson at FreeBSD.org
Thu Aug 25 13:35:16 GMT 2005


http://perforce.freebsd.org/chv.cgi?CH=82530

Change 82530 by rwatson at rwatson_paprika on 2005/08/25 13:35:05

	Integrate netsmp:
	
	- Loop back rtsock.c spl cleanup.
	- proxy arp fix.

Affected files ...

.. //depot/projects/netsmp/src/sys/net/rtsock.c#7 integrate
.. //depot/projects/netsmp/src/sys/netinet/if_ether.c#4 integrate

Differences ...

==== //depot/projects/netsmp/src/sys/net/rtsock.c#7 (text+ko) ====

@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)rtsock.c	8.7 (Berkeley) 10/12/95
- * $FreeBSD: src/sys/net/rtsock.c,v 1.126 2005/08/11 08:26:31 glebius Exp $
+ * $FreeBSD: src/sys/net/rtsock.c,v 1.127 2005/08/25 13:30:04 rwatson Exp $
  */
 
 #include <sys/param.h>

==== //depot/projects/netsmp/src/sys/netinet/if_ether.c#4 (text+ko) ====

@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)if_ether.c	8.1 (Berkeley) 6/10/93
- * $FreeBSD: src/sys/netinet/if_ether.c,v 1.139 2005/08/11 08:25:48 glebius Exp $
+ * $FreeBSD: src/sys/netinet/if_ether.c,v 1.140 2005/08/25 13:25:57 glebius Exp $
  */
 
 /*
@@ -851,6 +851,15 @@
 			       inet_ntoa(itaddr));
 #endif
 		} else {
+			/*
+			 * Return proxied ARP replies only on the interface
+			 * where this network resides. Otherwise we may
+			 * conflict with the host we are proxying for.
+			 */
+			if (rt->rt_ifp != ifp) {
+				RT_UNLOCK(rt);
+				goto drop;
+			}
 			sdl = SDL(rt->rt_gateway);
 			(void)memcpy(ar_tha(ah), ar_sha(ah), ah->ar_hln);
 			(void)memcpy(ar_sha(ah), LLADDR(sdl), ah->ar_hln);


More information about the p4-projects mailing list