From 3f3b085c8e1ca12f3325a06d4378e74c120ff038 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Thu, 9 Jun 2016 08:39:47 -0400 Subject: VPP-106: fix performance hit due to unprefetched data read Change-Id: I1325b60b6deadcb51631e178011a31ee70c06cc7 Signed-off-by: Dave Barach --- ...Set-PKT_RX_VLAN_PKT-flag-for-VLAN-packets.patch | 41 ---------------------- 1 file changed, 41 deletions(-) delete mode 100644 dpdk/dpdk-16.04_patches/0017-i40e-Set-PKT_RX_VLAN_PKT-flag-for-VLAN-packets.patch (limited to 'dpdk') diff --git a/dpdk/dpdk-16.04_patches/0017-i40e-Set-PKT_RX_VLAN_PKT-flag-for-VLAN-packets.patch b/dpdk/dpdk-16.04_patches/0017-i40e-Set-PKT_RX_VLAN_PKT-flag-for-VLAN-packets.patch deleted file mode 100644 index a40b537f..00000000 --- a/dpdk/dpdk-16.04_patches/0017-i40e-Set-PKT_RX_VLAN_PKT-flag-for-VLAN-packets.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 2c75df63533e1eaa97c24f41bbd6a5b131ff52ce Mon Sep 17 00:00:00 2001 -From: Georgi Savov -Date: Tue, 10 May 2016 10:59:55 -0400 -Subject: [PATCH 17/17] i40e Set PKT_RX_VLAN_PKT flag for VLAN packets - ---- - drivers/net/i40e/i40e_rxtx.c | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c -index 4d35d83..a2bb9a9 100644 ---- a/drivers/net/i40e/i40e_rxtx.c -+++ b/drivers/net/i40e/i40e_rxtx.c -@@ -94,7 +94,23 @@ i40e_rxd_to_vlan_tci(struct rte_mbuf *mb, volatile union i40e_rx_desc *rxdp) - PMD_RX_LOG(DEBUG, "Descriptor l2tag1: %u", - rte_le_to_cpu_16(rxdp->wb.qword0.lo_dword.l2tag1)); - } else { -- mb->vlan_tci = 0; -+ struct ether_hdr *eth_hdr = rte_pktmbuf_mtod(mb, struct ether_hdr *); -+ u16 eth_type = eth_hdr->ether_type; -+ -+ // The i40e firmware does not flag VLAN tagged packets if -+ // VLAN stripping is disabled so we need to check the -+ // ethernet header to find out if the received packet -+ // is a VLAN packet -+ if ((eth_type == rte_be_to_cpu_16(ETHER_TYPE_VLAN)) || -+ (eth_type == rte_be_to_cpu_16(ETHER_TYPE_VLAN_AD)) || -+ (eth_type == rte_be_to_cpu_16(ETHER_TYPE_VLAN_9100)) || -+ (eth_type == rte_be_to_cpu_16(ETHER_TYPE_VLAN_9200))) { -+ struct vlan_hdr *vhdr = (struct vlan_hdr *)(eth_hdr+1); -+ mb->ol_flags |= PKT_RX_VLAN_PKT; -+ mb->vlan_tci = rte_be_to_cpu_16(vhdr->vlan_tci); -+ } else { -+ mb->vlan_tci = 0; -+ } - } - #ifndef RTE_LIBRTE_I40E_16BYTE_RX_DESC - if (rte_le_to_cpu_16(rxdp->wb.qword2.ext_status) & --- -2.7.4 - -- cgit 1.2.3-korg