app/testpmd: enable fast free Tx offload by default
authorShahaf Shuler <shahafs@mellanox.com>
Wed, 10 Jan 2018 09:09:19 +0000 (11:09 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 15 Jan 2018 09:58:51 +0000 (10:58 +0100)
Enable the DEV_TX_OFFLOAD_MBUF_FAST_FREE in case the underlying device
supports.

This is to preserve the previous offloads configuration made according
to the PMD defaults.

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
app/test-pmd/testpmd.c

index e73d162..007d6a2 100644 (file)
@@ -311,7 +311,9 @@ struct rte_eth_rxmode rx_mode = {
        .ignore_offload_bitfield = 1,
 };
 
-struct rte_eth_txmode tx_mode;
+struct rte_eth_txmode tx_mode = {
+       .offloads = DEV_TX_OFFLOAD_MBUF_FAST_FREE,
+};
 
 struct rte_fdir_conf fdir_conf = {
        .mode = RTE_FDIR_MODE_NONE,
@@ -577,6 +579,10 @@ init_config(void)
                port->dev_conf.txmode = tx_mode;
                port->dev_conf.rxmode = rx_mode;
                rte_eth_dev_info_get(pid, &port->dev_info);
+               if (!(port->dev_info.tx_offload_capa &
+                     DEV_TX_OFFLOAD_MBUF_FAST_FREE))
+                       port->dev_conf.txmode.offloads &=
+                               ~DEV_TX_OFFLOAD_MBUF_FAST_FREE;
 
                if (numa_support) {
                        if (port_numa[pid] != NUMA_NO_CONFIG)