> -----Original Message----- > From: Eric Dumazet <[email protected]> > Sent: Tuesday, January 20, 2026 12:18 PM > To: Chia-Yu Chang (Nokia) <[email protected]> > Cc: [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; Koen De Schepper (Nokia) > <[email protected]>; [email protected]; > [email protected]; [email protected]; cheshire > <[email protected]>; [email protected]; [email protected]; Vidhi Goel > <[email protected]> > Subject: Re: [PATCH v9 net-next 13/15] tcp: accecn: add tcpi_ecn_mode and > tcpi_option2 in tcp_info > > > CAUTION: This is an external email. Please be very careful when clicking > links or opening attachments. See the URL nok.it/ext for additional > information. > > > > On Mon, Jan 19, 2026 at 7:59 PM <[email protected]> wrote: > > > > From: Chia-Yu Chang <[email protected]> > > > > 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 <[email protected]> > > Co-developed-by: Neal Cardwell <[email protected]> > > Signed-off-by: Neal Cardwell <[email protected]> > > 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.
Sure, I will update this is the next version and submit new corresponding patch to packetdrill (after this patch is accepted.) Chia-Yu
