ipv6: move the disable_ipv6_mod knob to core code

From: Jakub Kicinski <kuba@kernel.org>

Make sure disable_ipv6_mod itself is not part of the IPv6 module,
in case core code wants to refer to it. We will remove support
for IPv6=m soon, this change helps make fixes we commit before
that less messy.

Link: https://patch.msgid.link/20260307-net-nd_tbl_fixes-v4-1-e2677e85628c@suse.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jakub Kicinski
2026-03-07 17:50:53 -03:00
parent 908c344d5c
commit 94a4b1f959
3 changed files with 12 additions and 9 deletions

View File

@@ -333,7 +333,12 @@ struct tcp6_timewait_sock {
};
#if IS_ENABLED(CONFIG_IPV6)
bool ipv6_mod_enabled(void);
extern int disable_ipv6_mod;
static inline bool ipv6_mod_enabled(void)
{
return disable_ipv6_mod == 0;
}
static inline struct ipv6_pinfo *inet6_sk(const struct sock *__sk)
{

View File

@@ -124,6 +124,12 @@
#include <trace/events/sock.h>
/* Keep the definition of IPv6 disable here for now, to avoid annoying linker
* issues in case IPv6=m
*/
int disable_ipv6_mod;
EXPORT_SYMBOL(disable_ipv6_mod);
/* The inetsw table contains everything that inet_create needs to
* build a new socket.
*/

View File

@@ -86,8 +86,6 @@ struct ipv6_params ipv6_defaults = {
.autoconf = 1,
};
static int disable_ipv6_mod;
module_param_named(disable, disable_ipv6_mod, int, 0444);
MODULE_PARM_DESC(disable, "Disable IPv6 module such that it is non-functional");
@@ -97,12 +95,6 @@ MODULE_PARM_DESC(disable_ipv6, "Disable IPv6 on all interfaces");
module_param_named(autoconf, ipv6_defaults.autoconf, int, 0444);
MODULE_PARM_DESC(autoconf, "Enable IPv6 address autoconfiguration on all interfaces");
bool ipv6_mod_enabled(void)
{
return disable_ipv6_mod == 0;
}
EXPORT_SYMBOL_GPL(ipv6_mod_enabled);
static struct ipv6_pinfo *inet6_sk_generic(struct sock *sk)
{
const int offset = sk->sk_prot->ipv6_pinfo_offset;