1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 #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 /* kernel define is in netfilter_defs.h */ 19 #define NF_DN_NUMHOOKS 7 20 #endif /* ! __KERNEL__ */ 21 22 /* DECnet Hooks */ 23 /* After promisc drops, checksum checks. */ 24 #define NF_DN_PRE_ROUTING 0 25 /* If the packet is destined for this box. */ 26 #define NF_DN_LOCAL_IN 1 27 /* If the packet is destined for another interface. */ 28 #define NF_DN_FORWARD 2 29 /* Packets coming from a local process. */ 30 #define NF_DN_LOCAL_OUT 3 31 /* Packets about to hit the wire. */ 32 #define NF_DN_POST_ROUTING 4 33 /* Input Hello Packets */ 34 #define NF_DN_HELLO 5 35 /* Input Routing Packets */ 36 #define NF_DN_ROUTE 6 37 38 enum nf_dn_hook_priorities { 39 NF_DN_PRI_FIRST = INT_MIN, 40 NF_DN_PRI_CONNTRACK = -200, 41 NF_DN_PRI_MANGLE = -150, 42 NF_DN_PRI_NAT_DST = -100, 43 NF_DN_PRI_FILTER = 0, 44 NF_DN_PRI_NAT_SRC = 100, 45 NF_DN_PRI_DNRTMSG = 200, 46 NF_DN_PRI_LAST = INT_MAX, 47 }; 48 49 struct nf_dn_rtmsg { 50 int nfdn_ifindex; 51 }; 52 53 #define NFDN_RTMSG(r) ((unsigned char *)(r) + NLMSG_ALIGN(sizeof(struct nf_dn_rtmsg))) 54 55 #ifndef __KERNEL__ 56 /* backwards compatibility for userspace */ 57 #define DNRMG_L1_GROUP 0x01 58 #define DNRMG_L2_GROUP 0x02 59 #endif 60 61 enum { 62 DNRNG_NLGRP_NONE, 63 #define DNRNG_NLGRP_NONE DNRNG_NLGRP_NONE 64 DNRNG_NLGRP_L1, 65 #define DNRNG_NLGRP_L1 DNRNG_NLGRP_L1 66 DNRNG_NLGRP_L2, 67 #define DNRNG_NLGRP_L2 DNRNG_NLGRP_L2 68 __DNRNG_NLGRP_MAX 69 }; 70 #define DNRNG_NLGRP_MAX (__DNRNG_NLGRP_MAX - 1) 71 72 #endif /*__LINUX_DECNET_NETFILTER_H*/ 73