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_queue_handler __rcu *queue_handler; 17 const struct nf_logger __rcu *nf_loggers[NFPROTO_NUMPROTO]; 18 #ifdef CONFIG_SYSCTL 19 struct ctl_table_header *nf_log_dir_header; 20 #endif 21 struct nf_hook_entries __rcu *hooks_ipv4[NF_INET_NUMHOOKS]; 22 struct nf_hook_entries __rcu *hooks_ipv6[NF_INET_NUMHOOKS]; 23 #ifdef CONFIG_NETFILTER_FAMILY_ARP 24 struct nf_hook_entries __rcu *hooks_arp[NF_ARP_NUMHOOKS]; 25 #endif 26 #ifdef CONFIG_NETFILTER_FAMILY_BRIDGE 27 struct nf_hook_entries __rcu *hooks_bridge[NF_INET_NUMHOOKS]; 28 #endif 29 #if IS_ENABLED(CONFIG_NF_DEFRAG_IPV4) 30 bool defrag_ipv4; 31 #endif 32 #if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6) 33 bool defrag_ipv6; 34 #endif 35 36 ANDROID_KABI_RESERVE(1); 37 }; 38 #endif 39