[dpdk-dev] net/sfc: rely on ethdev mapping of Tx offloads to TxQ flags
Checks
Commit Message
There is no necessity to fill in TxQ flags since ethdev maps
Tx offloads to TxQ flags on device info get for apps which are
not converted yet to Tx offloads API.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
It should be applied after [1].
txq_flags are still used in net/sfc to check if legacy application
creates Tx queue. If so:
- IPv4 and outer IPv4 checksum (if supported) offloads are enabled
- TSO is enabled if TCP checksum is not disabled
It is required since old TxQ flags do not have means to control it.
[1] http://dpdk.org/ml/archives/dev/2018-May/100044.html
drivers/net/sfc/sfc_ethdev.c | 15 ---------------
1 file changed, 15 deletions(-)
Comments
On 5/3/2018 11:17 AM, Andrew Rybchenko wrote:
> There is no necessity to fill in TxQ flags since ethdev maps
> Tx offloads to TxQ flags on device info get for apps which are
> not converted yet to Tx offloads API.
>
> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Applied to dpdk-next-net/master, thanks.
@@ -84,7 +84,6 @@ static void
sfc_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
{
struct sfc_adapter *sa = dev->data->dev_private;
- const efx_nic_cfg_t *encp = efx_nic_cfg_get(sa->nic);
struct sfc_rss *rss = &sa->rss;
uint64_t txq_offloads_def = 0;
@@ -138,20 +137,6 @@ sfc_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
dev_info->default_txconf.offloads |= txq_offloads_def;
- dev_info->default_txconf.txq_flags = ETH_TXQ_FLAGS_NOXSUMSCTP;
- if ((~sa->dp_tx->features & SFC_DP_TX_FEAT_VLAN_INSERT) ||
- !encp->enc_hw_tx_insert_vlan_enabled)
- dev_info->default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOVLANOFFL;
-
- if (~sa->dp_tx->features & SFC_DP_TX_FEAT_MULTI_SEG)
- dev_info->default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOMULTSEGS;
-
- if (~sa->dp_tx->features & SFC_DP_TX_FEAT_MULTI_POOL)
- dev_info->default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOMULTMEMP;
-
- if (~sa->dp_tx->features & SFC_DP_TX_FEAT_REFCNT)
- dev_info->default_txconf.txq_flags |= ETH_TXQ_FLAGS_NOREFCOUNT;
-
if (rss->context_type != EFX_RX_SCALE_UNAVAILABLE) {
uint64_t rte_hf = 0;
unsigned int i;