Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ipv6: export fib6_lookup for nft_fib_ipv6

Upcoming patch will call fib6_lookup from nft_fib_ipv6. The EXPORT_SYMBOL is
added twice because there are two implementations of the function, one
is a small stub for MULTIPLE_TABLES=n, only one is compiled into the
kernel depending on .config settings.

Alternative to EXPORT_SYMBOL is to use an indirect call via the
ipv6_stub->fib6_lookup() indirection, but thats more expensive than the
direct call.

Also, nft_fib_ipv6 cannot be builtin if ipv6 is a module.

Signed-off-by: Florian Westphal <fw@strlen.de>

+6
+3
net/ipv6/fib6_rules.c
··· 92 92 93 93 return err; 94 94 } 95 + #if IS_MODULE(CONFIG_NFT_FIB_IPV6) 96 + EXPORT_SYMBOL_GPL(fib6_lookup); 97 + #endif 95 98 96 99 struct dst_entry *fib6_rule_lookup(struct net *net, struct flowi6 *fl6, 97 100 const struct sk_buff *skb,
+3
net/ipv6/ip6_fib.c
··· 342 342 return fib6_table_lookup(net, net->ipv6.fib6_main_tbl, oif, fl6, 343 343 res, flags); 344 344 } 345 + #if IS_MODULE(CONFIG_NFT_FIB_IPV6) 346 + EXPORT_SYMBOL_GPL(fib6_lookup); 347 + #endif 345 348 346 349 static void __net_init fib6_tables_init(struct net *net) 347 350 {