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
7struct proc_dir_entry;
8struct nf_logger;
9struct nf_queue_handler;
10
11struct netns_nf {
12#if defined CONFIG_PROC_FS
13 struct proc_dir_entry *proc_netfilter;
14#endif
15 const struct nf_queue_handler __rcu *queue_handler;
16 const struct nf_logger __rcu *nf_loggers[NFPROTO_NUMPROTO];
17#ifdef CONFIG_SYSCTL
18 struct ctl_table_header *nf_log_dir_header;
19#endif
20 struct nf_hook_entries __rcu *hooks_ipv4[NF_INET_NUMHOOKS];
21 struct nf_hook_entries __rcu *hooks_ipv6[NF_INET_NUMHOOKS];
22#ifdef CONFIG_NETFILTER_FAMILY_ARP
23 struct nf_hook_entries __rcu *hooks_arp[NF_ARP_NUMHOOKS];
24#endif
25#ifdef CONFIG_NETFILTER_FAMILY_BRIDGE
26 struct nf_hook_entries __rcu *hooks_bridge[NF_INET_NUMHOOKS];
27#endif
28#if IS_ENABLED(CONFIG_DECNET)
29 struct nf_hook_entries __rcu *hooks_decnet[NF_DN_NUMHOOKS];
30#endif
31#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV4)
32 bool defrag_ipv4;
33#endif
34#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6)
35 bool defrag_ipv6;
36#endif
37};
38#endif
39