net/mlx5: fix E-Switch DV flow disabling
[dpdk.git] / drivers / net / cnxk / cn10k_tx_select.c
index d736730..54023c4 100644 (file)
@@ -14,6 +14,10 @@ pick_tx_func(struct rte_eth_dev *eth_dev,
        /* [SEC] [TSP] [TSO] [NOFF] [VLAN] [OL3_OL4_CSUM] [IL3_IL4_CSUM] */
        eth_dev->tx_pkt_burst =
                tx_burst[dev->tx_offload_flags & (NIX_TX_OFFLOAD_MAX - 1)];
+
+       if (eth_dev->data->dev_started)
+               rte_eth_fp_ops[eth_dev->data->port_id].tx_pkt_burst =
+                       eth_dev->tx_pkt_burst;
 }
 
 void
@@ -49,7 +53,7 @@ cn10k_eth_set_tx_function(struct rte_eth_dev *eth_dev)
 #undef T
        };
 
-       if (dev->scalar_ena) {
+       if (dev->scalar_ena || dev->tx_mark) {
                pick_tx_func(eth_dev, nix_eth_tx_burst);
                if (dev->tx_offloads & RTE_ETH_TX_OFFLOAD_MULTI_SEGS)
                        pick_tx_func(eth_dev, nix_eth_tx_burst_mseg);