net/ena: enable multi-segment in Tx offload flags
authorGhalem Boudour <ghalem.boudour@6wind.com>
Fri, 30 Jul 2021 08:34:41 +0000 (10:34 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 30 Jul 2021 10:10:20 +0000 (12:10 +0200)
The DPDK ENA driver does not provide multi-segment tx offload capability.
Let's add DEV_TX_OFFLOAD_MULTI_SEGS to ports offload capability by
default, and always set it in dev->data->dev_conf.txmode.offload.

This flag in not listed in doc/guides/nics/features/default.ini, so
ena.ini does not need to be updated.

Fixes: 1173fca25af9 ("ena: add polling-mode driver")
Cc: stable@dpdk.org
Signed-off-by: Ghalem Boudour <ghalem.boudour@6wind.com>
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
drivers/net/ena/ena_ethdev.c

index 14f776b..4cebf60 100644 (file)
@@ -1856,6 +1856,7 @@ static int ena_dev_configure(struct rte_eth_dev *dev)
 
        if (dev->data->dev_conf.rxmode.mq_mode & ETH_MQ_RX_RSS_FLAG)
                dev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;
+       dev->data->dev_conf.txmode.offloads |= DEV_TX_OFFLOAD_MULTI_SEGS;
 
        adapter->tx_selected_offloads = dev->data->dev_conf.txmode.offloads;
        adapter->rx_selected_offloads = dev->data->dev_conf.rxmode.offloads;
@@ -1930,6 +1931,7 @@ static int ena_infos_get(struct rte_eth_dev *dev,
                        DEV_RX_OFFLOAD_TCP_CKSUM;
 
        rx_feat |= DEV_RX_OFFLOAD_JUMBO_FRAME;
+       tx_feat |= DEV_TX_OFFLOAD_MULTI_SEGS;
 
        /* Inform framework about available features */
        dev_info->rx_offload_capa = rx_feat;