From 2c4dbff25b3c461e7576f35508f780ea784ef7d4 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Thu, 8 Dec 2016 09:55:07 +0100 Subject: dpdk: don't drop packets if l4 checksum is flagged as bad Sometimes NICs are flagging checksum 0 as bad, which is not always true. Change-Id: Ibb0147c94f436966e6afa472025bdf92c41f201e Signed-off-by: Damjan Marion --- vnet/vnet/devices/dpdk/dpdk.h | 1 - vnet/vnet/devices/dpdk/node.c | 11 ++--------- 2 files changed, 2 insertions(+), 10 deletions(-) (limited to 'vnet') diff --git a/vnet/vnet/devices/dpdk/dpdk.h b/vnet/vnet/devices/dpdk/dpdk.h index 554b95f6aa9..771c91fdc6e 100644 --- a/vnet/vnet/devices/dpdk/dpdk.h +++ b/vnet/vnet/devices/dpdk/dpdk.h @@ -467,7 +467,6 @@ struct rte_mbuf *dpdk_zerocopy_replicate_packet_mb (vlib_buffer_t * b); _(NONE, "no error") \ _(RX_PACKET_ERROR, "Rx packet errors") \ _(RX_BAD_FCS, "Rx bad fcs") \ - _(L4_CHECKSUM_ERROR, "Rx L4 checksum errors") \ _(IP_CHECKSUM_ERROR, "Rx ip checksum errors") \ _(RX_ALLOC_FAIL, "rx buf alloc from free list failed") \ _(RX_ALLOC_NO_PHYSMEM, "rx buf alloc failed no physmem") \ diff --git a/vnet/vnet/devices/dpdk/node.c b/vnet/vnet/devices/dpdk/node.c index 758bcfb91ac..5f9c95aada2 100644 --- a/vnet/vnet/devices/dpdk/node.c +++ b/vnet/vnet/devices/dpdk/node.c @@ -79,11 +79,6 @@ dpdk_rx_error_from_mb (struct rte_mbuf *mb, u32 * next, u8 * error) *error = DPDK_ERROR_IP_CHECKSUM_ERROR; *next = VNET_DEVICE_INPUT_NEXT_DROP; } - else if (mb->ol_flags & PKT_RX_L4_CKSUM_BAD) - { - *error = DPDK_ERROR_L4_CHECKSUM_ERROR; - *next = VNET_DEVICE_INPUT_NEXT_DROP; - } else *error = DPDK_ERROR_NONE; } @@ -353,8 +348,7 @@ dpdk_device_input (dpdk_main_t * dm, dpdk_device_t * xd, dpdk_rx_next_from_mb (mb3, b3, &next3); } - if (PREDICT_FALSE (or_ol_flags & (PKT_RX_IP_CKSUM_BAD | - PKT_RX_L4_CKSUM_BAD))) + if (PREDICT_FALSE (or_ol_flags & PKT_RX_IP_CKSUM_BAD)) { dpdk_rx_error_from_mb (mb0, &next0, &error0); dpdk_rx_error_from_mb (mb1, &next1, &error1); @@ -564,8 +558,7 @@ poll_rate_limit (dpdk_main_t * dm) @em Uses: - struct rte_mbuf mb->ol_flags - - PKT_EXT_RX_PKT_ERROR, PKT_EXT_RX_BAD_FCS - PKT_RX_IP_CKSUM_BAD, PKT_RX_L4_CKSUM_BAD + - PKT_RX_IP_CKSUM_BAD - RTE_ETH_IS_xxx_HDR(mb->packet_type) - packet classification result -- cgit 1.2.3-korg