]> git.droids-corp.org - dpdk.git/blobdiff - drivers/net/tap/rte_eth_tap.c
net: introduce functions to verify L4 checksums
[dpdk.git] / drivers / net / tap / rte_eth_tap.c
index 5429f611c14bbe6606d68383aa2f32a2831933ce..2229eef059707d434885d63f22a27b18c026ecbc 100644 (file)
@@ -369,11 +369,12 @@ tap_verify_csum(struct rte_mbuf *mbuf)
                                        return;
                                }
                        }
-                       cksum = rte_ipv4_udptcp_cksum(l3_hdr, l4_hdr);
+                       cksum_ok = !rte_ipv4_udptcp_cksum_verify(l3_hdr,
+                                                                l4_hdr);
                } else { /* l3 == RTE_PTYPE_L3_IPV6, checked above */
-                       cksum = rte_ipv6_udptcp_cksum(l3_hdr, l4_hdr);
+                       cksum_ok = !rte_ipv6_udptcp_cksum_verify(l3_hdr,
+                                                                l4_hdr);
                }
-               cksum_ok = (cksum == 0) || (cksum == 0xffff);
                mbuf->ol_flags |= cksum_ok ?
                        PKT_RX_L4_CKSUM_GOOD : PKT_RX_L4_CKSUM_BAD;
        }