From: Eric Dumazet Date: Wed, 12 Feb 2025 13:24:15 +0000 (+0000) Subject: net: introduce EXPORT_IPV6_MOD() and EXPORT_IPV6_MOD_GPL() X-Git-Tag: v6.15-rc1~160^2~325^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=54568a84c95bdea20227cf48d41f198d083e78dd;p=thirdparty%2Fkernel%2Flinux.git net: introduce EXPORT_IPV6_MOD() and EXPORT_IPV6_MOD_GPL() We have many EXPORT_SYMBOL(x) in networking tree because IPv6 can be built as a module. CONFIG_IPV6=y is becoming the norm. Define a EXPORT_IPV6_MOD(x) which only exports x for modular IPv6. Same principle applies to EXPORT_IPV6_MOD_GPL() Signed-off-by: Eric Dumazet Reviewed-by: Kuniyuki Iwashima Reviewed-by: Mateusz Polchlopek Link: https://patch.msgid.link/20250212132418.1524422-2-edumazet@google.com Signed-off-by: Jakub Kicinski --- diff --git a/include/net/ip.h b/include/net/ip.h index ba7b43447775e..305eccdf4ff76 100644 --- a/include/net/ip.h +++ b/include/net/ip.h @@ -673,6 +673,14 @@ static inline void ip_ipgre_mc_map(__be32 naddr, const unsigned char *broadcast, memcpy(buf, &naddr, sizeof(naddr)); } +#if IS_MODULE(CONFIG_IPV6) +#define EXPORT_IPV6_MOD(X) EXPORT_SYMBOL(X) +#define EXPORT_IPV6_MOD_GPL(X) EXPORT_SYMBOL_GPL(X) +#else +#define EXPORT_IPV6_MOD(X) +#define EXPORT_IPV6_MOD_GPL(X) +#endif + #if IS_ENABLED(CONFIG_IPV6) #include #endif