1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _NF_INTERNALS_H 3 #define _NF_INTERNALS_H 4 5 #include <linux/list.h> 6 #include <linux/skbuff.h> 7 #include <linux/netdevice.h> 8 9 /* nf_conntrack_netlink.c: applied on tuple filters */ 10 #define CTA_FILTER_F_CTA_IP_SRC (1 << 0) 11 #define CTA_FILTER_F_CTA_IP_DST (1 << 1) 12 #define CTA_FILTER_F_CTA_TUPLE_ZONE (1 << 2) 13 #define CTA_FILTER_F_CTA_PROTO_NUM (1 << 3) 14 #define CTA_FILTER_F_CTA_PROTO_SRC_PORT (1 << 4) 15 #define CTA_FILTER_F_CTA_PROTO_DST_PORT (1 << 5) 16 #define CTA_FILTER_F_CTA_PROTO_ICMP_TYPE (1 << 6) 17 #define CTA_FILTER_F_CTA_PROTO_ICMP_CODE (1 << 7) 18 #define CTA_FILTER_F_CTA_PROTO_ICMP_ID (1 << 8) 19 #define CTA_FILTER_F_CTA_PROTO_ICMPV6_TYPE (1 << 9) 20 #define CTA_FILTER_F_CTA_PROTO_ICMPV6_CODE (1 << 10) 21 #define CTA_FILTER_F_CTA_PROTO_ICMPV6_ID (1 << 11) 22 #define CTA_FILTER_F_MAX (1 << 12) 23 #define CTA_FILTER_F_ALL (CTA_FILTER_F_MAX-1) 24 #define CTA_FILTER_FLAG(ctattr) CTA_FILTER_F_ ## ctattr 25 26 /* nf_queue.c */ 27 void nf_queue_nf_hook_drop(struct net *net); 28 29 /* nf_log.c */ 30 int __init netfilter_log_init(void); 31 32 #ifdef CONFIG_LWTUNNEL 33 /* nf_hooks_lwtunnel.c */ 34 int __init netfilter_lwtunnel_init(void); 35 void netfilter_lwtunnel_fini(void); 36 #endif 37 38 /* core.c */ 39 void nf_hook_entries_delete_raw(struct nf_hook_entries __rcu **pp, 40 const struct nf_hook_ops *reg); 41 int nf_hook_entries_insert_raw(struct nf_hook_entries __rcu **pp, 42 const struct nf_hook_ops *reg); 43 #endif 44