[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89iKhAs3rMWFdmM-rma1wS-Xd7mf9PBUQKL8YMKhB81Jkkw@mail.gmail.com>
Date: Tue, 20 Jan 2026 12:18:02 +0100
From: Eric Dumazet <edumazet@...gle.com>
To: chia-yu.chang@...ia-bell-labs.com
Cc: pabeni@...hat.com, parav@...dia.com, linux-doc@...r.kernel.org,
corbet@....net, horms@...nel.org, dsahern@...nel.org, kuniyu@...gle.com,
bpf@...r.kernel.org, netdev@...r.kernel.org, dave.taht@...il.com,
jhs@...atatu.com, kuba@...nel.org, stephen@...workplumber.org,
xiyou.wangcong@...il.com, jiri@...nulli.us, davem@...emloft.net,
andrew+netdev@...n.ch, donald.hunter@...il.com, ast@...erby.net,
liuhangbin@...il.com, shuah@...nel.org, linux-kselftest@...r.kernel.org,
ij@...nel.org, ncardwell@...gle.com, koen.de_schepper@...ia-bell-labs.com,
g.white@...lelabs.com, ingemar.s.johansson@...csson.com,
mirja.kuehlewind@...csson.com, cheshire@...le.com, rs.ietf@....at,
Jason_Livingood@...cast.com, vidhi_goel@...le.com
Subject: Re: [PATCH v9 net-next 13/15] tcp: accecn: add tcpi_ecn_mode and
tcpi_option2 in tcp_info
On Mon, Jan 19, 2026 at 7:59 PM <chia-yu.chang@...ia-bell-labs.com> wrote:
>
> From: Chia-Yu Chang <chia-yu.chang@...ia-bell-labs.com>
>
> Add 2-bit tcpi_ecn_mode feild within tcp_info to indicate which ECN
> mode is negotiated: ECN_MODE_DISABLED, ECN_MODE_RFC3168, ECN_MODE_ACCECN,
> or ECN_MODE_PENDING. This is done by utilizing available bits from
> tcpi_accecn_opt_seen (reduced from 16 bits to 2 bits) and
> tcpi_accecn_fail_mode (reduced from 16 bits to 4 bits).
>
> Also, an extra 24-bit tcpi_options2 field is identified to represent
> newer options and connection features, as all 8 bits of tcpi_options
> field have been used.
>
> Signed-off-by: Chia-Yu Chang <chia-yu.chang@...ia-bell-labs.com>
> Co-developed-by: Neal Cardwell <ncardwell@...gle.com>
> Signed-off-by: Neal Cardwell <ncardwell@...gle.com>
Are you sure Neal Cardwell really is ok with this patch, saw it and
gave his SOB ?
> ---
> struct tcp_info {
> __u8 tcpi_state;
> __u8 tcpi_ca_state;
> @@ -316,15 +334,17 @@ struct tcp_info {
> * in milliseconds, including any
> * unfinished recovery.
> */
> - __u32 tcpi_received_ce; /* # of CE marks received */
> + __u32 tcpi_ecn_mode:2,
> + tcpi_accecn_opt_seen:2,
> + tcpi_accecn_fail_mode:4,
> + tcpi_options2:24;
> + __u32 tcpi_received_ce; /* # of CE marked segments received */
> __u32 tcpi_delivered_e1_bytes; /* Accurate ECN byte counters */
> __u32 tcpi_delivered_e0_bytes;
> __u32 tcpi_delivered_ce_bytes;
> __u32 tcpi_received_e1_bytes;
> __u32 tcpi_received_e0_bytes;
> __u32 tcpi_received_ce_bytes;
> - __u16 tcpi_accecn_fail_mode;
> - __u16 tcpi_accecn_opt_seen;
> };
tcp_info is ABI.
We can not add/remove fields in the middle.
You must add fields at the end of it only.
Powered by blists - more mailing lists