Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Pkg Iptables
Commits
7e95a8db
Commit
7e95a8db
authored
Dec 21, 2015
by
Arturo Borrero Gonzalez
Browse files
Imported Upstream version 1.4.21
parents
Changes
395
Show whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
395 of 395+
files are displayed.
Plain diff
Email patch
include/linux/netfilter_ipv4/ipt_CLUSTERIP.h
0 → 100644
View file @
7e95a8db
#ifndef _IPT_CLUSTERIP_H_target
#define _IPT_CLUSTERIP_H_target
#include <linux/types.h>
enum
clusterip_hashmode
{
CLUSTERIP_HASHMODE_SIP
=
0
,
CLUSTERIP_HASHMODE_SIP_SPT
,
CLUSTERIP_HASHMODE_SIP_SPT_DPT
,
};
#define CLUSTERIP_HASHMODE_MAX CLUSTERIP_HASHMODE_SIP_SPT_DPT
#define CLUSTERIP_MAX_NODES 16
#define CLUSTERIP_FLAG_NEW 0x00000001
struct
clusterip_config
;
struct
ipt_clusterip_tgt_info
{
__u32
flags
;
/* only relevant for new ones */
__u8
clustermac
[
6
];
__u16
num_total_nodes
;
__u16
num_local_nodes
;
__u16
local_nodes
[
CLUSTERIP_MAX_NODES
];
__u32
hash_mode
;
__u32
hash_initval
;
/* Used internally by the kernel */
struct
clusterip_config
*
config
;
};
#endif
/*_IPT_CLUSTERIP_H_target*/
include/linux/netfilter_ipv4/ipt_ECN.h
0 → 100644
View file @
7e95a8db
/* Header file for iptables ipt_ECN target
*
* (C) 2002 by Harald Welte <laforge@gnumonks.org>
*
* This software is distributed under GNU GPL v2, 1991
*
* ipt_ECN.h,v 1.3 2002/05/29 12:17:40 laforge Exp
*/
#ifndef _IPT_ECN_TARGET_H
#define _IPT_ECN_TARGET_H
#include <linux/types.h>
#include <linux/netfilter/xt_DSCP.h>
#define IPT_ECN_IP_MASK (~XT_DSCP_MASK)
#define IPT_ECN_OP_SET_IP 0x01
/* set ECN bits of IPv4 header */
#define IPT_ECN_OP_SET_ECE 0x10
/* set ECE bit of TCP header */
#define IPT_ECN_OP_SET_CWR 0x20
/* set CWR bit of TCP header */
#define IPT_ECN_OP_MASK 0xce
struct
ipt_ECN_info
{
__u8
operation
;
/* bitset of operations */
__u8
ip_ect
;
/* ECT codepoint of IPv4 header, pre-shifted */
union
{
struct
{
__u8
ece
:
1
,
cwr
:
1
;
/* TCP ECT bits */
}
tcp
;
}
proto
;
};
#endif
/* _IPT_ECN_TARGET_H */
include/linux/netfilter_ipv4/ipt_LOG.h
0 → 100644
View file @
7e95a8db
#ifndef _IPT_LOG_H
#define _IPT_LOG_H
/* make sure not to change this without changing netfilter.h:NF_LOG_* (!) */
#define IPT_LOG_TCPSEQ 0x01
/* Log TCP sequence numbers */
#define IPT_LOG_TCPOPT 0x02
/* Log TCP options */
#define IPT_LOG_IPOPT 0x04
/* Log IP options */
#define IPT_LOG_UID 0x08
/* Log UID owning local socket */
#define IPT_LOG_NFLOG 0x10
/* Unsupported, don't reuse */
#define IPT_LOG_MACDECODE 0x20
/* Decode MAC header */
#define IPT_LOG_MASK 0x2f
struct
ipt_log_info
{
unsigned
char
level
;
unsigned
char
logflags
;
char
prefix
[
30
];
};
#endif
/*_IPT_LOG_H*/
include/linux/netfilter_ipv4/ipt_REJECT.h
0 → 100644
View file @
7e95a8db
#ifndef _IPT_REJECT_H
#define _IPT_REJECT_H
enum
ipt_reject_with
{
IPT_ICMP_NET_UNREACHABLE
,
IPT_ICMP_HOST_UNREACHABLE
,
IPT_ICMP_PROT_UNREACHABLE
,
IPT_ICMP_PORT_UNREACHABLE
,
IPT_ICMP_ECHOREPLY
,
IPT_ICMP_NET_PROHIBITED
,
IPT_ICMP_HOST_PROHIBITED
,
IPT_TCP_RESET
,
IPT_ICMP_ADMIN_PROHIBITED
};
struct
ipt_reject_info
{
enum
ipt_reject_with
with
;
/* reject type */
};
#endif
/*_IPT_REJECT_H*/
include/linux/netfilter_ipv4/ipt_SAME.h
0 → 100644
View file @
7e95a8db
#ifndef _IPT_SAME_H
#define _IPT_SAME_H
#include <linux/types.h>
#define IPT_SAME_MAX_RANGE 10
#define IPT_SAME_NODST 0x01
struct
ipt_same_info
{
unsigned
char
info
;
__u32
rangesize
;
__u32
ipnum
;
__u32
*
iparray
;
/* hangs off end. */
struct
nf_nat_ipv4_range
range
[
IPT_SAME_MAX_RANGE
];
};
#endif
/*_IPT_SAME_H*/
include/linux/netfilter_ipv4/ipt_TTL.h
0 → 100644
View file @
7e95a8db
/* TTL modification module for IP tables
* (C) 2000 by Harald Welte <laforge@netfilter.org> */
#ifndef _IPT_TTL_H
#define _IPT_TTL_H
#include <linux/types.h>
enum
{
IPT_TTL_SET
=
0
,
IPT_TTL_INC
,
IPT_TTL_DEC
};
#define IPT_TTL_MAXMODE IPT_TTL_DEC
struct
ipt_TTL_info
{
__u8
mode
;
__u8
ttl
;
};
#endif
include/linux/netfilter_ipv4/ipt_ULOG.h
0 → 100644
View file @
7e95a8db
/* Header file for IP tables userspace logging, Version 1.8
*
* (C) 2000-2002 by Harald Welte <laforge@gnumonks.org>
*
* Distributed under the terms of GNU GPL */
#ifndef _IPT_ULOG_H
#define _IPT_ULOG_H
#ifndef NETLINK_NFLOG
#define NETLINK_NFLOG 5
#endif
#define ULOG_DEFAULT_NLGROUP 1
#define ULOG_DEFAULT_QTHRESHOLD 1
#define ULOG_MAC_LEN 80
#define ULOG_PREFIX_LEN 32
#define ULOG_MAX_QLEN 50
/* Why 50? Well... there is a limit imposed by the slab cache 131000
* bytes. So the multipart netlink-message has to be < 131000 bytes.
* Assuming a standard ethernet-mtu of 1500, we could define this up
* to 80... but even 50 seems to be big enough. */
/* private data structure for each rule with a ULOG target */
struct
ipt_ulog_info
{
unsigned
int
nl_group
;
size_t
copy_range
;
size_t
qthreshold
;
char
prefix
[
ULOG_PREFIX_LEN
];
};
/* Format of the ULOG packets passed through netlink */
typedef
struct
ulog_packet_msg
{
unsigned
long
mark
;
long
timestamp_sec
;
long
timestamp_usec
;
unsigned
int
hook
;
char
indev_name
[
IFNAMSIZ
];
char
outdev_name
[
IFNAMSIZ
];
size_t
data_len
;
char
prefix
[
ULOG_PREFIX_LEN
];
unsigned
char
mac_len
;
unsigned
char
mac
[
ULOG_MAC_LEN
];
unsigned
char
payload
[
0
];
}
ulog_packet_msg_t
;
#endif
/*_IPT_ULOG_H*/
include/linux/netfilter_ipv4/ipt_addrtype.h
0 → 100644
View file @
7e95a8db
#ifndef _IPT_ADDRTYPE_H
#define _IPT_ADDRTYPE_H
#include <linux/types.h>
enum
{
IPT_ADDRTYPE_INVERT_SOURCE
=
0x0001
,
IPT_ADDRTYPE_INVERT_DEST
=
0x0002
,
IPT_ADDRTYPE_LIMIT_IFACE_IN
=
0x0004
,
IPT_ADDRTYPE_LIMIT_IFACE_OUT
=
0x0008
,
};
struct
ipt_addrtype_info_v1
{
__u16
source
;
/* source-type mask */
__u16
dest
;
/* dest-type mask */
__u32
flags
;
};
/* revision 0 */
struct
ipt_addrtype_info
{
__u16
source
;
/* source-type mask */
__u16
dest
;
/* dest-type mask */
__u32
invert_source
;
__u32
invert_dest
;
};
#endif
include/linux/netfilter_ipv4/ipt_ah.h
0 → 100644
View file @
7e95a8db
#ifndef _IPT_AH_H
#define _IPT_AH_H
#include <linux/types.h>
struct
ipt_ah
{
__u32
spis
[
2
];
/* Security Parameter Index */
__u8
invflags
;
/* Inverse flags */
};
/* Values for "invflags" field in struct ipt_ah. */
#define IPT_AH_INV_SPI 0x01
/* Invert the sense of spi. */
#define IPT_AH_INV_MASK 0x01
/* All possible flags. */
#endif
/*_IPT_AH_H*/
include/linux/netfilter_ipv4/ipt_realm.h
0 → 100644
View file @
7e95a8db
#ifndef _IPT_REALM_H
#define _IPT_REALM_H
#include <linux/netfilter/xt_realm.h>
#define ipt_realm_info xt_realm_info
#endif
/* _IPT_REALM_H */
include/linux/netfilter_ipv4/ipt_ttl.h
0 → 100644
View file @
7e95a8db
/* IP tables module for matching the value of the TTL
* (C) 2000 by Harald Welte <laforge@gnumonks.org> */
#ifndef _IPT_TTL_H
#define _IPT_TTL_H
#include <linux/types.h>
enum
{
IPT_TTL_EQ
=
0
,
/* equals */
IPT_TTL_NE
,
/* not equals */
IPT_TTL_LT
,
/* less than */
IPT_TTL_GT
,
/* greater than */
};
struct
ipt_ttl_info
{
__u8
mode
;
__u8
ttl
;
};
#endif
include/linux/netfilter_ipv6.h
0 → 100644
View file @
7e95a8db
#ifndef __LINUX_IP6_NETFILTER_H
#define __LINUX_IP6_NETFILTER_H
/* IPv6-specific defines for netfilter.
* (C)1998 Rusty Russell -- This code is GPL.
* (C)1999 David Jeffery
* this header was blatantly ripped from netfilter_ipv4.h
* it's amazing what adding a bunch of 6s can do =8^)
*/
#include <linux/netfilter.h>
/* only for userspace compatibility */
/* IP Cache bits. */
/* Src IP address. */
#define NFC_IP6_SRC 0x0001
/* Dest IP address. */
#define NFC_IP6_DST 0x0002
/* Input device. */
#define NFC_IP6_IF_IN 0x0004
/* Output device. */
#define NFC_IP6_IF_OUT 0x0008
/* TOS. */
#define NFC_IP6_TOS 0x0010
/* Protocol. */
#define NFC_IP6_PROTO 0x0020
/* IP options. */
#define NFC_IP6_OPTIONS 0x0040
/* Frag & flags. */
#define NFC_IP6_FRAG 0x0080
/* Per-protocol information: only matters if proto match. */
/* TCP flags. */
#define NFC_IP6_TCPFLAGS 0x0100
/* Source port. */
#define NFC_IP6_SRC_PT 0x0200
/* Dest port. */
#define NFC_IP6_DST_PT 0x0400
/* Something else about the proto */
#define NFC_IP6_PROTO_UNKNOWN 0x2000
/* IP6 Hooks */
/* After promisc drops, checksum checks. */
#define NF_IP6_PRE_ROUTING 0
/* If the packet is destined for this box. */
#define NF_IP6_LOCAL_IN 1
/* If the packet is destined for another interface. */
#define NF_IP6_FORWARD 2
/* Packets coming from a local process. */
#define NF_IP6_LOCAL_OUT 3
/* Packets about to hit the wire. */
#define NF_IP6_POST_ROUTING 4
#define NF_IP6_NUMHOOKS 5
enum
nf_ip6_hook_priorities
{
NF_IP6_PRI_FIRST
=
INT_MIN
,
NF_IP6_PRI_CONNTRACK_DEFRAG
=
-
400
,
NF_IP6_PRI_RAW
=
-
300
,
NF_IP6_PRI_SELINUX_FIRST
=
-
225
,
NF_IP6_PRI_CONNTRACK
=
-
200
,
NF_IP6_PRI_MANGLE
=
-
150
,
NF_IP6_PRI_NAT_DST
=
-
100
,
NF_IP6_PRI_FILTER
=
0
,
NF_IP6_PRI_SECURITY
=
50
,
NF_IP6_PRI_NAT_SRC
=
100
,
NF_IP6_PRI_SELINUX_LAST
=
225
,
NF_IP6_PRI_LAST
=
INT_MAX
,
};
#endif
/*__LINUX_IP6_NETFILTER_H*/
include/linux/netfilter_ipv6/ip6_tables.h
0 → 100644
View file @
7e95a8db
/*
* 25-Jul-1998 Major changes to allow for ip chain table
*
* 3-Jan-2000 Named tables to allow packet selection for different uses.
*/
/*
* Format of an IP6 firewall descriptor
*
* src, dst, src_mask, dst_mask are always stored in network byte order.
* flags are stored in host byte order (of course).
* Port numbers are stored in HOST byte order.
*/
#ifndef _IP6_TABLES_H
#define _IP6_TABLES_H
#include <linux/types.h>
#include <linux/netfilter_ipv6.h>
#include <linux/netfilter/x_tables.h>
#define IP6T_FUNCTION_MAXNAMELEN XT_FUNCTION_MAXNAMELEN
#define IP6T_TABLE_MAXNAMELEN XT_TABLE_MAXNAMELEN
#define ip6t_match xt_match
#define ip6t_target xt_target
#define ip6t_table xt_table
#define ip6t_get_revision xt_get_revision
#define ip6t_entry_match xt_entry_match
#define ip6t_entry_target xt_entry_target
#define ip6t_standard_target xt_standard_target
#define ip6t_error_target xt_error_target
#define ip6t_counters xt_counters
#define IP6T_CONTINUE XT_CONTINUE
#define IP6T_RETURN XT_RETURN
/* Pre-iptables-1.4.0 */
#include <linux/netfilter/xt_tcpudp.h>
#define ip6t_tcp xt_tcp
#define ip6t_udp xt_udp
#define IP6T_TCP_INV_SRCPT XT_TCP_INV_SRCPT
#define IP6T_TCP_INV_DSTPT XT_TCP_INV_DSTPT
#define IP6T_TCP_INV_FLAGS XT_TCP_INV_FLAGS
#define IP6T_TCP_INV_OPTION XT_TCP_INV_OPTION
#define IP6T_TCP_INV_MASK XT_TCP_INV_MASK
#define IP6T_UDP_INV_SRCPT XT_UDP_INV_SRCPT
#define IP6T_UDP_INV_DSTPT XT_UDP_INV_DSTPT
#define IP6T_UDP_INV_MASK XT_UDP_INV_MASK
#define ip6t_counters_info xt_counters_info
#define IP6T_STANDARD_TARGET XT_STANDARD_TARGET
#define IP6T_ERROR_TARGET XT_ERROR_TARGET
#define IP6T_MATCH_ITERATE(e, fn, args...) \
XT_MATCH_ITERATE(struct ip6t_entry, e, fn, ## args)
#define IP6T_ENTRY_ITERATE(entries, size, fn, args...) \
XT_ENTRY_ITERATE(struct ip6t_entry, entries, size, fn, ## args)
/* Yes, Virginia, you have to zero the padding. */
struct
ip6t_ip6
{
/* Source and destination IP6 addr */
struct
in6_addr
src
,
dst
;
/* Mask for src and dest IP6 addr */
struct
in6_addr
smsk
,
dmsk
;
char
iniface
[
IFNAMSIZ
],
outiface
[
IFNAMSIZ
];
unsigned
char
iniface_mask
[
IFNAMSIZ
],
outiface_mask
[
IFNAMSIZ
];
/* Upper protocol number
* - The allowed value is 0 (any) or protocol number of last parsable
* header, which is 50 (ESP), 59 (No Next Header), 135 (MH), or
* the non IPv6 extension headers.
* - The protocol numbers of IPv6 extension headers except of ESP and
* MH do not match any packets.
* - You also need to set IP6T_FLAGS_PROTO to "flags" to check protocol.
*/
u_int16_t
proto
;
/* TOS to match iff flags & IP6T_F_TOS */
u_int8_t
tos
;
/* Flags word */
u_int8_t
flags
;
/* Inverse flags */
u_int8_t
invflags
;
};
/* Values for "flag" field in struct ip6t_ip6 (general ip6 structure). */
#define IP6T_F_PROTO 0x01
/* Set if rule cares about upper
protocols */
#define IP6T_F_TOS 0x02
/* Match the TOS. */
#define IP6T_F_GOTO 0x04
/* Set if jump is a goto */
#define IP6T_F_MASK 0x07
/* All possible flag bits mask. */
/* Values for "inv" field in struct ip6t_ip6. */
#define IP6T_INV_VIA_IN 0x01
/* Invert the sense of IN IFACE. */
#define IP6T_INV_VIA_OUT 0x02
/* Invert the sense of OUT IFACE */
#define IP6T_INV_TOS 0x04
/* Invert the sense of TOS. */
#define IP6T_INV_SRCIP 0x08
/* Invert the sense of SRC IP. */
#define IP6T_INV_DSTIP 0x10
/* Invert the sense of DST OP. */
#define IP6T_INV_FRAG 0x20
/* Invert the sense of FRAG. */
#define IP6T_INV_PROTO XT_INV_PROTO
#define IP6T_INV_MASK 0x7F
/* All possible flag bits mask. */
/* This structure defines each of the firewall rules. Consists of 3
parts which are 1) general IP header stuff 2) match specific
stuff 3) the target to perform if the rule matches */
struct
ip6t_entry
{
struct
ip6t_ip6
ipv6
;
/* Mark with fields that we care about. */
unsigned
int
nfcache
;
/* Size of ipt_entry + matches */
u_int16_t
target_offset
;
/* Size of ipt_entry + matches + target */
u_int16_t
next_offset
;
/* Back pointer */
unsigned
int
comefrom
;
/* Packet and byte counters. */
struct
xt_counters
counters
;
/* The matches (if any), then the target. */
unsigned
char
elems
[
0
];
};
/* Standard entry */
struct
ip6t_standard
{
struct
ip6t_entry
entry
;
struct
xt_standard_target
target
;
};
struct
ip6t_error
{
struct
ip6t_entry
entry
;
struct
xt_error_target
target
;
};
#define IP6T_ENTRY_INIT(__size) \
{ \
.target_offset = sizeof(struct ip6t_entry), \
.next_offset = (__size), \
}
#define IP6T_STANDARD_INIT(__verdict) \
{ \
.entry = IP6T_ENTRY_INIT(sizeof(struct ip6t_standard)), \
.target = XT_TARGET_INIT(XT_STANDARD_TARGET, \
sizeof(struct xt_standard_target)), \
.target.verdict = -(__verdict) - 1, \
}
#define IP6T_ERROR_INIT \
{ \
.entry = IP6T_ENTRY_INIT(sizeof(struct ip6t_error)), \
.target = XT_TARGET_INIT(XT_ERROR_TARGET, \
sizeof(struct xt_error_target)), \
.target.errorname = "ERROR", \
}
/*
* New IP firewall options for [gs]etsockopt at the RAW IP level.
* Unlike BSD Linux inherits IP options so you don't have to use
* a raw socket for this. Instead we check rights in the calls.
*
* ATTENTION: check linux/in6.h before adding new number here.
*/
#define IP6T_BASE_CTL 64
#define IP6T_SO_SET_REPLACE (IP6T_BASE_CTL)
#define IP6T_SO_SET_ADD_COUNTERS (IP6T_BASE_CTL + 1)
#define IP6T_SO_SET_MAX IP6T_SO_SET_ADD_COUNTERS
#define IP6T_SO_GET_INFO (IP6T_BASE_CTL)
#define IP6T_SO_GET_ENTRIES (IP6T_BASE_CTL + 1)
#define IP6T_SO_GET_REVISION_MATCH (IP6T_BASE_CTL + 4)
#define IP6T_SO_GET_REVISION_TARGET (IP6T_BASE_CTL + 5)
#define IP6T_SO_GET_MAX IP6T_SO_GET_REVISION_TARGET
/* ICMP matching stuff */
struct
ip6t_icmp
{
u_int8_t
type
;
/* type to match */
u_int8_t
code
[
2
];
/* range of code */
u_int8_t
invflags
;
/* Inverse flags */
};
/* Values for "inv" field for struct ipt_icmp. */
#define IP6T_ICMP_INV 0x01
/* Invert the sense of type/code test */
/* The argument to IP6T_SO_GET_INFO */
struct
ip6t_getinfo
{
/* Which table: caller fills this in. */
char
name
[
XT_TABLE_MAXNAMELEN
];
/* Kernel fills these in. */
/* Which hook entry points are valid: bitmask */
unsigned
int
valid_hooks
;
/* Hook entry points: one per netfilter hook. */
unsigned
int
hook_entry
[
NF_INET_NUMHOOKS
];
/* Underflow points. */
unsigned
int
underflow
[
NF_INET_NUMHOOKS
];
/* Number of entries */
unsigned
int
num_entries
;
/* Size of entries. */
unsigned
int
size
;
};
/* The argument to IP6T_SO_SET_REPLACE. */
struct
ip6t_replace
{
/* Which table. */
char
name
[
XT_TABLE_MAXNAMELEN
];
/* Which hook entry points are valid: bitmask. You can't
change this. */
unsigned
int
valid_hooks
;
/* Number of entries */
unsigned
int
num_entries
;
/* Total size of new entries */
unsigned
int
size
;
/* Hook entry points. */
unsigned
int
hook_entry
[
NF_INET_NUMHOOKS
];
/* Underflow points. */
unsigned
int
underflow
[
NF_INET_NUMHOOKS
];
/* Information about old entries: */
/* Number of counters (must be equal to current number of entries). */
unsigned
int
num_counters
;
/* The old entries' counters. */
struct
xt_counters
*
counters
;
/* The entries (hang off end: not really an array). */
struct
ip6t_entry
entries
[
0
];
};
/* The argument to IP6T_SO_GET_ENTRIES. */
struct
ip6t_get_entries
{
/* Which table: user fills this in. */
char
name
[
XT_TABLE_MAXNAMELEN
];
/* User fills this in: total entry size. */
unsigned
int
size
;
/* The entries. */
struct
ip6t_entry
entrytable
[
0
];
};
/* Helper functions */
static
__inline__
struct
xt_entry_target
*
ip6t_get_target
(
struct
ip6t_entry
*
e
)
{
return
(
void
*
)
e
+
e
->
target_offset
;
}
/*
* Main firewall chains definitions and global var's definitions.
*/
#endif
/* _IP6_TABLES_H */
include/linux/netfilter_ipv6/ip6t_HL.h
0 → 100644
View file @
7e95a8db
/* Hop Limit modification module for ip6tables
* Maciej Soltysiak <solt@dns.toxicfilms.tv>
* Based on HW's TTL module */
#ifndef _IP6T_HL_H
#define _IP6T_HL_H
#include <linux/types.h>
enum
{
IP6T_HL_SET
=
0
,
IP6T_HL_INC
,
IP6T_HL_DEC
};
#define IP6T_HL_MAXMODE IP6T_HL_DEC
struct
ip6t_HL_info
{
__u8
mode
;
__u8
hop_limit
;
};
#endif
include/linux/netfilter_ipv6/ip6t_LOG.h
0 → 100644
View file @
7e95a8db
#ifndef _IP6T_LOG_H
#define _IP6T_LOG_H
/* make sure not to change this without changing netfilter.h:NF_LOG_* (!) */
#define IP6T_LOG_TCPSEQ 0x01
/* Log TCP sequence numbers */
#define IP6T_LOG_TCPOPT 0x02
/* Log TCP options */
#define IP6T_LOG_IPOPT 0x04
/* Log IP options */
#define IP6T_LOG_UID 0x08
/* Log UID owning local socket */
#define IP6T_LOG_NFLOG 0x10
/* Unsupported, don't use */
#define IP6T_LOG_MACDECODE 0x20
/* Decode MAC header */
#define IP6T_LOG_MASK 0x2f
struct
ip6t_log_info
{
unsigned
char
level
;
unsigned
char
logflags
;
char
prefix
[
30
];
};
#endif
/*_IPT_LOG_H*/
include/linux/netfilter_ipv6/ip6t_NPT.h
0 → 100644
View file @
7e95a8db
#ifndef __NETFILTER_IP6T_NPT
#define __NETFILTER_IP6T_NPT
#include <linux/types.h>
#include <linux/netfilter.h>
struct
ip6t_npt_tginfo
{
union
nf_inet_addr
src_pfx
;
union
nf_inet_addr
dst_pfx
;
__u8
src_pfx_len
;
__u8
dst_pfx_len
;
/* Used internally by the kernel */
__sum16
adjustment
;
};
#endif
/* __NETFILTER_IP6T_NPT */
include/linux/netfilter_ipv6/ip6t_REJECT.h
0 → 100644
View file @
7e95a8db
#ifndef _IP6T_REJECT_H
#define _IP6T_REJECT_H
#include <linux/types.h>
enum
ip6t_reject_with
{
IP6T_ICMP6_NO_ROUTE
,
IP6T_ICMP6_ADM_PROHIBITED
,
IP6T_ICMP6_NOT_NEIGHBOUR
,
IP6T_ICMP6_ADDR_UNREACH
,
IP6T_ICMP6_PORT_UNREACH
,
IP6T_ICMP6_ECHOREPLY
,
IP6T_TCP_RESET
};
struct
ip6t_reject_info
{
__u32
with
;
/* reject type */
};
#endif
/*_IP6T_REJECT_H*/
include/linux/netfilter_ipv6/ip6t_ah.h
0 → 100644
View file @
7e95a8db
#ifndef _IP6T_AH_H
#define _IP6T_AH_H
#include <linux/types.h>
struct
ip6t_ah
{
__u32
spis
[
2
];
/* Security Parameter Index */
__u32
hdrlen
;
/* Header Length */
__u8
hdrres
;
/* Test of the Reserved Filed */
__u8
invflags
;
/* Inverse flags */
};
#define IP6T_AH_SPI 0x01
#define IP6T_AH_LEN 0x02
#define IP6T_AH_RES 0x04
/* Values for "invflags" field in struct ip6t_ah. */
#define IP6T_AH_INV_SPI 0x01
/* Invert the sense of spi. */
#define IP6T_AH_INV_LEN 0x02
/* Invert the sense of length. */
#define IP6T_AH_INV_MASK 0x03
/* All possible flags. */
#endif
/*_IP6T_AH_H*/
include/linux/netfilter_ipv6/ip6t_frag.h
0 → 100644
View file @
7e95a8db
#ifndef _IP6T_FRAG_H
#define _IP6T_FRAG_H
#include <linux/types.h>
struct
ip6t_frag
{
__u32
ids
[
2
];
/* Security Parameter Index */
__u32
hdrlen
;
/* Header Length */
__u8
flags
;
/* */
__u8
invflags
;
/* Inverse flags */
};
#define IP6T_FRAG_IDS 0x01
#define IP6T_FRAG_LEN 0x02
#define IP6T_FRAG_RES 0x04
#define IP6T_FRAG_FST 0x08
#define IP6T_FRAG_MF 0x10
#define IP6T_FRAG_NMF 0x20
/* Values for "invflags" field in struct ip6t_frag. */
#define IP6T_FRAG_INV_IDS 0x01
/* Invert the sense of ids. */
#define IP6T_FRAG_INV_LEN 0x02
/* Invert the sense of length. */
#define IP6T_FRAG_INV_MASK 0x03
/* All possible flags. */
#endif
/*_IP6T_FRAG_H*/
include/linux/netfilter_ipv6/ip6t_hl.h
0 → 100644
View file @
7e95a8db
/* ip6tables module for matching the Hop Limit value
* Maciej Soltysiak <solt@dns.toxicfilms.tv>
* Based on HW's ttl module */
#ifndef _IP6T_HL_H
#define _IP6T_HL_H
#include <linux/types.h>
enum
{
IP6T_HL_EQ
=
0
,
/* equals */
IP6T_HL_NE
,
/* not equals */
IP6T_HL_LT
,
/* less than */
IP6T_HL_GT
,
/* greater than */
};
struct
ip6t_hl_info
{
__u8
mode
;
__u8
hop_limit
;
};
#endif
Prev
1
…
13
14
15
16
17
18
19
20
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment