summaryrefslogtreecommitdiffstats
path: root/dpdk/dpdk-16.07_patches
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-25 00:30:37 +0000
commitdc731bd4b1ad6ea588334c681d1409cbdec9ce67 (patch)
tree648fc42697d5452e76bda54c62b83b4b9ecc08a6 /dpdk/dpdk-16.07_patches
parent5f9dcff39d5e25c6bef30d569e405635633f3c69 (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>
Diffstat (limited to 'dpdk/dpdk-16.07_patches')
-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;
+ }