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