New upstream version 17.11.5
[deb_dpdk.git] / app / test-pmd / csumonly.c
index aa29f5f..4800e74 100644 (file)
@@ -135,7 +135,9 @@ parse_ipv4(struct ipv4_hdr *ipv4_hdr, struct testpmd_offload_info *info)
        if (info->l4_proto == IPPROTO_TCP) {
                tcp_hdr = (struct tcp_hdr *)((char *)ipv4_hdr + info->l3_len);
                info->l4_len = (tcp_hdr->data_off & 0xf0) >> 2;
-       } else
+       } else if (info->l4_proto == IPPROTO_UDP)
+               info->l4_len = sizeof(struct udp_hdr);
+       else
                info->l4_len = 0;
 }
 
@@ -152,7 +154,9 @@ parse_ipv6(struct ipv6_hdr *ipv6_hdr, struct testpmd_offload_info *info)
        if (info->l4_proto == IPPROTO_TCP) {
                tcp_hdr = (struct tcp_hdr *)((char *)ipv6_hdr + info->l3_len);
                info->l4_len = (tcp_hdr->data_off & 0xf0) >> 2;
-       } else
+       } else if (info->l4_proto == IPPROTO_UDP)
+               info->l4_len = sizeof(struct udp_hdr);
+       else
                info->l4_len = 0;
 }