From 7d17343155535ec0be36ad283637ea1f4a3bce9c Mon Sep 17 00:00:00 2001 From: zouyonghao Date: Wed, 21 Oct 2020 21:39:20 +0800 Subject: [PATCH] Accept the packet with seq smaller than the last received packet --- mtcp/src/tcp_ring_buffer.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mtcp/src/tcp_ring_buffer.c b/mtcp/src/tcp_ring_buffer.c index 6b98fa4ce..5db60441b 100644 --- a/mtcp/src/tcp_ring_buffer.c +++ b/mtcp/src/tcp_ring_buffer.c @@ -294,6 +294,12 @@ RBPut(rb_manager_t rbm, struct tcp_ring_buffer* buff, struct fragment_ctx* prev, *pprev; int merged = 0; + if (cur_seq < buff->head_seq) { + len -= buff->head_seq - cur_seq; + data += buff->head_seq - cur_seq; + cur_seq = buff->head_seq; + } + if (len <= 0) return 0;