xref: /openbmc/linux/include/net/netns/netfilter.h (revision 325f8ab7)
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