DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] net/intel: use rte_validate_tx_offload function correctly for i40e/iavf/ice drivers
@ 2026-09-16 14:12 Omar Munchaev
  2026-09-16 15:48 ` Bruce Richardson
  2026-09-19 18:03 ` Medvedkin, Vladimir
  0 siblings, 2 replies; 3+ messages in thread
From: Omar Munchaev @ 2026-09-16 14:12 UTC (permalink / raw)
  To: Bruce Richardson, Vladimir Medvedkin, Anatoly Burakov; +Cc: dev, Omar Munchaev

rte_validate_tx_offload() returns 0 on success.
The i40e, iavf and ice drivers treat any non-zero
return as an error and drop the packet, causing valid packets to be
dropped when Tx offload checking is enabled via EAL, e.g.:

    -a 81:00.0,mbuf_check=offload

Only reject the packet when the return value is not 0.

Signed-off-by: Omar Munchaev <omar.munchaev@gmail.com>
---
 drivers/net/intel/i40e/i40e_rxtx.c | 2 +-
 drivers/net/intel/iavf/iavf_rxtx.c | 2 +-
 drivers/net/intel/ice/ice_rxtx.c   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/intel/i40e/i40e_rxtx.c b/drivers/net/intel/i40e/i40e_rxtx.c
index e29fcff661..ee70f7ce4f 100644
--- a/drivers/net/intel/i40e/i40e_rxtx.c
+++ b/drivers/net/intel/i40e/i40e_rxtx.c
@@ -1194,7 +1194,7 @@ i40e_xmit_pkts_check(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts
 				break;
 			}
 
