On 2020-08-28 16:42 -0700, Randy Dunlap wrote: > 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 Works for me as well. Cheers, Sven