Skip to content

Commit

Permalink
net/sfc: demand Tx fast free offload on EF10 simple datapath
Browse files Browse the repository at this point in the history
[ upstream commit 24a491b ]

Enforce this offload as it is immutable on the said datapath.

Fixes: c78d280 ("net/sfc: convert to new Tx offload API")

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
  • Loading branch information
ol-ivanmal authored and kevintraynor committed Feb 21, 2022
1 parent 915b0b0 commit b832a19
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions drivers/net/sfc/sfc_tx.c
Expand Up @@ -308,6 +308,7 @@ sfc_tx_qinit_info(struct sfc_adapter *sa, sfc_sw_index_t sw_index)
static int
sfc_tx_check_mode(struct sfc_adapter *sa, const struct rte_eth_txmode *txmode)
{
uint64_t dev_tx_offload_cap = sfc_tx_get_dev_offload_caps(sa);
int rc = 0;

switch (txmode->mq_mode) {
Expand All @@ -319,6 +320,13 @@ sfc_tx_check_mode(struct sfc_adapter *sa, const struct rte_eth_txmode *txmode)
rc = EINVAL;
}

if ((dev_tx_offload_cap & RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE) != 0 &&
(txmode->offloads & RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE) == 0) {
sfc_err(sa, "There is no FAST_FREE flag in the attempted Tx mode configuration");
sfc_err(sa, "FAST_FREE is always active as per the current Tx datapath variant");
rc = EINVAL;
}

/*
* These features are claimed to be i40e-specific,
* but it does make sense to double-check their absence
Expand Down

0 comments on commit b832a19

Please sign in to comment.