diff mbox

build breakage due to br_multicast.c referencing ipv6_dev_get_saddr()

Message ID 20110316.104937.189702706.davem@davemloft.net
State Not Applicable, archived
Delegated to: David Miller
Headers show

Commit Message

David Miller March 16, 2011, 5:49 p.m. UTC
From: Stephen Hemminger <shemminger@linux-foundation.org>
Date: Wed, 16 Mar 2011 08:24:41 -0700

> On Wed, 16 Mar 2011 12:34:19 +0000
> "Jan Beulich" <JBeulich@novell.com> wrote:
> 
>> With BRIDGE=y and IPV6=m commit
>> fe29ec41aaa51902aebd63658dfb04fe6fea8be5 ("bridge: Use IPv6
>> link-local address for multicast listener queries") causes the build to
>> break.
> 
> Rather than continue with the config games, lets just make the necessary
> ipv6 pieces accessible.

You can't Stephen, ipv6_dev_get_saddr() requires access to the actual ipv6
device state, that means you have to pull in the entire ipv6 stack in because
there are dependencies all the way down into the routing code.

We added a Kconfig fix to cure this specific problem, which made it
into 2.6.38-final, so I don't understand why Jan is even seeing this,
it's supposed to force BRIDGE modular if IPV6 is modular:

commit dcbcdf22f500ac6e4ec06485341024739b9dc241
Author: Randy Dunlap <randy.dunlap@oracle.com>
Date:   Thu Mar 10 13:45:57 2011 -0800

    net: bridge builtin vs. ipv6 modular
    
    When configs BRIDGE=y and IPV6=m, this build error occurs:
    
    br_multicast.c:(.text+0xa3341): undefined reference to `ipv6_dev_get_saddr'
    
    BRIDGE_IGMP_SNOOPING is boolean; if it were tristate, then adding
    	depends on IPV6 || IPV6=n
    to BRIDGE_IGMP_SNOOPING would be a good fix.  As it is currently,
    making BRIDGE depend on the IPV6 config works.
    
    Reported-by: Patrick Schaaf <netdev@bof.de>
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

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

Comments

Jan Beulich March 17, 2011, 7:53 a.m. UTC | #1
>>> On 16.03.11 at 18:49, David Miller <davem@davemloft.net> wrote:
> From: Stephen Hemminger <shemminger@linux-foundation.org>
> Date: Wed, 16 Mar 2011 08:24:41 -0700
> 
>> On Wed, 16 Mar 2011 12:34:19 +0000
>> "Jan Beulich" <JBeulich@novell.com> wrote:
>> 
>>> With BRIDGE=y and IPV6=m commit
>>> fe29ec41aaa51902aebd63658dfb04fe6fea8be5 ("bridge: Use IPv6
>>> link-local address for multicast listener queries") causes the build to
>>> break.
>> 
>> Rather than continue with the config games, lets just make the necessary
>> ipv6 pieces accessible.
> 
> You can't Stephen, ipv6_dev_get_saddr() requires access to the actual ipv6
> device state, that means you have to pull in the entire ipv6 stack in 
> because
> there are dependencies all the way down into the routing code.
> 
> We added a Kconfig fix to cure this specific problem, which made it
> into 2.6.38-final, so I don't understand why Jan is even seeing this,
> it's supposed to force BRIDGE modular if IPV6 is modular:

Oh, sorry, I was still on -rc7.

Nevertheless, I don't think this is the right way to fix it (nor
in infiniband and possibly ip_vs as pointed out).

Jan

> commit dcbcdf22f500ac6e4ec06485341024739b9dc241
> Author: Randy Dunlap <randy.dunlap@oracle.com>
> Date:   Thu Mar 10 13:45:57 2011 -0800
> 
>     net: bridge builtin vs. ipv6 modular
>     
>     When configs BRIDGE=y and IPV6=m, this build error occurs:
>     
>     br_multicast.c:(.text+0xa3341): undefined reference to 
> `ipv6_dev_get_saddr'
>     
>     BRIDGE_IGMP_SNOOPING is boolean; if it were tristate, then adding
>     	depends on IPV6 || IPV6=n
>     to BRIDGE_IGMP_SNOOPING would be a good fix.  As it is currently,
>     making BRIDGE depend on the IPV6 config works.
>     
>     Reported-by: Patrick Schaaf <netdev@bof.de>
>     Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
>     Signed-off-by: David S. Miller <davem@davemloft.net>
> 
> diff --git a/net/bridge/Kconfig b/net/bridge/Kconfig
> index 9190ae4..6dee7bf 100644
> --- a/net/bridge/Kconfig
> +++ b/net/bridge/Kconfig
> @@ -6,6 +6,7 @@ config BRIDGE
>  	tristate "802.1d Ethernet Bridging"
>  	select LLC
>  	select STP
> +	depends on IPV6 || IPV6=n
>  	---help---
>  	  If you say Y here, then your Linux box will be able to act as an
>  	  Ethernet bridge, which means that the different Ethernet segments it



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/bridge/Kconfig b/net/bridge/Kconfig
index 9190ae4..6dee7bf 100644
--- a/net/bridge/Kconfig
+++ b/net/bridge/Kconfig
@@ -6,6 +6,7 @@  config BRIDGE
 	tristate "802.1d Ethernet Bridging"
 	select LLC
 	select STP
+	depends on IPV6 || IPV6=n
 	---help---
 	  If you say Y here, then your Linux box will be able to act as an
 	  Ethernet bridge, which means that the different Ethernet segments it