1 /* SPDX-License-Identifier: GPL-2.0-or-later */
5 #include <linux/types.h>
6 #include <linux/netdevice.h>
7 #include <net/protocol.h>
9 /* Read mostly data used in network fast paths. */
11 #if IS_ENABLED(CONFIG_INET)
12 struct packet_offload ip_packet_offload
;
13 struct net_offload tcpv4_offload
;
14 struct net_protocol tcp_protocol
;
15 struct net_offload udpv4_offload
;
16 struct net_protocol udp_protocol
;
17 struct packet_offload ipv6_packet_offload
;
18 struct net_offload tcpv6_offload
;
19 #if IS_ENABLED(CONFIG_IPV6)
20 struct inet6_protocol tcpv6_protocol
;
21 struct inet6_protocol udpv6_protocol
;
23 struct net_offload udpv6_offload
;
25 struct list_head offload_base
;
26 struct list_head ptype_all
;
27 struct kmem_cache
*skbuff_cache
;
28 struct kmem_cache
*skbuff_fclone_cache
;
29 struct kmem_cache
*skb_small_head_cache
;
31 struct rps_sock_flow_table __rcu
*rps_sock_flow_table
;
36 int netdev_budget_usecs
;
41 int sysctl_max_skb_frags
;
42 int sysctl_skb_defer_max
;
43 int sysctl_mem_pcpu_rsv
;
46 #define inet_ehash_secret net_hotdata.tcp_protocol.secret
47 #define udp_ehash_secret net_hotdata.udp_protocol.secret
48 #define inet6_ehash_secret net_hotdata.tcpv6_protocol.secret
49 #define tcp_ipv6_hash_secret net_hotdata.tcpv6_offload.secret
50 #define udp6_ehash_secret net_hotdata.udpv6_protocol.secret
51 #define udp_ipv6_hash_secret net_hotdata.udpv6_offload.secret
53 extern struct net_hotdata net_hotdata
;
55 #endif /* _NET_HOTDATA_H */