diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libtle_l4p/tcp_rxtx.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/lib/libtle_l4p/tcp_rxtx.c b/lib/libtle_l4p/tcp_rxtx.c index b12b974..3f4f324 100644 --- a/lib/libtle_l4p/tcp_rxtx.c +++ b/lib/libtle_l4p/tcp_rxtx.c @@ -1329,20 +1329,16 @@ rx_data_ack(struct tle_tcp_stream *s, struct dack_info *tack, ret = rx_check_seqack(&s->tcb, si[j].seq, si[j].ack, plen, ts); + if (ret != 0) + break; + /* account for segment received */ ack_info_update(tack, &si[j], ret != 0, plen, ts); - if (ret != 0) { - rp[k] = mb[j]; - rc[k] = -ret; - k++; - break; - } rte_pktmbuf_adj(mb[j], hlen); } n = j - i; - j += (ret != 0); /* account for OFO data */ if (seq != s->tcb.rcv.nxt) |