xref: /openbmc/linux/include/uapi/linux/netfilter_ipv4.h (revision 597473720f4dc69749542bfcfed4a927a43d935e)
1  /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2  /* IPv4-specific defines for netfilter.
3   * (C)1998 Rusty Russell -- This code is GPL.
4   */
5  #ifndef _UAPI__LINUX_IP_NETFILTER_H
6  #define _UAPI__LINUX_IP_NETFILTER_H
7  
8  
9  #include <linux/netfilter.h>
10  
11  /* only for userspace compatibility */
12  #ifndef __KERNEL__
13  
14  #include <limits.h> /* for INT_MIN, INT_MAX */
15  
16  /* IP Hooks */
17  /* After promisc drops, checksum checks. */
18  #define NF_IP_PRE_ROUTING	0
19  /* If the packet is destined for this box. */
20  #define NF_IP_LOCAL_IN		1
21  /* If the packet is destined for another interface. */
22  #define NF_IP_FORWARD		2
23  /* Packets coming from a local process. */
24  #define NF_IP_LOCAL_OUT		3
25  /* Packets about to hit the wire. */
26  #define NF_IP_POST_ROUTING	4
27  #define NF_IP_NUMHOOKS		5
28  #endif /* ! __KERNEL__ */
29  
30  enum nf_ip_hook_priorities {
31  	NF_IP_PRI_FIRST = INT_MIN,
32  	NF_IP_PRI_RAW_BEFORE_DEFRAG = -450,
33  	NF_IP_PRI_CONNTRACK_DEFRAG = -400,
34  	NF_IP_PRI_RAW = -300,
35  	NF_IP_PRI_SELINUX_FIRST = -225,
36  	NF_IP_PRI_CONNTRACK = -200,
37  	NF_IP_PRI_MANGLE = -150,
38  	NF_IP_PRI_NAT_DST = -100,
39  	NF_IP_PRI_FILTER = 0,
40  	NF_IP_PRI_SECURITY = 50,
41  	NF_IP_PRI_NAT_SRC = 100,
42  	NF_IP_PRI_SELINUX_LAST = 225,
43  	NF_IP_PRI_CONNTRACK_HELPER = 300,
44  	NF_IP_PRI_CONNTRACK_CONFIRM = INT_MAX,
45  	NF_IP_PRI_LAST = INT_MAX,
46  };
47  
48  /* Arguments for setsockopt SOL_IP: */
49  /* 2.0 firewalling went from 64 through 71 (and +256, +512, etc). */
50  /* 2.2 firewalling (+ masq) went from 64 through 76 */
51  /* 2.4 firewalling went 64 through 67. */
52  #define SO_ORIGINAL_DST 80
53  
54  
55  #endif /* _UAPI__LINUX_IP_NETFILTER_H */
56