On 8/28/20 4:16 PM, Brian Vazquez wrote: > On Fri, Aug 28, 2020 at 8:12 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote: >> >> On 8/28/20 8:09 AM, Sven Joachim wrote: >>> On 2020-08-27 11:12 -0700, Brian Vazquez wrote: >>> >>>> I've been trying to reproduce it with your config but I didn't >>>> succeed. I also looked at the file after the preprocessor and it >>>> looked good: >>>> >>>> ret = ({ __builtin_expect(!!(ops->match == fib6_rule_match), 1) ? >>>> fib6_rule_match(rule, fl, flags) : ops->match(rule, fl, flags); }) >>> >>> However, in my configuration I have CONFIG_IPV6=m, and so >>> fib6_rule_match is not available as a builtin. I think that's why ld is >>> complaining about the undefined reference. >> >> Same here FWIW. CONFIG_IPV6=m. > > Oh I see, > I tried this and it seems to work fine for me, does this also fix your > problem? if so, I'll prepare the patch, and thanks for helping! > diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c > index 51678a528f85..40dfd1f55899 100644 > --- a/net/core/fib_rules.c > +++ b/net/core/fib_rules.c > @@ -16,7 +16,7 @@ > #include <net/ip_tunnels.h> > #include <linux/indirect_call_wrapper.h> > > -#ifdef CONFIG_IPV6_MULTIPLE_TABLES > +#if defined(CONFIG_IPV6_MULTIPLE_TABLES) && defined(CONFIG_IPV6) Yes, that works for me. You can add this to your patch: Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> # build-tested thanks. -- ~Randy