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 <[email protected]>
---
v2:
- Fixed From/Signed-off-by email address mismatch
---
 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

Reply via email to