Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 918ee507 authored by Petr Machata's avatar Petr Machata Committed by David S. Miller
Browse files

net: ipv6: Introduce ip6_multipath_hash_policy()



In order to abstract away access to the
ipv6.sysctl.multipath_hash_policy variable, which is not available on
systems compiled without IPv6 support, introduce a wrapper function
ip6_multipath_hash_policy() that falls back to 0 on non-IPv6 systems.

Use this wrapper from mlxsw/spectrum_router instead of a direct
reference.

Signed-off-by: default avatarPetr Machata <petrm@mellanox.com>
Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 129cf5f7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -7031,7 +7031,7 @@ static void mlxsw_sp_mp4_hash_init(char *recr2_pl)

static void mlxsw_sp_mp6_hash_init(char *recr2_pl)
{
	bool only_l3 = !init_net.ipv6.sysctl.multipath_hash_policy;
	bool only_l3 = !ip6_multipath_hash_policy(&init_net);

	mlxsw_sp_mp_hash_header_set(recr2_pl,
				    MLXSW_REG_RECR2_IPV6_EN_NOT_TCP_NOT_UDP);
+11 −0
Original line number Diff line number Diff line
@@ -888,6 +888,17 @@ static inline int ip6_default_np_autolabel(struct net *net)
}
#endif

#if IS_ENABLED(CONFIG_IPV6)
static inline int ip6_multipath_hash_policy(const struct net *net)
{
	return net->ipv6.sysctl.multipath_hash_policy;
}
#else
static inline int ip6_multipath_hash_policy(const struct net *net)
{
	return 0;
}
#endif

/*
 *	Header manipulation