On Mon, Sep 8, 2025 at 10:34 AM <chia-yu.ch...@nokia-bell-labs.com> wrote:
>
> From: Chia-Yu Chang <chia-yu.ch...@nokia-bell-labs.com>
>
> 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 <i...@kernel.org>
> Signed-off-by: Chia-Yu Chang <chia-yu.ch...@nokia-bell-labs.com>
>


...

> 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;

Reply via email to