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 #include <linux/android_kabi.h> 7 8 struct proc_dir_entry; 9 struct nf_logger; 10 struct nf_queue_handler; 11 12 struct netns_nf { 13 #if defined CONFIG_PROC_FS 14 struct proc_dir_entry *proc_netfilter; 15 #endif 16 const struct nf_logger __rcu *nf_loggers[NFPROTO_NUMPROTO]; 17 #ifdef CONFIG_SYSCTL 18 struct ctl_table_header *nf_log_dir_header; 19 #ifdef CONFIG_LWTUNNEL 20 struct ctl_table_header *nf_lwtnl_dir_header; 21 #endif 22 #endif 23 struct nf_hook_entries __rcu *hooks_ipv4[NF_INET_NUMHOOKS]; 24 struct nf_hook_entries __rcu *hooks_ipv6[NF_INET_NUMHOOKS]; 25 #ifdef CONFIG_NETFILTER_FAMILY_ARP 26 struct nf_hook_entries __rcu *hooks_arp[NF_ARP_NUMHOOKS]; 27 #endif 28 #ifdef CONFIG_NETFILTER_FAMILY_BRIDGE 29 struct nf_hook_entries __rcu *hooks_bridge[NF_INET_NUMHOOKS]; 30 #endif 31 #if IS_ENABLED(CONFIG_NF_DEFRAG_IPV4) 32 unsigned int defrag_ipv4_users; 33 #endif 34 #if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6) 35 unsigned int defrag_ipv6_users; 36 #endif 37 38 ANDROID_KABI_RESERVE(1); 39 }; 40 #endif 41