ipt_ECN.h revision e37d45ce390c2f5a7f1e64742b9100ecef0def54
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/xt_DSCP.h>
12
13#define IPT_ECN_IP_MASK	(~XT_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
21struct 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 */
32