netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* build breakage due to br_multicast.c referencing ipv6_dev_get_saddr()
@ 2011-03-16 12:34 Jan Beulich
  2011-03-16 15:24 ` Stephen Hemminger
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Jan Beulich @ 2011-03-16 12:34 UTC (permalink / raw)
  To: linus.luessing; +Cc: davem, shemminger, bridge, netdev

With BRIDGE=y and IPV6=m commit
fe29ec41aaa51902aebd63658dfb04fe6fea8be5 ("bridge: Use IPv6
link-local address for multicast listener queries") causes the build to
break.

Similary, even if both are =m, but ipv6.ko got blacklisted (as is
happening in various SuSE distros when disabling IPv6), there's
a runtime problem since bridge.ko then won't load anymore due
to the missing symbol.

I note that infiniband appears to have had a similar problem
(didn't verify whether they have other dependencies on ipv6.ko),
resolved by an odd looking dependency of INFINIBAND_ADDR_TRANS
on !(INFINIBAND = y && IPV6 = m).

IP_VS also seems to have a similar issue.

Resolving this the infiniband way seems rather undesirable to me.
Instead I would think that this and any similar dependency should
get resolved via placing a stub pointer in net/ipv6/addrconf_core.c
(for this particular case), and having ipv6.ko set the pointer to the
actual implementation.

Otherwise, namely in distro kernels, pure IPv4 environments
pointlessly load the (huge) ipv6.ko just to satisfy symbol
references that would never get called.

One unrelated other observation with this change of yours:
daddr is an input argument to ipv6_dev_get_saddr(), yet
it gets initialized only after the function was called. Is that
really correct?

Thanks, Jan


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2011-03-23  2:26 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-16 12:34 build breakage due to br_multicast.c referencing ipv6_dev_get_saddr() Jan Beulich
2011-03-16 15:24 ` Stephen Hemminger
2011-03-16 17:49   ` David Miller
2011-03-17  7:53     ` Jan Beulich
2011-03-17  8:01   ` Jan Beulich
2011-03-17  8:23     ` Eric Dumazet
2011-03-17 13:00     ` David Miller
2011-03-16 16:41 ` Stephen Hemminger
2011-03-16 17:34 ` Brian Haley
2011-03-17  7:57   ` Jan Beulich
2011-03-17 13:45     ` Brian Haley
2011-03-16 17:49 ` David Miller
2011-03-22 21:40 ` Linus Lüssing
2011-03-22 21:40   ` [PATCH] bridge: Fix possibly wrong MLD queries' ethernet source address Linus Lüssing
2011-03-23  2:26     ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).