net/vmxnet3: support MSI-X interrupt
[dpdk.git] / drivers / net / i40e / i40e_rxtx_vec_avx512.c
index e92f97b..bd21d64 100644 (file)
@@ -3,7 +3,7 @@
  */
 
 #include <stdint.h>
-#include <rte_ethdev_driver.h>
+#include <ethdev_driver.h>
 #include <rte_malloc.h>
 
 #include "base/i40e_prototype.h"
@@ -20,7 +20,7 @@
 
 #define RTE_I40E_DESCS_PER_LOOP_AVX 8
 
-static inline void
+static __rte_always_inline void
 i40e_rxq_rearm(struct i40e_rx_queue *rxq)
 {
        int i;
@@ -32,6 +32,9 @@ i40e_rxq_rearm(struct i40e_rx_queue *rxq)
 
        rxdp = rxq->rx_ring + rxq->rxrearm_start;
 
+       if (unlikely(!cache))
+               return i40e_rxq_rearm_common(rxq, true);
+
        /* We need to pull 'n' more MBUFs into the software ring from mempool
         * We inline the mempool function here, so we can vectorize the copy
         * from the cache into the shadow ring.
@@ -337,24 +340,24 @@ _recv_raw_pkts_vec_avx512(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
        const __m256i l3_l4_flags_shuf = _mm256_set_epi8
                (0, 0, 0, 0, 0, 0, 0, 0,
                /* shift right 1 bit to make sure it not exceed 255 */
-               (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD |
+               (PKT_RX_OUTER_IP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD |
                 PKT_RX_IP_CKSUM_BAD) >> 1,
-               (PKT_RX_IP_CKSUM_GOOD | PKT_RX_EIP_CKSUM_BAD |
+               (PKT_RX_IP_CKSUM_GOOD | PKT_RX_OUTER_IP_CKSUM_BAD |
                 PKT_RX_L4_CKSUM_BAD) >> 1,
-               (PKT_RX_EIP_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1,
-               (PKT_RX_IP_CKSUM_GOOD | PKT_RX_EIP_CKSUM_BAD) >> 1,
+               (PKT_RX_OUTER_IP_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1,
+               (PKT_RX_IP_CKSUM_GOOD | PKT_RX_OUTER_IP_CKSUM_BAD) >> 1,
                (PKT_RX_L4_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1,
                (PKT_RX_IP_CKSUM_GOOD | PKT_RX_L4_CKSUM_BAD) >> 1,
                PKT_RX_IP_CKSUM_BAD >> 1,
                (PKT_RX_IP_CKSUM_GOOD | PKT_RX_L4_CKSUM_GOOD) >> 1,
                /* second 128-bits */
                0, 0, 0, 0, 0, 0, 0, 0,
-               (PKT_RX_EIP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD |
+               (PKT_RX_OUTER_IP_CKSUM_BAD | PKT_RX_L4_CKSUM_BAD |
                 PKT_RX_IP_CKSUM_BAD) >> 1,
-               (PKT_RX_IP_CKSUM_GOOD | PKT_RX_EIP_CKSUM_BAD |
+               (PKT_RX_IP_CKSUM_GOOD | PKT_RX_OUTER_IP_CKSUM_BAD |
                 PKT_RX_L4_CKSUM_BAD) >> 1,
-               (PKT_RX_EIP_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1,
-               (PKT_RX_IP_CKSUM_GOOD | PKT_RX_EIP_CKSUM_BAD) >> 1,
+               (PKT_RX_OUTER_IP_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1,
+               (PKT_RX_IP_CKSUM_GOOD | PKT_RX_OUTER_IP_CKSUM_BAD) >> 1,
                (PKT_RX_L4_CKSUM_BAD | PKT_RX_IP_CKSUM_BAD) >> 1,
                (PKT_RX_IP_CKSUM_GOOD | PKT_RX_L4_CKSUM_BAD) >> 1,
                PKT_RX_IP_CKSUM_BAD >> 1,
@@ -363,7 +366,7 @@ _recv_raw_pkts_vec_avx512(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
        const __m256i cksum_mask = _mm256_set1_epi32
                (PKT_RX_IP_CKSUM_GOOD | PKT_RX_IP_CKSUM_BAD |
                PKT_RX_L4_CKSUM_GOOD | PKT_RX_L4_CKSUM_BAD |
-               PKT_RX_EIP_CKSUM_BAD);
+               PKT_RX_OUTER_IP_CKSUM_BAD);
 
        uint16_t i, received;