aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Chandler <seandchandler@gmail.com>2016-08-22 16:32:22 -0400
committerDamjan Marion <dmarion.lists@gmail.com>2016-08-26 12:39:33 +0000
commitea602212185a15783b1bd0c8508a9a275a14c0d0 (patch)
tree6b489c91f7308071136ec1815abcd67e53381275
parent217872424d5f05c739a14aff33f052d219cbf039 (diff)
VPP-345: pull in upstream checksum patch for ICMP packets
http://www.dpdk.org/dev/patchwork/patch/15216/ Change-Id: I91b67f3e5c0abff52626e504e2707814ae0c3ed0 Signed-off-by: Sean Chandler <seandchandler@gmail.com> (cherry picked from commit dc731bd4b1ad6ea588334c681d1409cbdec9ce67)
-rw-r--r--dpdk/dpdk-16.07_patches/0009-enic-bad-L4-checksum-ptype-set-on-ICMP-packets.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/dpdk/dpdk-16.07_patches/0009-enic-bad-L4-checksum-ptype-set-on-ICMP-packets.patch b/dpdk/dpdk-16.07_patches/0009-enic-bad-L4-checksum-ptype-set-on-ICMP-packets.patch
new file mode 100644
index 00000000000..71a9d9b5463
--- /dev/null
+++ b/dpdk/dpdk-16.07_patches/0009-enic-bad-L4-checksum-ptype-set-on-ICMP-packets.patch
@@ -0,0 +1,18 @@
+diff --git a/drivers/net/enic/enic_rxtx.c b/drivers/net/enic/enic_rxtx.c
+index 50f0b28..ad59613 100644
+--- a/drivers/net/enic/enic_rxtx.c
++++ b/drivers/net/enic/enic_rxtx.c
+@@ -212,9 +212,12 @@ enic_cq_rx_to_pkt_flags(struct cq_desc *cqd, struct rte_mbuf *mbuf)
+ /* checksum flags */
+ if (!enic_cq_rx_desc_csum_not_calc(cqrd) &&
+ (mbuf->packet_type & RTE_PTYPE_L3_IPV4)) {
++ uint32_t l4_flags = mbuf->packet_type & RTE_PTYPE_L4_MASK;
++
+ if (unlikely(!enic_cq_rx_desc_ipv4_csum_ok(cqrd)))
+ pkt_flags |= PKT_RX_IP_CKSUM_BAD;
+- if (mbuf->packet_type & (RTE_PTYPE_L4_UDP | RTE_PTYPE_L4_TCP)) {
++ if (l4_flags == RTE_PTYPE_L4_UDP ||
++ l4_flags == RTE_PTYPE_L4_TCP) {
+ if (unlikely(!enic_cq_rx_desc_tcp_udp_csum_ok(cqrd)))
+ pkt_flags |= PKT_RX_L4_CKSUM_BAD;
+ }