> -----Original Message-----
> From: Eric Dumazet <[email protected]> 
> Sent: Wednesday, January 21, 2026 3:58 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 v10 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 Wed, Jan 21, 2026 at 3:3 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]>
> > ---
> >
> 
>  +
> >  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_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;
> > +       __u32   tcpi_ecn_mode:2,
> > +               tcpi_accecn_opt_seen:2,
> > +               tcpi_accecn_fail_mode:4,
> > +               tcpi_options2:24;
> >  };
> 
> I guess this is fine, iproute2 got no support yet for tcpi_accecn_fail_mode / 
> tcpi_accecn_opt_seen
> 
> Reviewed-by: Eric Dumazet <[email protected]>
> 
> BTW, are you planning to patch iproute2 misc/ss soon ?

Yes, after these patches are accepted in net-next, we plan to patch new fields 
into iproute2-next & packetdrill.

Chia-Yu

Reply via email to