Skip to content

Commit

Permalink
Don't send RST on ACK TCP segments in listen socket RX path
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
pasis committed Nov 15, 2024
1 parent 0c685ec commit 930ad2a
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/core/lwip/tcp_in.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down

0 comments on commit 930ad2a

Please sign in to comment.