1  /* SPDX-License-Identifier: GPL-2.0 */
2  #ifndef __NETNS_NETFILTER_H
3  #define __NETNS_NETFILTER_H
4  
5  #include <linux/netfilter_defs.h>
6  
7  struct proc_dir_entry;
8  struct nf_logger;
9  struct nf_queue_handler;
10  
11  struct netns_nf {
12  #if defined CONFIG_PROC_FS
13  	struct proc_dir_entry *proc_netfilter;
14  #endif
15  	const struct nf_logger __rcu *nf_loggers[NFPROTO_NUMPROTO];
16  #ifdef CONFIG_SYSCTL
17  	struct ctl_table_header *nf_log_dir_header;
18  #ifdef CONFIG_LWTUNNEL
19  	struct ctl_table_header *nf_lwtnl_dir_header;
20  #endif
21  #endif
22  	struct nf_hook_entries __rcu *hooks_ipv4[NF_INET_NUMHOOKS];
23  	struct nf_hook_entries __rcu *hooks_ipv6[NF_INET_NUMHOOKS];
24  #ifdef CONFIG_NETFILTER_FAMILY_ARP
25  	struct nf_hook_entries __rcu *hooks_arp[NF_ARP_NUMHOOKS];
26  #endif
27  #ifdef CONFIG_NETFILTER_FAMILY_BRIDGE
28  	struct nf_hook_entries __rcu *hooks_bridge[NF_INET_NUMHOOKS];
29  #endif
30  #if IS_ENABLED(CONFIG_NF_DEFRAG_IPV4)
31  	unsigned int defrag_ipv4_users;
32  #endif
33  #if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6)
34  	unsigned int defrag_ipv6_users;
35  #endif
36  };
37  #endif
38