From 2eb5dce8c0280dafef6dfbcc987331f7c27028cd Mon Sep 17 00:00:00 2001 From: Dekel Peled Date: Thu, 24 Oct 2019 15:46:42 +0300 Subject: [PATCH] net/mlx5: fix LRO dependency to include DV flow Rx queue for LRO is created using DevX. Flows created on this queue must use the DV flow engine. This patch adds check of dv_flow_en=1 when configuring LRO support on device spawn. Documentation is updated accordingly. Fixes: 175f1c21d033 ("net/mlx5: check conditions to enable LRO") Cc: stable@dpdk.org Signed-off-by: Dekel Peled Acked-by: Viacheslav Ovsiienko --- doc/guides/nics/mlx5.rst | 2 +- drivers/net/mlx5/mlx5.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index fc7de5223f..4f1093f6a5 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -203,7 +203,7 @@ Limitations - LRO: - - Requires DevX to be enabled. + - Requires DevX and DV flow to be enabled. - KEEP_CRC offload cannot be supported with LRO. - The first mbuf length, without head-room, must be big enough to include the TCP header (122B). diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index fac510507d..6dd3defebe 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -2033,7 +2033,8 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev, if (priv->counter_fallback) DRV_LOG(INFO, "Use fall-back DV counter management\n"); /* Check for LRO support. */ - if (config.dest_tir && config.hca_attr.lro_cap) { + if (config.dest_tir && config.hca_attr.lro_cap && + config.dv_flow_en) { /* TBD check tunnel lro caps. */ config.lro.supported = config.hca_attr.lro_cap; DRV_LOG(DEBUG, "Device supports LRO"); -- 2.20.1