X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=lib%2Flibrte_gro%2Fgro_tcp4.c;h=d1c6c7ded5c1f669a63ba4a3054efeed32c39889;hb=refs%2Fheads%2Fupstream-17.11-stable;hp=61a0423226596b3773ca4a37bc079ee2c2059f54;hpb=6e7cbd63706f3435b9d9a2057a37db1da01db9a7;p=deb_dpdk.git diff --git a/lib/librte_gro/gro_tcp4.c b/lib/librte_gro/gro_tcp4.c index 61a04232..d1c6c7de 100644 --- a/lib/librte_gro/gro_tcp4.c +++ b/lib/librte_gro/gro_tcp4.c @@ -343,7 +343,8 @@ gro_tcp4_reassemble(struct rte_mbuf *pkt, struct ipv4_hdr *ipv4_hdr; struct tcp_hdr *tcp_hdr; uint32_t sent_seq; - uint16_t tcp_dl, ip_id; + uint16_t ip_id; + int32_t tcp_dl; struct tcp4_key key; uint32_t cur_idx, prev_idx, item_idx; @@ -360,10 +361,10 @@ gro_tcp4_reassemble(struct rte_mbuf *pkt, */ if (tcp_hdr->tcp_flags != TCP_ACK_FLAG) return -1; - /* if payload length is 0, return immediately */ + /* if payload length is less than or equal to 0, return immediately */ tcp_dl = rte_be_to_cpu_16(ipv4_hdr->total_length) - pkt->l3_len - pkt->l4_len; - if (tcp_dl == 0) + if (tcp_dl <= 0) return -1; ip_id = rte_be_to_cpu_16(ipv4_hdr->packet_id);