All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cong Wang <amwang@redhat.com>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Subject: Re: [Patch net-next v5 0/5] vxlan: add ipv6 support
Date: Tue, 23 Apr 2013 11:30:41 +0800	[thread overview]
Message-ID: <1366687841.21136.6.camel@cr0> (raw)
In-Reply-To: <20130422.160834.1941810644323096368.davem@davemloft.net>

On Mon, 2013-04-22 at 16:08 -0400, David Miller wrote:
> This is broken.  Every time I see someone export new things from IPV6
> and then try to use those symbols in some other unrelated module, it
> is a huge red flag.
> 
> You can't call into IPV6 protected symbols unless VXLAN and IPV6 are
> configured identically.
> 
> So with your changes, with VXLAN=y and IPV6=m, you'll get link errors.
> I could see this just by looking at your patch, I didn't have to even
> try to build it.

Yeah, the IPv6 multicast API's we export indeed have such problem.

> 
> Please do not fix this by adding Kconfig dependencies, you have to
> find another way.  In bonding and bridging, we've made it such that
> you can configure them in any combination whatsoever with ipv6 and
> everything works properly.  Most of them time this can be accomplished
> by moving things into the explicit "obj-y" objects in
> net/ipv6/Makefile

One quick solution is just linking mcast.o statically, because it is not
easy to separate core functions from mcast.c like addrconf_core.c.

> 
> If you are adding stateful dependencies upon ipv6 (you want to inspect
> the ipv6 routes or something like that), I'm sorry but I really don't
> want any hard dependies on ipv6's internal state, we can't export that
> properly.

I don't think we need that.

Thanks!

  reply	other threads:[~2013-04-23  3:30 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-21 14:23 [Patch net-next v5 0/5] vxlan: add ipv6 support Cong Wang
2013-04-21 14:23 ` [Patch net-next v5 1/5] vxlan: defer vxlan init as late as possible Cong Wang
2013-04-21 14:23 ` [Patch net-next v5 2/5] ipv6: export ipv6_sock_mc_join and ipv6_sock_mc_drop Cong Wang
2013-04-21 14:23 ` [Patch net-next v5 3/5] ipv6: export in6addr_loopback to modules Cong Wang
2013-04-21 14:23 ` [Patch net-next v5 4/5] vxlan: add ipv6 support Cong Wang
2013-04-22 12:43   ` David Stevens
2013-04-21 14:23 ` [Patch net-next v5 5/5] ipv6: Add generic UDP Tunnel segmentation Cong Wang
2013-04-21 19:42 ` [Patch net-next v5 0/5] vxlan: add ipv6 support Stephen Hemminger
2013-04-22 20:08 ` David Miller
2013-04-23  3:30   ` Cong Wang [this message]
2013-04-23  6:27     ` Cong Wang
2013-04-23  6:51       ` Stephen Hemminger
2013-04-23  6:59         ` Cong Wang
2013-04-23  7:05       ` 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=1366687841.21136.6.camel@cr0 \
    --to=amwang@redhat.com \
    --cc=davem@davemloft.net \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.