-			if (!rte_validate_tx_offload(mb)) {
+			if (rte_validate_tx_offload(mb) != 0) {
 				PMD_TX_LOG(ERR, "INVALID mbuf: TX offload setup error");
 				pkt_error = true;
 				break;
diff --git a/drivers/net/intel/iavf/iavf_rxtx.c b/drivers/net/intel/iavf/iavf_rxtx.c
index 4f2ffe6188..10d33660d9 100644
--- a/drivers/net/intel/iavf/iavf_rxtx.c
+++ b/drivers/net/intel/iavf/iavf_rxtx.c
@@ -3813,7 +3813,7 @@ iavf_xmit_pkts_check(void *tx_queue, struct rte_mbuf **tx_pkts,
 				break;
 			}
 
-			if (!rte_validate_tx_offload(mb)) {
+			if (rte_validate_tx_offload(mb) != 0) {
 				PMD_TX_LOG(ERR, "INVALID mbuf: TX offload setup error");
 				pkt_error = true;
 				break;
diff --git a/drivers/net/intel/ice/ice_rxtx.c b/drivers/net/intel/ice/ice_rxtx.c
index c4b5454c53..3d98d821b2 100644
--- a/drivers/net/intel/ice/ice_rxtx.c
+++ b/drivers/net/intel/ice/ice_rxtx.c
@@ -3669,7 +3669,7 @@ ice_xmit_pkts_check(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 				break;
 			}
 
-			if (!rte_validate_tx_offload(mb)) {
+			if (rte_validate_tx_offload(mb) != 0) {
 				PMD_TX_LOG(ERR, "INVALID mbuf: TX offload setup error");
 				pkt_error = true;
 				break;
-- 
2.54.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] net/intel: use rte_validate_tx_offload function correctly for i40e/iavf/ice drivers
  2026-09-16 14:12 [PATCH] net/intel: use rte_validate_tx_offload function correctly for i40e/iavf/ice drivers Omar Munchaev
@ 2026-09-16 15:48 ` Bruce Richardson
  2026-09-19 18:03 ` Medvedkin, Vladimir
  1 sibling, 0 replies; 3+ messages in thread
From: Bruce Richardson @ 2026-09-16 15:48 UTC (permalink / raw)
  To: Omar Munchaev; +Cc: Vladimir Medvedkin, Anatoly Burakov, dev, Omar Munchaev

On Wed, Sep 16, 2026 at 05:12:35PM +0300, Omar Munchaev wrote:
> rte_validate_tx_offload() returns 0 on success.
> The i40e, iavf and ice drivers treat any non-zero

s/any non-zero/a zero/

> return as an error and drop the packet, causing valid packets to be
> dropped when Tx offload checking is enabled via EAL, e.g.:
> 
>     -a 81:00.0,mbuf_check=offload
> 
> Only reject the packet when the return value is not 0.
>

Fixes: 82b03af55a1b ("net/i40e: support mbuf checks in Tx path")
Fixes: 21dad1fc78cb ("net/iavf: support mbuf checks in Tx path")
Fixes: 2a0244d611b4 ("net/ice: support mbuf checks in Tx path")
Cc: stable@dpdk.org

> Signed-off-by: Omar Munchaev <omar.munchaev@gmail.com>

Fixes look correct to me.

Acked-by: Bruce Richardson <bruce.richardson@intel.com>


> ---
>  drivers/net/intel/i40e/i40e_rxtx.c | 2 +-
>  drivers/net/intel/iavf/iavf_rxtx.c | 2 +-
>  drivers/net/intel/ice/ice_rxtx.c   | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/intel/i40e/i40e_rxtx.c b/drivers/net/intel/i40e/i40e_rxtx.c
> index e29fcff661..ee70f7ce4f 100644
> --- a/drivers/net/intel/i40e/i40e_rxtx.c
> +++ b/drivers/net/intel/i40e/i40e_rxtx.c
> @@ -1194,7 +1194,7 @@ i40e_xmit_pkts_check(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts
>  				break;
>  			}
>  
> -			if (!rte_validate_tx_offload(mb)) {
> +			if (rte_validate_tx_offload(mb) != 0) {
>  				PMD_TX_LOG(ERR, "INVALID mbuf: TX offload setup error");
>  				pkt_error = true;
>  				break;
> diff --git a/drivers/net/intel/iavf/iavf_rxtx.c b/drivers/net/intel/iavf/iavf_rxtx.c
> index 4f2ffe6188..10d33660d9 100644
> --- a/drivers/net/intel/iavf/iavf_rxtx.c
> +++ b/drivers/net/intel/iavf/iavf_rxtx.c
> @@ -3813,7 +3813,7 @@ iavf_xmit_pkts_check(void *tx_queue, struct rte_mbuf **tx_pkts,
>  				break;
>  			}
>  
> -			if (!rte_validate_tx_offload(mb)) {
> +			if (rte_validate_tx_offload(mb) != 0) {
>  				PMD_TX_LOG(ERR, "INVALID mbuf: TX offload setup error");
>  				pkt_error = true;
>  				break;
> diff --git a/drivers/net/intel/ice/ice_rxtx.c b/drivers/net/intel/ice/ice_rxtx.c
> index c4b5454c53..3d98d821b2 100644
> --- a/drivers/net/intel/ice/ice_rxtx.c
> +++ b/drivers/net/intel/ice/ice_rxtx.c
> @@ -3669,7 +3669,7 @@ ice_xmit_pkts_check(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
>  				break;
>  			}
>  
> -			if (!rte_validate_tx_offload(mb)) {
> +			if (rte_validate_tx_offload(mb) != 0) {
>  				PMD_TX_LOG(ERR, "INVALID mbuf: TX offload setup error");
>  				pkt_error = true;
>  				break;
> -- 
> 2.54.0
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] net/intel: use rte_validate_tx_offload function correctly for i40e/iavf/ice drivers
  2026-09-16 14:12 [PATCH] net/intel: use rte_validate_tx_offload function correctly for i40e/iavf/ice drivers Omar Munchaev
  2026-09-16 15:48 ` Bruce Richardson
@ 2026-09-19 18:03 ` Medvedkin, Vladimir
  1 sibling, 0 replies; 3+ messages in thread
From: Medvedkin, Vladimir @ 2026-09-19 18:03 UTC (permalink / raw)
  To: Omar Munchaev, Bruce Richardson, Anatoly Burakov; +Cc: dev, Omar Munchaev

Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>

On 9/16/2026 3:12 PM, Omar Munchaev wrote:
> rte_validate_tx_offload() returns 0 on success.
> The i40e, iavf and ice drivers treat any non-zero
> return as an error and drop the packet, causing valid packets to be
> dropped when Tx offload checking is enabled via EAL, e.g.:
>
>      -a 81:00.0,mbuf_check=offload
>
> Only reject the packet when the return value is not 0.
>
> Signed-off-by: Omar Munchaev <omar.munchaev@gmail.com>
> ---
>   drivers/net/intel/i40e/i40e_rxtx.c | 2 +-
>   drivers/net/intel/iavf/iavf_rxtx.c | 2 +-
>   drivers/net/intel/ice/ice_rxtx.c   | 2 +-
>   3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/intel/i40e/i40e_rxtx.c b/drivers/net/intel/i40e/i40e_rxtx.c
> index e29fcff661..ee70f7ce4f 100644
> --- a/drivers/net/intel/i40e/i40e_rxtx.c
> +++ b/drivers/net/intel/i40e/i40e_rxtx.c
> @@ -1194,7 +1194,7 @@ i40e_xmit_pkts_check(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts
>   				break;
>   			}
>   
> -			if (!rte_validate_tx_offload(mb)) {
> +			if (rte_validate_tx_offload(mb) != 0) {
>   				PMD_TX_LOG(ERR, "INVALID mbuf: TX offload setup error");
>   				pkt_error = true;
>   				break;
> diff --git a/drivers/net/intel/iavf/iavf_rxtx.c b/drivers/net/intel/iavf/iavf_rxtx.c
> index 4f2ffe6188..10d33660d9 100644
> --- a/drivers/net/intel/iavf/iavf_rxtx.c
> +++ b/drivers/net/intel/iavf/iavf_rxtx.c
> @@ -3813,7 +3813,7 @@ iavf_xmit_pkts_check(void *tx_queue, struct rte_mbuf **tx_pkts,
>   				break;
>   			}
>   
> -			if (!rte_validate_tx_offload(mb)) {
> +			if (rte_validate_tx_offload(mb) != 0) {
>   				PMD_TX_LOG(ERR, "INVALID mbuf: TX offload setup error");
>   				pkt_error = true;
>   				break;
> diff --git a/drivers/net/intel/ice/ice_rxtx.c b/drivers/net/intel/ice/ice_rxtx.c
> index c4b5454c53..3d98d821b2 100644
> --- a/drivers/net/intel/ice/ice_rxtx.c
> +++ b/drivers/net/intel/ice/ice_rxtx.c
> @@ -3669,7 +3669,7 @@ ice_xmit_pkts_check(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
>   				break;
>   			}
>   
> -			if (!rte_validate_tx_offload(mb)) {
> +			if (rte_validate_tx_offload(mb) != 0) {
>   				PMD_TX_LOG(ERR, "INVALID mbuf: TX offload setup error");
>   				pkt_error = true;
>   				break;

-- 
Regards,
Vladimir


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-09-19 18:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-16 14:12 [PATCH] net/intel: use rte_validate_tx_offload function correctly for i40e/iavf/ice drivers Omar Munchaev
2026-09-16 15:48 ` Bruce Richardson
2026-09-19 18:03 ` Medvedkin, Vladimir

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox