pt., 30 lip 2021 o 10:35 Olivier Matz <[email protected]> napisał(a):
>
> From: Ghalem Boudour <[email protected]>
>
> 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: [email protected]
>
> Signed-off-by: Ghalem Boudour <[email protected]>
> Signed-off-by: Olivier Matz <[email protected]>
Acked-by: Michal Krawczyk <[email protected]>
> ---
>
> v2
> * set DEV_TX_OFFLOAD_MULTI_SEGS in dev->data->dev_conf.txmode.offload
> * add Fixes and Cc stable
>
> drivers/net/ena/ena_ethdev.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
> index dfe68279fa..b59451034c 100644
> --- a/drivers/net/ena/ena_ethdev.c
> +++ b/drivers/net/ena/ena_ethdev.c
> @@ -1981,6 +1981,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;
> @@ -2055,6 +2056,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;
> --
> 2.29.2
>