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

Next file: linux/net/ipv4/igmp.c
Previous file: linux/net/ipv4/Config.in
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.0.36/linux/net/ipv4/arp.c linux/net/ipv4/arp.c
@@ -1784,13 +1784,15 @@
  *	is not from an IP number.  We can't currently handle this, so toss
  *	it. 
  */  
-#ifdef CONFIG_FDDI
-	if (dev->type == ARPHRD_FDDI)
+#if defined(CONFIG_NET_ETHERNET) || defined(CONFIG_FDDI)
+	if (dev->type == ARPHRD_ETHER || dev->type == ARPHRD_FDDI)
 	{
 		/*
 		 * According to RFC 1390, FDDI devices should accept ARP hardware types
 		 * of 1 (Ethernet).  However, to be more robust, we'll accept hardware
 		 * types of either 1 (Ethernet) or 6 (IEEE 802.2).
+		 *
+		 * ETHERNET devices will accept both hardware types, too. (RFC 1042)
 		 */
 		if (arp->ar_hln != dev->addr_len    || 
 			((ntohs(arp->ar_hrd) != ARPHRD_ETHER) && (ntohs(arp->ar_hrd) != ARPHRD_IEEE802)) ||

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