1 /* SPDX-License-Identifier: GPL-2.0-or-later * 1 2 #ifndef _NET_HOTDATA_H 3 #define _NET_HOTDATA_H 4 5 #include <linux/types.h> 6 #include <linux/netdevice.h> 7 #include <net/protocol.h> 8 9 /* Read mostly data used in network fast paths 10 struct net_hotdata { 11 #if IS_ENABLED(CONFIG_INET) 12 struct packet_offload ip_packet_offl 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_of 18 struct net_offload tcpv6_offload; 19 #if IS_ENABLED(CONFIG_IPV6) 20 struct inet6_protocol tcpv6_protocol 21 struct inet6_protocol udpv6_protocol 22 #endif 23 struct net_offload udpv6_offload; 24 #endif 25 struct list_head offload_base; 26 struct list_head ptype_all; 27 struct kmem_cache *skbuff_cache; 28 struct kmem_cache *skbuff_fclone 29 struct kmem_cache *skb_small_hea 30 #ifdef CONFIG_RPS 31 struct rps_sock_flow_table __rcu *rps_ 32 u32 rps_cpu_mask; 33 #endif 34 int gro_normal_bat 35 int netdev_budget; 36 int netdev_budget_ 37 int tstamp_prequeu 38 int max_backlog; 39 int dev_tx_weight; 40 int dev_rx_weight; 41 int sysctl_max_skb 42 int sysctl_skb_def 43 int sysctl_mem_pcp 44 }; 45 46 #define inet_ehash_secret net_hotdata.tc 47 #define udp_ehash_secret net_hotdata.ud 48 #define inet6_ehash_secret net_hotdata.tc 49 #define tcp_ipv6_hash_secret net_hotdata.tc 50 #define udp6_ehash_secret net_hotdata.ud 51 #define udp_ipv6_hash_secret net_hotdata.ud 52 53 extern struct net_hotdata net_hotdata; 54 55 #endif /* _NET_HOTDATA_H */ 56
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.