Linux-2.6.12-rc2
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / linux / netfilter_ipv4 / ipt_ECN.h
1 /* Header file for iptables ipt_ECN target
2 *
3 * (C) 2002 by Harald Welte <laforge@gnumonks.org>
4 *
5 * This software is distributed under GNU GPL v2, 1991
6 *
7 * ipt_ECN.h,v 1.3 2002/05/29 12:17:40 laforge Exp
8 */
9 #ifndef _IPT_ECN_TARGET_H
10 #define _IPT_ECN_TARGET_H
11 #include <linux/netfilter_ipv4/ipt_DSCP.h>
12
13 #define IPT_ECN_IP_MASK (~IPT_DSCP_MASK)
14
15 #define IPT_ECN_OP_SET_IP 0x01 /* set ECN bits of IPv4 header */
16 #define IPT_ECN_OP_SET_ECE 0x10 /* set ECE bit of TCP header */
17 #define IPT_ECN_OP_SET_CWR 0x20 /* set CWR bit of TCP header */
18
19 #define IPT_ECN_OP_MASK 0xce
20
21 struct ipt_ECN_info {
22 u_int8_t operation; /* bitset of operations */
23 u_int8_t ip_ect; /* ECT codepoint of IPv4 header, pre-shifted */
24 union {
25 struct {
26 u_int8_t ece:1, cwr:1; /* TCP ECT bits */
27 } tcp;
28 } proto;
29 };
30
31 #endif /* _IPT_ECN_TARGET_H */