The vpmd RX don't accept burst size less than 32.
As vPMD is set =y by default, while default testpmd burst size is 16.
Which will cause RX nothing if not assign burst size correctly.

Signed-off-by: Cunming Liang <cunming.liang at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
Acked-by: Yong Liu <yong.liu at intel.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan at intel.com>
---
 app/test-pmd/testpmd.h            | 2 +-
 lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
index 5839f93..7e3beb6 100644
--- a/app/test-pmd/testpmd.h
+++ b/app/test-pmd/testpmd.h
@@ -63,7 +63,7 @@ int main(int argc, char **argv);
 #define RTE_MAX_SEGS_PER_PKT 255 /**< pkt.nb_segs is a 8-bit unsigned char. */

 #define MAX_PKT_BURST 512
-#define DEF_PKT_BURST 16
+#define DEF_PKT_BURST 32

 #define CACHE_LINE_SIZE_ROUNDUP(size) \
        (CACHE_LINE_SIZE * ((size + CACHE_LINE_SIZE - 1) / CACHE_LINE_SIZE))
diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c 
b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
index 7f05b26..a5c8228 100644
--- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
+++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
@@ -2168,7 +2168,8 @@ ixgbe_dev_rx_queue_setup(struct rte_eth_dev *dev,
                dev->rx_pkt_burst = ixgbe_recv_pkts_bulk_alloc;
 #ifdef RTE_IXGBE_INC_VECTOR
                if (!ixgbe_rx_vec_condition_check(dev)) {
-                       PMD_INIT_LOG(INFO, "Vector rx enabled.\n");
+                       PMD_INIT_LOG(INFO, "Vector rx enabled, please make "
+                                    "sure RX burst size no less than 32.\n");
                        ixgbe_rxq_vec_setup(rxq, socket_id);
                        dev->rx_pkt_burst = ixgbe_recv_pkts_vec;
                }
-- 
1.8.1.4

Reply via email to