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
24struct 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 */
35

source code of linux/include/uapi/linux/netfilter_ipv4/ipt_ECN.h