patch-2.0.29 linux/net/ipv4/arp.c

Next file: linux/net/ipv4/ip_input.c
Previous file: linux/include/scsi/scsi.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.28/linux/net/ipv4/arp.c linux/net/ipv4/arp.c
@@ -1907,12 +1907,14 @@
 		/*
 		 *	net_alias_dev_rcv_sel32 returns main dev if it fails to found other.
 		 */
-		dev = net_alias_dev_rcv_sel32(dev, AF_INET, sip, tip);
+		if (ip_chk_addr(tip) == IS_MYADDR) {
+			dev = net_alias_dev_rcv_sel32(dev, AF_INET, sip, tip);
 
-		if (dev->type != ntohs(arp->ar_hrd) || dev->flags & IFF_NOARP)
-		{
-			kfree_skb(skb, FREE_READ);
-			return 0;
+			if (dev->type != ntohs(arp->ar_hrd) || dev->flags & IFF_NOARP)
+			{
+				kfree_skb(skb, FREE_READ);
+				return 0;
+			}
 		}
 	}
 #endif

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov