[dpdk-dev,v1] net/failsafe: fix default Tx offloads capabilities

Message ID 1517846526-751-1-git-send-email-ophirmu@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Ophir Munk Feb. 5, 2018, 4:02 p.m. UTC
  Failsafe reported Tx offloads capabilities are the AND result of its
default capabilities and those of its sub-devices.
In the corrupted code failsafe default Tx capabilities were set to 0.
As a result when running testpmd with "--tx-offloads=0x8000" parameter
(request for multi segments offload) - an error was returned:

PMD: net_failsafe:
Some Tx offloads are not supported, requested 0x8000 supported 0x0

To fix this, failsafe default Tx offload capabilities are set to
DEV_TX_OFFLOAD_MULTI_SEGS |
DEV_TX_OFFLOAD_IPV4_CKSUM |
DEV_TX_OFFLOAD_UDP_CKSUM |
DEV_TX_OFFLOAD_TCP_CKSUM,

Fixes: a46f8d584eb8 ("net/failsafe: add fail-safe PMD")
Cc: stable@dpdk.org

Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
---
 drivers/net/failsafe/failsafe_ops.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
  

Comments

Gaëtan Rivet Feb. 5, 2018, 4:33 p.m. UTC | #1
Hi Ophir,

On Mon, Feb 05, 2018 at 04:02:06PM +0000, Ophir Munk wrote:
> Failsafe reported Tx offloads capabilities are the AND result of its
> default capabilities and those of its sub-devices.
> In the corrupted code failsafe default Tx capabilities were set to 0.
> As a result when running testpmd with "--tx-offloads=0x8000" parameter
> (request for multi segments offload) - an error was returned:
> 
> PMD: net_failsafe:
> Some Tx offloads are not supported, requested 0x8000 supported 0x0
> 
> To fix this, failsafe default Tx offload capabilities are set to
> DEV_TX_OFFLOAD_MULTI_SEGS |
> DEV_TX_OFFLOAD_IPV4_CKSUM |
> DEV_TX_OFFLOAD_UDP_CKSUM |
> DEV_TX_OFFLOAD_TCP_CKSUM,
> 
> Fixes: a46f8d584eb8 ("net/failsafe: add fail-safe PMD")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
> ---
>  drivers/net/failsafe/failsafe_ops.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/failsafe/failsafe_ops.c b/drivers/net/failsafe/failsafe_ops.c
> index e7bb801..7a67e16 100644
> --- a/drivers/net/failsafe/failsafe_ops.c
> +++ b/drivers/net/failsafe/failsafe_ops.c
> @@ -77,7 +77,11 @@ static struct rte_eth_dev_info default_infos = {
>  		DEV_RX_OFFLOAD_SCATTER |
>  		DEV_RX_OFFLOAD_TIMESTAMP |
>  		DEV_RX_OFFLOAD_SECURITY,
> -	.tx_offload_capa = 0x0,
> +	.tx_offload_capa =
> +		DEV_TX_OFFLOAD_MULTI_SEGS |

With the caveat that this offload above will not be backported to
the stable branch this patch will fix,

Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>

Thanks,

> +		DEV_TX_OFFLOAD_IPV4_CKSUM |
> +		DEV_TX_OFFLOAD_UDP_CKSUM |
> +		DEV_TX_OFFLOAD_TCP_CKSUM,
>  	.flow_type_rss_offloads = 0x0,
>  };
>  
> -- 
> 2.7.4
>
  

Patch

diff --git a/drivers/net/failsafe/failsafe_ops.c b/drivers/net/failsafe/failsafe_ops.c
index e7bb801..7a67e16 100644
--- a/drivers/net/failsafe/failsafe_ops.c
+++ b/drivers/net/failsafe/failsafe_ops.c
@@ -77,7 +77,11 @@  static struct rte_eth_dev_info default_infos = {
 		DEV_RX_OFFLOAD_SCATTER |
 		DEV_RX_OFFLOAD_TIMESTAMP |
 		DEV_RX_OFFLOAD_SECURITY,
-	.tx_offload_capa = 0x0,
+	.tx_offload_capa =
+		DEV_TX_OFFLOAD_MULTI_SEGS |
+		DEV_TX_OFFLOAD_IPV4_CKSUM |
+		DEV_TX_OFFLOAD_UDP_CKSUM |
+		DEV_TX_OFFLOAD_TCP_CKSUM,
 	.flow_type_rss_offloads = 0x0,
 };