File Index
Files and directories
Sign in
FILE

hotdata.h

File preview with syntax highlighting.

linux-6.19.14/include/net/hotdata.h C
 1/* SPDX-License-Identifier: GPL-2.0-or-later */
 2#ifndef _NET_HOTDATA_H
 3#define _NET_HOTDATA_H
 4
 5#include <linux/llist.h>
 6#include <linux/types.h>
 7#include <linux/netdevice.h>
 8#include <net/protocol.h>
 9
10struct skb_defer_node {
11	struct llist_head	defer_list;
12	atomic_long_t		defer_count;
13} ____cacheline_aligned_in_smp;
14
15/* Read mostly data used in network fast paths. */
16struct net_hotdata {
17#if IS_ENABLED(CONFIG_INET)
18	struct packet_offload	ip_packet_offload;
19	struct net_offload	tcpv4_offload;
20	struct net_protocol	tcp_protocol;
21	struct net_offload 	udpv4_offload;
22	struct net_protocol	udp_protocol;
23	struct packet_offload	ipv6_packet_offload;
24	struct net_offload	tcpv6_offload;
25#if IS_ENABLED(CONFIG_IPV6)
26	struct inet6_protocol	tcpv6_protocol;
27	struct inet6_protocol	udpv6_protocol;
28#endif
29	struct net_offload	udpv6_offload;
30#endif
31	struct list_head	offload_base;
32	struct kmem_cache	*skbuff_cache;
33	struct kmem_cache	*skbuff_fclone_cache;
34	struct kmem_cache	*skb_small_head_cache;
35#ifdef CONFIG_RPS
36	struct rps_sock_flow_table __rcu *rps_sock_flow_table;
37	u32			rps_cpu_mask;
38#endif
39	struct skb_defer_node __percpu *skb_defer_nodes;
40	int			gro_normal_batch;
41	int			netdev_budget;
42	int			netdev_budget_usecs;
43	int			tstamp_prequeue;
44	int			max_backlog;
45	int			qdisc_max_burst;
46	int			dev_tx_weight;
47	int			dev_rx_weight;
48	int			sysctl_max_skb_frags;
49	int			sysctl_skb_defer_max;
50	int			sysctl_mem_pcpu_rsv;
51};
52
53#define inet_ehash_secret	net_hotdata.tcp_protocol.secret
54#define udp_ehash_secret	net_hotdata.udp_protocol.secret
55#define inet6_ehash_secret	net_hotdata.tcpv6_protocol.secret
56#define tcp_ipv6_hash_secret	net_hotdata.tcpv6_offload.secret
57#define udp6_ehash_secret	net_hotdata.udpv6_protocol.secret
58#define udp_ipv6_hash_secret	net_hotdata.udpv6_offload.secret
59
60extern struct net_hotdata net_hotdata;
61
62#endif /* _NET_HOTDATA_H */
~/ Read-only file preview.