mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 04:34:03 +02:00
ipv4: fib: Define fib_table_hash_lock under CONFIG_IP_MULTIPLE_TABLES.
When CONFIG_IP_MULTIPLE_TABLES is disabled, fib_new_table() is fib_get_table(), and no new table is created. Let's move net->ipv4.fib_table_hash_lock under CONFIG_IP_MULTIPLE_TABLES. While at it, netns_ipv4_sysctl.rst is updated. Suggested-by: Ido Schimmel <idosch@nvidia.com> Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Link: https://patch.msgid.link/20260702044437.591864-2-kuniyu@google.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
474cff6868
commit
6041421dd0
|
|
@ -22,6 +22,7 @@ struct_mutex ra_mutex
|
|||
struct_fib_rules_ops* rules_ops
|
||||
struct_fib_table fib_main
|
||||
struct_fib_table fib_default
|
||||
spinlock_t fib_table_hash_lock
|
||||
unsigned_int fib_rules_require_fldissect
|
||||
bool fib_has_custom_rules
|
||||
bool fib_has_custom_local_routes
|
||||
|
|
|
|||
|
|
@ -118,6 +118,7 @@ struct netns_ipv4 {
|
|||
struct fib_rules_ops *rules_ops;
|
||||
struct fib_table __rcu *fib_main;
|
||||
struct fib_table __rcu *fib_default;
|
||||
spinlock_t fib_table_hash_lock;
|
||||
unsigned int fib_rules_require_fldissect;
|
||||
bool fib_has_custom_rules;
|
||||
#endif
|
||||
|
|
@ -127,7 +128,6 @@ struct netns_ipv4 {
|
|||
atomic_t fib_num_tclassid_users;
|
||||
#endif
|
||||
struct hlist_head *fib_table_hash;
|
||||
spinlock_t fib_table_hash_lock;
|
||||
struct sock *fibnl;
|
||||
struct hlist_head *fib_info_hash;
|
||||
unsigned int fib_info_hash_bits;
|
||||
|
|
|
|||
|
|
@ -1584,7 +1584,10 @@ static int __net_init ip_fib_net_init(struct net *net)
|
|||
net->ipv4.sysctl_fib_multipath_hash_fields =
|
||||
FIB_MULTIPATH_HASH_FIELD_DEFAULT_MASK;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_IP_MULTIPLE_TABLES
|
||||
spin_lock_init(&net->ipv4.fib_table_hash_lock);
|
||||
#endif
|
||||
|
||||
/* Avoid false sharing : Use at least a full cache line */
|
||||
size = max_t(size_t, size, L1_CACHE_BYTES);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user