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_logger __rcu *nf_loggers[NFPROTO_NUMPROTO];
16#ifdef CONFIG_SYSCTL
17	struct ctl_table_header *nf_log_dir_header;
18#endif
19	struct nf_hook_entries __rcu *hooks_ipv4[NF_INET_NUMHOOKS];
20	struct nf_hook_entries __rcu *hooks_ipv6[NF_INET_NUMHOOKS];
21#ifdef CONFIG_NETFILTER_FAMILY_ARP
22	struct nf_hook_entries __rcu *hooks_arp[NF_ARP_NUMHOOKS];
23#endif
24#ifdef CONFIG_NETFILTER_FAMILY_BRIDGE
25	struct nf_hook_entries __rcu *hooks_bridge[NF_INET_NUMHOOKS];
26#endif
27#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV4)
28	unsigned int defrag_ipv4_users;
29#endif
30#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6)
31	unsigned int defrag_ipv6_users;
32#endif
33};
34#endif
35