Re: [PATCH 05/10] netfilter: iptables: Merge ipt_ECN.h to ipt_ecn.h

From: Jozsef Kadlecsik
Date: Tue Jan 07 2025 - 14:27:03 EST


On Tue, 7 Jan 2025, egyszeregy@xxxxxxxxxxx wrote:

> From: Benjamin Szőke <egyszeregy@xxxxxxxxxxx>
>
> Merge ipt_ECN.h to ipt_ecn.h header file.
>
> Signed-off-by: Benjamin Szőke <egyszeregy@xxxxxxxxxxx>
> ---
> include/uapi/linux/netfilter_ipv4/ipt_ECN.h | 29 +--------------------
> include/uapi/linux/netfilter_ipv4/ipt_ecn.h | 26 ++++++++++++++++++
> 2 files changed, 27 insertions(+), 28 deletions(-)
>
> diff --git a/include/uapi/linux/netfilter_ipv4/ipt_ECN.h b/include/uapi/linux/netfilter_ipv4/ipt_ECN.h
> index e3630fd045b8..6727f5a44512 100644
> --- a/include/uapi/linux/netfilter_ipv4/ipt_ECN.h
> +++ b/include/uapi/linux/netfilter_ipv4/ipt_ECN.h
> @@ -1,34 +1,7 @@
> /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
> -/* Header file for iptables ipt_ECN target
> - *
> - * (C) 2002 by Harald Welte <laforge@xxxxxxxxxxxx>
> - *
> - * This software is distributed under GNU GPL v2, 1991
> - *
> - * ipt_ECN.h,v 1.3 2002/05/29 12:17:40 laforge Exp
> -*/
> #ifndef _IPT_ECN_TARGET_H
> #define _IPT_ECN_TARGET_H
>
> -#include <linux/types.h>
> -#include <linux/netfilter/xt_DSCP.h>
> -
> -#define IPT_ECN_IP_MASK (~XT_DSCP_MASK)

The definition above is removed from here but not added to ipt_ecn.h, so
it's missing now. Please fix it in the next round of the patchset.

> -#define IPT_ECN_OP_SET_IP 0x01 /* set ECN bits of IPv4 header */
> -#define IPT_ECN_OP_SET_ECE 0x10 /* set ECE bit of TCP header */
> -#define IPT_ECN_OP_SET_CWR 0x20 /* set CWR bit of TCP header */
> -
> -#define IPT_ECN_OP_MASK 0xce
> -
> -struct ipt_ECN_info {
> - __u8 operation; /* bitset of operations */
> - __u8 ip_ect; /* ECT codepoint of IPv4 header, pre-shifted */
> - union {
> - struct {
> - __u8 ece:1, cwr:1; /* TCP ECT bits */
> - } tcp;
> - } proto;
> -};
> +#include <linux/netfilter_ipv4/ipt_ecn.h>
>
> #endif /* _IPT_ECN_TARGET_H */
> diff --git a/include/uapi/linux/netfilter_ipv4/ipt_ecn.h b/include/uapi/linux/netfilter_ipv4/ipt_ecn.h
> index 8121bec47026..a6d479aece21 100644
> --- a/include/uapi/linux/netfilter_ipv4/ipt_ecn.h
> +++ b/include/uapi/linux/netfilter_ipv4/ipt_ecn.h
> @@ -1,10 +1,26 @@
> /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
> +/* Header file for iptables ipt_ECN target and match
> + *
> + * (C) 2002 by Harald Welte <laforge@xxxxxxxxxxxx>
> + *
> + * This software is distributed under GNU GPL v2, 1991
> + *
> + * ipt_ECN.h,v 1.3 2002/05/29 12:17:40 laforge Exp
> + */
> #ifndef _IPT_ECN_H
> #define _IPT_ECN_H
>
> +#include <linux/types.h>
> +#include <linux/netfilter/xt_dscp.h>
> #include <linux/netfilter/xt_ecn.h>
> +
> #define ipt_ecn_info xt_ecn_info
>
> +#define IPT_ECN_OP_SET_IP 0x01 /* set ECN bits of IPv4 header */
> +#define IPT_ECN_OP_SET_ECE 0x10 /* set ECE bit of TCP header */
> +#define IPT_ECN_OP_SET_CWR 0x20 /* set CWR bit of TCP header */
> +#define IPT_ECN_OP_MASK 0xce
> +
> enum {
> IPT_ECN_IP_MASK = XT_ECN_IP_MASK,
> IPT_ECN_OP_MATCH_IP = XT_ECN_OP_MATCH_IP,
> @@ -13,4 +29,14 @@ enum {
> IPT_ECN_OP_MATCH_MASK = XT_ECN_OP_MATCH_MASK,
> };
>
> +struct ipt_ECN_info {
> + __u8 operation; /* bitset of operations */
> + __u8 ip_ect; /* ECT codepoint of IPv4 header, pre-shifted */
> + union {
> + struct {
> + __u8 ece:1, cwr:1; /* TCP ECT bits */
> + } tcp;
> + } proto;
> +};
> +
> #endif /* IPT_ECN_H */
> --
> 2.43.5
>
>

Best regards,
Jozsef
--
E-mail : kadlec@xxxxxxxxxxxxx, kadlec@xxxxxxxxxxxxxxxxx, kadlecsik.jozsef@xxxxxxxxx
Address: Wigner Research Centre for Physics
H-1525 Budapest 114, POB. 49, Hungary