public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: roopa <roopa@cumulusnetworks•com>
To: David Miller <davem@davemloft•net>
Cc: tgraf@suug•ch, netdev@vger•kernel.org
Subject: Re: [PATCH net-next] af_mpls: fix undefined reference to ip6_route_output
Date: Wed, 22 Jul 2015 12:30:19 -0700	[thread overview]
Message-ID: <55AFEF4B.6070702@cumulusnetworks.com> (raw)
In-Reply-To: <20150722.104926.1502608671575195516.davem@davemloft.net>

On 7/22/15, 10:49 AM, David Miller wrote:
> From: Thomas Graf <tgraf@suug•ch>
> Date: Wed, 22 Jul 2015 14:23:09 +0200
>
>> On 07/22/15 at 12:10am, Roopa Prabhu wrote:
>>> From: Roopa Prabhu <roopa@cumulusnetworks•com>
>>>
>>> seen with CONFIG_IPV6 disabled. Wrap the code
>>> around IS_ENABLED(CONFIG_IPV6)
>>>
>>> Reported-by: kbuild test robot <fengguang.wu@intel•com>
>>> Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks•com>
>> We need the same for CONFIG_INET=n in inet_fib_lookup_dev:
>>
>> /home/tgraf/dev/linux/net-next/include/net/route.h:122: undefined reference to `ip_route_output_flow'
>>
>> Is it worth returning EAFNOSUPPORT instead of ENODEV in these
>> cases?  Something like this:
>>
>>>   }
>>> +#else
>>> +static struct net_device *inet6_fib_lookup_dev(struct net *net, void *addr)
>>> +{
>>   +	return ERR_PTR(-EAFNOSUPPORT);
>>> +}
>>> +#endif
>> And then IS_ERR() in mpls_route_add()?
> Also IS_ENABLED() _DOES NOT_ work, what if MPLS is 'y' and IPV6 is 'm'?
>
> You can't reache the modular symbol from statically built code.
>
> What a mess.
>
Sorry about that, I was looking at other examples where this is done.
For ipvlan, CONFIG_IPVLAN depends on CONFIG_INET and CONFIG_INET6 and I
don't see any additional checks in the driver.
I am wondering if I should submit a patch that does the same for 
MPLS_ROUTING (I am trying to avoid that though).

diff --git a/net/mpls/Kconfig b/net/mpls/Kconfig
index 5c467ef..2b28615 100644
--- a/net/mpls/Kconfig
+++ b/net/mpls/Kconfig
@@ -24,6 +24,8 @@ config NET_MPLS_GSO

  config MPLS_ROUTING
         tristate "MPLS: routing support"
+       depends on INET
+       depends on IPV6
         ---help---
          Add support for forwarding of mpls packets.


Or I will rework the original patch in a different way.
This was introduced by my below commit. Please revert the below commit 
if there is no easy way to make it work
with MPLS_ROUTING = 'y' and IPV6 = 'm'. I will resubmit the patch. Thanks.


commit 01faef2cebae02685e2bcfc9bbee8416d5ec19fc
Author: Roopa Prabhu <roopa@cumulusnetworks•com>
Date:   Tue Jul 21 09:16:24 2015 -0700

     mpls: make RTA_OIF optional

     If user did not specify an oif, try and get it from the via address.
     If failed to get device, return with -ENODEV.

  reply	other threads:[~2015-07-22 19:30 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-22  7:10 [PATCH net-next] af_mpls: fix undefined reference to ip6_route_output Roopa Prabhu
2015-07-22 12:23 ` Thomas Graf
2015-07-22 17:49   ` David Miller
2015-07-22 19:30     ` roopa [this message]
2015-07-22 19:57       ` Thomas Graf
2015-07-22 20:04         ` David Miller
2015-07-22 20:17           ` Thomas Graf
2015-07-22 20:38             ` roopa
2015-07-23  7:09               ` David Miller
2015-07-23 13:44                 ` roopa
2015-07-27  0:20                   ` David Miller
2015-07-22 20:22           ` roopa
2015-07-22 20:03       ` David Miller
2015-07-22 19:30   ` roopa
  -- strict thread matches above, loose matches on Subject: below --
2015-07-22 23:10 Roopa Prabhu

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=55AFEF4B.6070702@cumulusnetworks.com \
    --to=roopa@cumulusnetworks$(echo .)com \
    --cc=davem@davemloft$(echo .)net \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=tgraf@suug$(echo .)ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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