> -----Original Message----- > From: Eric Dumazet <edumazet@xxxxxxxxxx> > Sent: Thursday, September 11, 2025 12:36 PM > To: Chia-Yu Chang (Nokia) <chia-yu.chang@xxxxxxxxxxxxxxxxxxx> > Cc: pabeni@xxxxxxxxxx; linux-doc@xxxxxxxxxxxxxxx; corbet@xxxxxxx; horms@xxxxxxxxxx; dsahern@xxxxxxxxxx; kuniyu@xxxxxxxxxx; bpf@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; dave.taht@xxxxxxxxx; jhs@xxxxxxxxxxxx; kuba@xxxxxxxxxx; stephen@xxxxxxxxxxxxxxxxxx; xiyou.wangcong@xxxxxxxxx; jiri@xxxxxxxxxxx; davem@xxxxxxxxxxxxx; andrew+netdev@xxxxxxx; donald.hunter@xxxxxxxxx; ast@xxxxxxxxxxx; liuhangbin@xxxxxxxxx; shuah@xxxxxxxxxx; linux-kselftest@xxxxxxxxxxxxxxx; ij@xxxxxxxxxx; ncardwell@xxxxxxxxxx; Koen De Schepper (Nokia) <koen.de_schepper@xxxxxxxxxxxxxxxxxxx>; g.white@xxxxxxxxxxxxx; ingemar.s.johansson@xxxxxxxxxxxx; mirja.kuehlewind@xxxxxxxxxxxx; cheshire@xxxxxxxxx; rs.ietf@xxxxxx; Jason_Livingood@xxxxxxxxxxx; vidhi_goel@xxxxxxxxx > Subject: Re: [PATCH v17 net-next 12/14] tcp: accecn: AccECN option failure handling > > > 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, Sep 8, 2025 at 10:34 AM <chia-yu.chang@xxxxxxxxxxxxxxxxxxx> wrote: > > > > From: Chia-Yu Chang <chia-yu.chang@xxxxxxxxxxxxxxxxxxx> > > > > AccECN option may fail in various way, handle these: > > - Attempt to negotiate the use of AccECN on the 1st retransmitted SYN > > - From the 2nd retransmitted SYN, stop AccECN negotiation > > - Remove option from SYN/ACK rexmits to handle blackholes > > - If no option arrives in SYN/ACK, assume Option is not usable > > - If an option arrives later, re-enabled > > - If option is zeroed, disable AccECN option processing > > > > This patch use existing padding bits in tcp_request_sock and holes in > > tcp_sock without increasing the size. > > > > Signed-off-by: Ilpo Järvinen <ij@xxxxxxxxxx> > > Signed-off-by: Chia-Yu Chang <chia-yu.chang@xxxxxxxxxxxxxxxxxxx> > > > > > ... > > > diff --git a/include/uapi/linux/tcp.h b/include/uapi/linux/tcp.h index > > 53e0e85b52be..00604b7f2f3f 100644 > > --- a/include/uapi/linux/tcp.h > > +++ b/include/uapi/linux/tcp.h > > @@ -316,6 +316,8 @@ struct tcp_info { > > * in milliseconds, including any > > * unfinished recovery. > > */ > > + __u16 tcpi_accecn_fail_mode; > > + __u16 tcpi_accecn_opt_seen; > > We never add fields in the middle of tcp_info , even in a patch series. > > Some people might miss this rule in the future, by looking at a patch doing this, and repeating the mistake... > > > > __u32 tcpi_received_ce; /* # of CE marks received */ > > __u32 tcpi_delivered_e1_bytes; /* Accurate ECN byte counters */ > > __u32 tcpi_delivered_e0_bytes; Thanks Eric. I will fix this in the next version. Chia-Yu