From: "Jan Beulich" <JBeulich@novell.com>
To: linus.luessing@web.de
Cc: netdev@vger.kernel.org, bridge@lists.linux-foundation.org,
davem@davemloft.net
Subject: [Bridge] build breakage due to br_multicast.c referencing ipv6_dev_get_saddr()
Date: Wed, 16 Mar 2011 12:34:19 +0000 [thread overview]
Message-ID: <4D80BC5B0200007800036D85@vpn.id2.novell.com> (raw)
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
next reply other threads:[~2011-03-16 12:34 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-16 12:34 Jan Beulich [this message]
2011-03-16 15:24 ` [Bridge] build breakage due to br_multicast.c referencing ipv6_dev_get_saddr() 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 ` [Bridge] [PATCH] bridge: Fix possibly wrong MLD queries' ethernet source address Linus Lüssing
2011-03-23 2:26 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D80BC5B0200007800036D85@vpn.id2.novell.com \
--to=jbeulich@novell.com \
--cc=bridge@lists.linux-foundation.org \
--cc=davem@davemloft.net \
--cc=linus.luessing@web.de \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox