Subject: Re: [ofa-general] Re: linux-next: origin tree build failure

From: Roland Dreier <[email-masked]>
Date: Mon, 29 Dec 2008 13:48:18 -0800

>  > I'd suggest
 >  > 
 >  >   config IF_IPV6
 >  > 	bool
 >  > 	depends on INET
 >  > 	depends on !(INFINIBAND = y && IPV6 = m)
 >  > 	default y
 > 
 > Makes sense, will do.  How about calling it INFINIBAND_USE_IPV6 or
 > something like that, though?  (Since it's under the INFINIBAND config
 > stuff and exists to forbid INFINIBAND=y && IPV6=m trying to use IPv6).

Actually, thinking about this for 30 more seconds, I'm not sure how
another config symbol helps at all.  I do like splitting dependencies
onto multiple lines as a replacement for &&, so I have:

config INFINIBAND_ADDR_TRANS
	bool
	depends on INET
	depends on !(INFINIBAND = y && IPV6 = m)
	default y

right now.

Not sure if it's worth introducing another Kconfig symbol that depends
on IPV6 != n to avoid the

#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)

tests.  I note that there are tons of that construction all over the
tree, and the places without it look somewhat dubious (eg
net/ipv4/ip_gre.c looks as if it will do the wrong thing if IPV6=m).
Maybe adding CONFIG_IPV6_ENABLED or something and cleaning up the whole
tree would be a good janitorial project?

 - R.