From 930ad2ad083c7f98156ccba234091f71e0dfc2b9 Mon Sep 17 00:00:00 2001 From: Dmytro Podgornyi Date: Fri, 15 Nov 2024 17:16:18 +0200 Subject: [PATCH] Don't send RST on ACK TCP segments in listen socket RX path During guided migration between xlio_poll_groups, between detach and attach operations the new RX packets arrive to the respective listen socket due to 3T steering. Drop such packets with TCP RST, so the packets can be retransmitted eventually and the TCP stream recover. Signed-off-by: Dmytro Podgornyi --- src/core/lwip/tcp_in.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/lwip/tcp_in.c b/src/core/lwip/tcp_in.c index 427fa5ebe..4847cd5e3 100644 --- a/src/core/lwip/tcp_in.c +++ b/src/core/lwip/tcp_in.c @@ -313,8 +313,10 @@ static void tcp_listen_input(struct tcp_pcb *pcb, tcp_in_data *in_data) if (in_data->flags & TCP_ACK) { /* For incoming segments with the ACK flag set, respond with a RST. */ LWIP_DEBUGF(TCP_RST_DEBUG, ("tcp_listen_input: ACK in LISTEN, sending reset\n")); +#if 0 tcp_rst(in_data->ackno + 1, in_data->seqno + in_data->tcplen, in_data->tcphdr->dest, in_data->tcphdr->src, NULL); +#endif } else if (in_data->flags & TCP_SYN) { LWIP_DEBUGF(TCP_DEBUG, ("TCP connection request %" U16_F " -> %" U16_F ".\n", in_data->tcphdr->src,