net/bnxt: disable vector mode Tx with VLAN offload
authorLance Richardson <lance.richardson@broadcom.com>
Fri, 19 Jul 2019 06:19:04 +0000 (11:49 +0530)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 23 Jul 2019 12:31:36 +0000 (14:31 +0200)
The vector mode transmit path does not currently support VLAN tag
insertion, so we need to disable vector transmit when transmit
VLAN insertion offload is enabled.

Fixes: bc4a000f2f53 ("net/bnxt: implement SSE vector mode")

Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/bnxt_ethdev.c

index b336a23..ccec968 100644 (file)
@@ -734,13 +734,11 @@ bnxt_transmit_function(__rte_unused struct rte_eth_dev *eth_dev)
 {
 #ifdef RTE_ARCH_X86
        /*
-        * Vector mode receive can be enabled only if scatter tx is not
-        * in use and tx offloads other than VLAN insertion are not
-        * in use.
+        * Vector mode transmit can be enabled only if not using scatter rx
+        * or tx offloads.
         */
        if (!eth_dev->data->scattered_rx &&
-           !(eth_dev->data->dev_conf.txmode.offloads &
-             ~DEV_TX_OFFLOAD_VLAN_INSERT)) {
+           !eth_dev->data->dev_conf.txmode.offloads) {
                PMD_DRV_LOG(INFO, "Using vector mode transmit for port %d\n",
                            eth_dev->data->port_id);
                return bnxt_xmit_pkts_vec;