Re: [2.6 patch] ipv4/arp.c:arp_process(): remove bogus #ifdef mess

2007-11-26 Thread Herbert Xu
On Sun, Nov 25, 2007 at 04:30:03PM +, Adrian Bunk wrote:
   
   Please look at net/ipv4/arp.c:arp_process()
   
   Am I right that CONFIG_NET_ETHERNET=n and CONFIG_NETDEV_1000=y or 
   CONFIG_NETDEV_1=y will not be handled correctly there?
   
   And the best solution is to nuke all #ifdef's in this function and make 
   the code unconditionally available?
  
  I think removing those specific ifdefs in arp_process()
  is the best option, yes.
 
 Patch below.

Thanks Adrian.  Patch applied to net-2.6.

Do we need this for stable too?

Chers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [2.6 patch] ipv4/arp.c:arp_process(): remove bogus #ifdef mess

2007-11-26 Thread Adrian Bunk
On Mon, Nov 26, 2007 at 11:19:26PM +0800, Herbert Xu wrote:
 On Sun, Nov 25, 2007 at 04:30:03PM +, Adrian Bunk wrote:

Please look at net/ipv4/arp.c:arp_process()

Am I right that CONFIG_NET_ETHERNET=n and CONFIG_NETDEV_1000=y or 
CONFIG_NETDEV_1=y will not be handled correctly there?

And the best solution is to nuke all #ifdef's in this function and make 
the code unconditionally available?
   
   I think removing those specific ifdefs in arp_process()
   is the best option, yes.
  
  Patch below.
 
 Thanks Adrian.  Patch applied to net-2.6.
 
 Do we need this for stable too?

Unless I'm misunderstanding the code we currently wrongly ignore 
some ARP packages based on the setting of an unrelated option, so
it seems to be a -stable candidate when it's in Linus' tree.

 Chers,

cu
Adrian

-- 

   Is there not promise of rain? Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   Only a promise, Lao Er said.
   Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[2.6 patch] ipv4/arp.c:arp_process(): remove bogus #ifdef mess

2007-11-25 Thread Adrian Bunk
On Mon, Nov 19, 2007 at 09:26:39PM -0800, David Miller wrote:
 From: Adrian Bunk [EMAIL PROTECTED]
 Date: Thu, 8 Nov 2007 04:30:10 +0100
 
  @davem:
  
  Please look at net/ipv4/arp.c:arp_process()
  
  Am I right that CONFIG_NET_ETHERNET=n and CONFIG_NETDEV_1000=y or 
  CONFIG_NETDEV_1=y will not be handled correctly there?
  
  And the best solution is to nuke all #ifdef's in this function and make 
  the code unconditionally available?
 
 I think removing those specific ifdefs in arp_process()
 is the best option, yes.

Patch below.

cu
Adrian


--  snip  --


The #ifdef's in arp_process() were not only a mess, they were also wrong 
in the CONFIG_NET_ETHERNET=n and (CONFIG_NETDEV_1000=y or 
CONFIG_NETDEV_1=y) cases.

Since they are not required this patch removes them.

Also removed are some #ifdef's around #include's that caused compile 
errors after this change.

Signed-off-by: Adrian Bunk [EMAIL PROTECTED]

---

 net/ipv4/arp.c |   19 ---
 1 file changed, 19 deletions(-)

759b820456b1400b2a6b061eca9667bf7a6f053d 
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
index 36d6798..0c5d549 100644
--- a/net/ipv4/arp.c
+++ b/net/ipv4/arp.c
@@ -111,12 +111,8 @@
 #include net/tcp.h
 #include net/sock.h
 #include net/arp.h
-#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
 #include net/ax25.h
-#if defined(CONFIG_NETROM) || defined(CONFIG_NETROM_MODULE)
 #include net/netrom.h
-#endif
-#endif
 #if defined(CONFIG_ATM_CLIP) || defined(CONFIG_ATM_CLIP_MODULE)
 #include net/atmclip.h
 struct neigh_table *clip_tbl_hook;
@@ -731,20 +727,10 @@ static int arp_process(struct sk_buff *skb)
htons(dev_type) != arp-ar_hrd)
goto out;
break;
-#ifdef CONFIG_NET_ETHERNET
case ARPHRD_ETHER:
-#endif
-#ifdef CONFIG_TR
case ARPHRD_IEEE802_TR:
-#endif
-#ifdef CONFIG_FDDI
case ARPHRD_FDDI:
-#endif
-#ifdef CONFIG_NET_FC
case ARPHRD_IEEE802:
-#endif
-#if defined(CONFIG_NET_ETHERNET) || defined(CONFIG_TR) || \
-defined(CONFIG_FDDI)|| defined(CONFIG_NET_FC)
/*
 * ETHERNET, Token Ring and Fibre Channel (which are IEEE 802
 * devices, according to RFC 2625) devices will accept ARP
@@ -759,21 +745,16 @@ static int arp_process(struct sk_buff *skb)
arp-ar_pro != htons(ETH_P_IP))
goto out;
break;
-#endif
-#if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
case ARPHRD_AX25:
if (arp-ar_pro != htons(AX25_P_IP) ||
arp-ar_hrd != htons(ARPHRD_AX25))
goto out;
break;
-#if defined(CONFIG_NETROM) || defined(CONFIG_NETROM_MODULE)
case ARPHRD_NETROM:
if (arp-ar_pro != htons(AX25_P_IP) ||
arp-ar_hrd != htons(ARPHRD_NETROM))
goto out;
break;
-#endif
-#endif
}
 
/* Understand only these message types */

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html