1 #ifndef __LINUX_IP6_NETFILTER_H
2 #define __LINUX_IP6_NETFILTER_H
3 
4 /* IPv6-specific defines for netfilter.
5  * (C)1998 Rusty Russell -- This code is GPL.
6  * (C)1999 David Jeffery
7  *   this header was blatantly ripped from netfilter_ipv4.h
8  *   it's amazing what adding a bunch of 6s can do =8^)
9  */
10 
11 #include <linux/netfilter.h>
12 
13 /* IP Cache bits. */
14 /* Src IP address. */
15 #define NFC_IP6_SRC              0x0001
16 /* Dest IP address. */
17 #define NFC_IP6_DST              0x0002
18 /* Input device. */
19 #define NFC_IP6_IF_IN            0x0004
20 /* Output device. */
21 #define NFC_IP6_IF_OUT           0x0008
22 /* TOS. */
23 #define NFC_IP6_TOS              0x0010
24 /* Protocol. */
25 #define NFC_IP6_PROTO            0x0020
26 /* IP options. */
27 #define NFC_IP6_OPTIONS          0x0040
28 /* Frag & flags. */
29 #define NFC_IP6_FRAG             0x0080
30 
31 
32 /* Per-protocol information: only matters if proto match. */
33 /* TCP flags. */
34 #define NFC_IP6_TCPFLAGS         0x0100
35 /* Source port. */
36 #define NFC_IP6_SRC_PT           0x0200
37 /* Dest port. */
38 #define NFC_IP6_DST_PT           0x0400
39 /* Something else about the proto */
40 #define NFC_IP6_PROTO_UNKNOWN    0x2000
41 
42 
43 /* IP6 Hooks */
44 /* After promisc drops, checksum checks. */
45 #define NF_IP6_PRE_ROUTING	0
46 /* If the packet is destined for this box. */
47 #define NF_IP6_LOCAL_IN		1
48 /* If the packet is destined for another interface. */
49 #define NF_IP6_FORWARD		2
50 /* Packets coming from a local process. */
51 #define NF_IP6_LOCAL_OUT		3
52 /* Packets about to hit the wire. */
53 #define NF_IP6_POST_ROUTING	4
54 #define NF_IP6_NUMHOOKS		5
55 
56 
57 enum nf_ip6_hook_priorities {
58 	NF_IP6_PRI_FIRST = INT_MIN,
59 	NF_IP6_PRI_CONNTRACK = -200,
60 	NF_IP6_PRI_MANGLE = -150,
61 	NF_IP6_PRI_NAT_DST = -100,
62 	NF_IP6_PRI_FILTER = 0,
63 	NF_IP6_PRI_NAT_SRC = 100,
64 	NF_IP6_PRI_LAST = INT_MAX,
65 };
66 
67 #endif /*__LINUX_IP6_NETFILTER_H*/
68