xref: /linux/include/uapi/linux/netfilter/xt_ecn.h (revision 0be3ff0c)
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /* iptables module for matching the ECN header in IPv4 and TCP header
3  *
4  * (C) 2002 Harald Welte <laforge@gnumonks.org>
5  *
6  * This software is distributed under GNU GPL v2, 1991
7  *
8  * ipt_ecn.h,v 1.4 2002/08/05 19:39:00 laforge Exp
9 */
10 #ifndef _XT_ECN_H
11 #define _XT_ECN_H
12 
13 #include <linux/types.h>
14 #include <linux/netfilter/xt_dscp.h>
15 
16 #define XT_ECN_IP_MASK	(~XT_DSCP_MASK)
17 
18 #define XT_ECN_OP_MATCH_IP	0x01
19 #define XT_ECN_OP_MATCH_ECE	0x10
20 #define XT_ECN_OP_MATCH_CWR	0x20
21 
22 #define XT_ECN_OP_MATCH_MASK	0xce
23 
24 /* match info */
25 struct xt_ecn_info {
26 	__u8 operation;
27 	__u8 invert;
28 	__u8 ip_ect;
29 	union {
30 		struct {
31 			__u8 ect;
32 		} tcp;
33 	} proto;
34 };
35 
36 #endif /* _XT_ECN_H */
37