xref: /linux/net/netfilter/nf_internals.h (revision a2225e02)
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