Thread (36 messages) flat view 36 messages, 4 authors, 2026-01-21

Re: [PATCH v9 net-next 13/15] tcp: accecn: add tcpi_ecn_mode and tcpi_option2 in tcp_info

From: Eric Dumazet <edumazet@google.com>
Date: 2026-01-20 11:18:14
Also in: bpf, linux-doc, linux-kselftest

On Mon, Jan 19, 2026 at 7:59 PM [off-list ref] wrote:
From: Chia-Yu Chang <redacted>

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 <redacted>
Co-developed-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Are you sure Neal Cardwell really is ok with this patch, saw it and
gave his SOB ?
---
quoted hunk ↗ jump to hunk
 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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help