Linux Audio
Check our new training course
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
/* SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef _NET_HOTDATA_H #define _NET_HOTDATA_H #include <linux/types.h> #include <linux/netdevice.h> #include <net/protocol.h> /* Read mostly data used in network fast paths. */ struct net_hotdata { #if IS_ENABLED(CONFIG_INET) struct packet_offload ip_packet_offload; struct net_offload tcpv4_offload; struct net_protocol tcp_protocol; struct net_offload udpv4_offload; struct net_protocol udp_protocol; struct packet_offload ipv6_packet_offload; struct net_offload tcpv6_offload; #if IS_ENABLED(CONFIG_IPV6) struct inet6_protocol tcpv6_protocol; struct inet6_protocol udpv6_protocol; #endif struct net_offload udpv6_offload; #endif struct list_head offload_base; struct list_head ptype_all; struct kmem_cache *skbuff_cache; struct kmem_cache *skbuff_fclone_cache; struct kmem_cache *skb_small_head_cache; #ifdef CONFIG_RPS struct rps_sock_flow_table __rcu *rps_sock_flow_table; u32 rps_cpu_mask; #endif int gro_normal_batch; int netdev_budget; int netdev_budget_usecs; int tstamp_prequeue; int max_backlog; int dev_tx_weight; int dev_rx_weight; }; #define inet_ehash_secret net_hotdata.tcp_protocol.secret #define udp_ehash_secret net_hotdata.udp_protocol.secret #define inet6_ehash_secret net_hotdata.tcpv6_protocol.secret #define tcp_ipv6_hash_secret net_hotdata.tcpv6_offload.secret #define udp6_ehash_secret net_hotdata.udpv6_protocol.secret #define udp_ipv6_hash_secret net_hotdata.udpv6_offload.secret extern struct net_hotdata net_hotdata; #endif /* _NET_HOTDATA_H */