Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

tcp: add TCP_SYNACK_RETRANS synack_type

Before this patch, retransmitted SYN/ACK did not have a specific
synack_type; however, the upcoming patch needs to distinguish between
retransmitted and non-retransmitted SYN/ACK for AccECN negotiation to
transmit the fallback SYN/ACK during AccECN negotiation. Therefore, this
patch introduces a new synack_type (TCP_SYNACK_RETRANS).

Signed-off-by: Chia-Yu Chang <chia-yu.chang@nokia-bell-labs.com>
Acked-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20260131222515.8485-9-chia-yu.chang@nokia-bell-labs.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>

authored by

Chia-Yu Chang and committed by
Paolo Abeni
f1eaea55 3ae62b8b

+3 -1
+1
include/net/tcp.h
··· 552 552 TCP_SYNACK_NORMAL, 553 553 TCP_SYNACK_FASTOPEN, 554 554 TCP_SYNACK_COOKIE, 555 + TCP_SYNACK_RETRANS, 555 556 }; 556 557 struct sk_buff *tcp_make_synack(const struct sock *sk, struct dst_entry *dst, 557 558 struct request_sock *req,
+2 -1
net/ipv4/tcp_output.c
··· 3929 3929 3930 3930 switch (synack_type) { 3931 3931 case TCP_SYNACK_NORMAL: 3932 + case TCP_SYNACK_RETRANS: 3932 3933 skb_set_owner_edemux(skb, req_to_sk(req)); 3933 3934 break; 3934 3935 case TCP_SYNACK_COOKIE: ··· 4615 4614 /* Paired with WRITE_ONCE() in sock_setsockopt() */ 4616 4615 if (READ_ONCE(sk->sk_txrehash) == SOCK_TXREHASH_ENABLED) 4617 4616 WRITE_ONCE(tcp_rsk(req)->txhash, net_tx_rndhash()); 4618 - res = af_ops->send_synack(sk, NULL, &fl, req, NULL, TCP_SYNACK_NORMAL, 4617 + res = af_ops->send_synack(sk, NULL, &fl, req, NULL, TCP_SYNACK_RETRANS, 4619 4618 NULL); 4620 4619 if (!res) { 4621 4620 TCP_INC_STATS(sock_net(sk), TCP_MIB_RETRANSSEGS);