1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /* IPv6-specific defines for netfilter.
3  * (C)1998 Rusty Russell -- This code is GPL.
4  * (C)1999 David Jeffery
5  *   this header was blatantly ripped from netfilter_ipv4.h
6  *   it's amazing what adding a bunch of 6s can do =8^)
7  */
8 #ifndef _UAPI__LINUX_IP6_NETFILTER_H
9 #define _UAPI__LINUX_IP6_NETFILTER_H
10 
11 
12 #include <linux/netfilter.h>
13 
14 /* only for userspace compatibility */
15 #ifndef __KERNEL__
16 
17 #include <limits.h> /* for INT_MIN, INT_MAX */
18 
19 /* IP6 Hooks */
20 /* After promisc drops, checksum checks. */
21 #define NF_IP6_PRE_ROUTING	0
22 /* If the packet is destined for this box. */
23 #define NF_IP6_LOCAL_IN		1
24 /* If the packet is destined for another interface. */
25 #define NF_IP6_FORWARD		2
26 /* Packets coming from a local process. */
27 #define NF_IP6_LOCAL_OUT		3
28 /* Packets about to hit the wire. */
29 #define NF_IP6_POST_ROUTING	4
30 #define NF_IP6_NUMHOOKS		5
31 #endif /* ! __KERNEL__ */
32 
33 
34 enum nf_ip6_hook_priorities {
35 	NF_IP6_PRI_FIRST = INT_MIN,
36 	NF_IP6_PRI_RAW_BEFORE_DEFRAG = -450,
37 	NF_IP6_PRI_CONNTRACK_DEFRAG = -400,
38 	NF_IP6_PRI_RAW = -300,
39 	NF_IP6_PRI_SELINUX_FIRST = -225,
40 	NF_IP6_PRI_CONNTRACK = -200,
41 	NF_IP6_PRI_MANGLE = -150,
42 	NF_IP6_PRI_NAT_DST = -100,
43 	NF_IP6_PRI_FILTER = 0,
44 	NF_IP6_PRI_SECURITY = 50,
45 	NF_IP6_PRI_NAT_SRC = 100,
46 	NF_IP6_PRI_SELINUX_LAST = 225,
47 	NF_IP6_PRI_CONNTRACK_HELPER = 300,
48 	NF_IP6_PRI_LAST = INT_MAX,
49 };
50 
51 
52 #endif /* _UAPI__LINUX_IP6_NETFILTER_H */
53