blob: 9089c38f6abeaf8a6a8350ca74aa2a2849ea2c83 [file] [log] [blame]
Christopher Ferris25981132017-11-14 16:53:49 -08001/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
Ben Cheng30692c62013-10-15 18:26:18 -07002#ifndef __LINUX_DECNET_NETFILTER_H
3#define __LINUX_DECNET_NETFILTER_H
4
5/* DECnet-specific defines for netfilter.
6 * This file (C) Steve Whitehouse 1999 derived from the
7 * ipv4 netfilter header file which is
8 * (C)1998 Rusty Russell -- This code is GPL.
9 */
10
11#include <linux/netfilter.h>
12
13/* only for userspace compatibility */
14#ifndef __KERNEL__
15
16#include <limits.h> /* for INT_MIN, INT_MAX */
17
18/* IP Cache bits. */
19/* Src IP address. */
20#define NFC_DN_SRC 0x0001
21/* Dest IP address. */
22#define NFC_DN_DST 0x0002
23/* Input device. */
24#define NFC_DN_IF_IN 0x0004
25/* Output device. */
26#define NFC_DN_IF_OUT 0x0008
27#endif /* ! __KERNEL__ */
28
29/* DECnet Hooks */
30/* After promisc drops, checksum checks. */
31#define NF_DN_PRE_ROUTING 0
32/* If the packet is destined for this box. */
33#define NF_DN_LOCAL_IN 1
34/* If the packet is destined for another interface. */
35#define NF_DN_FORWARD 2
36/* Packets coming from a local process. */
37#define NF_DN_LOCAL_OUT 3
38/* Packets about to hit the wire. */
39#define NF_DN_POST_ROUTING 4
40/* Input Hello Packets */
41#define NF_DN_HELLO 5
42/* Input Routing Packets */
43#define NF_DN_ROUTE 6
44#define NF_DN_NUMHOOKS 7
45
46enum nf_dn_hook_priorities {
47 NF_DN_PRI_FIRST = INT_MIN,
48 NF_DN_PRI_CONNTRACK = -200,
49 NF_DN_PRI_MANGLE = -150,
50 NF_DN_PRI_NAT_DST = -100,
51 NF_DN_PRI_FILTER = 0,
52 NF_DN_PRI_NAT_SRC = 100,
53 NF_DN_PRI_DNRTMSG = 200,
54 NF_DN_PRI_LAST = INT_MAX,
55};
56
57struct nf_dn_rtmsg {
58 int nfdn_ifindex;
59};
60
61#define NFDN_RTMSG(r) ((unsigned char *)(r) + NLMSG_ALIGN(sizeof(struct nf_dn_rtmsg)))
62
63#ifndef __KERNEL__
64/* backwards compatibility for userspace */
65#define DNRMG_L1_GROUP 0x01
66#define DNRMG_L2_GROUP 0x02
67#endif
68
69enum {
70 DNRNG_NLGRP_NONE,
71#define DNRNG_NLGRP_NONE DNRNG_NLGRP_NONE
72 DNRNG_NLGRP_L1,
73#define DNRNG_NLGRP_L1 DNRNG_NLGRP_L1
74 DNRNG_NLGRP_L2,
75#define DNRNG_NLGRP_L2 DNRNG_NLGRP_L2
76 __DNRNG_NLGRP_MAX
77};
78#define DNRNG_NLGRP_MAX (__DNRNG_NLGRP_MAX - 1)
79
80#endif /*__LINUX_DECNET_NETFILTER_H*/