130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* IPv6-specific defines for netfilter. 230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * (C)1998 Rusty Russell -- This code is GPL. 330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * (C)1999 David Jeffery 430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * this header was blatantly ripped from netfilter_ipv4.h 530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * it's amazing what adding a bunch of 6s can do =8^) 630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng */ 730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _UAPI__LINUX_IP6_NETFILTER_H 830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _UAPI__LINUX_IP6_NETFILTER_H 930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/netfilter.h> 1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* only for userspace compatibility */ 1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef __KERNEL__ 1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <limits.h> /* for INT_MIN, INT_MAX */ 1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* IP Cache bits. */ 1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Src IP address. */ 2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NFC_IP6_SRC 0x0001 2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Dest IP address. */ 2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NFC_IP6_DST 0x0002 2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Input device. */ 2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NFC_IP6_IF_IN 0x0004 2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Output device. */ 2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NFC_IP6_IF_OUT 0x0008 2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* TOS. */ 2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NFC_IP6_TOS 0x0010 2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Protocol. */ 3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NFC_IP6_PROTO 0x0020 3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* IP options. */ 3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NFC_IP6_OPTIONS 0x0040 3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Frag & flags. */ 3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NFC_IP6_FRAG 0x0080 3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 3730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Per-protocol information: only matters if proto match. */ 3830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* TCP flags. */ 3930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NFC_IP6_TCPFLAGS 0x0100 4030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Source port. */ 4130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NFC_IP6_SRC_PT 0x0200 4230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Dest port. */ 4330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NFC_IP6_DST_PT 0x0400 4430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Something else about the proto */ 4530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NFC_IP6_PROTO_UNKNOWN 0x2000 4630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 4730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* IP6 Hooks */ 4830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* After promisc drops, checksum checks. */ 4930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NF_IP6_PRE_ROUTING 0 5030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* If the packet is destined for this box. */ 5130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NF_IP6_LOCAL_IN 1 5230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* If the packet is destined for another interface. */ 5330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NF_IP6_FORWARD 2 5430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Packets coming from a local process. */ 5530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NF_IP6_LOCAL_OUT 3 5630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Packets about to hit the wire. */ 5730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NF_IP6_POST_ROUTING 4 5830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NF_IP6_NUMHOOKS 5 5930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* ! __KERNEL__ */ 6030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 6130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 6230692c65c4174412c90e79489e98ab85c1a7412fBen Chengenum nf_ip6_hook_priorities { 6330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng NF_IP6_PRI_FIRST = INT_MIN, 6430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng NF_IP6_PRI_CONNTRACK_DEFRAG = -400, 6530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng NF_IP6_PRI_RAW = -300, 6630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng NF_IP6_PRI_SELINUX_FIRST = -225, 6730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng NF_IP6_PRI_CONNTRACK = -200, 6830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng NF_IP6_PRI_MANGLE = -150, 6930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng NF_IP6_PRI_NAT_DST = -100, 7030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng NF_IP6_PRI_FILTER = 0, 7130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng NF_IP6_PRI_SECURITY = 50, 7230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng NF_IP6_PRI_NAT_SRC = 100, 7330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng NF_IP6_PRI_SELINUX_LAST = 225, 7430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng NF_IP6_PRI_CONNTRACK_HELPER = 300, 7530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng NF_IP6_PRI_LAST = INT_MAX, 7630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 7730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 7830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 7930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* _UAPI__LINUX_IP6_NETFILTER_H */ 80