On 9/11/2026 11:40 AM, Bruce Richardson wrote:
When installing a QinQ tunnel filter, errors were not properly caught
leading to the situation where the app got a successful return code even
though the filter was not properly installed. Add an appropriate log
message and error return code on error to fix.

Fixes: 116b7910d641 ("net/i40e: add QinQ filter create function")
Cc: [email protected]

Signed-off-by: Bruce Richardson <[email protected]>
---
  drivers/net/intel/i40e/i40e_ethdev.c | 8 +++++---
  1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/intel/i40e/i40e_ethdev.c 
b/drivers/net/intel/i40e/i40e_ethdev.c
index b6b2d291ee..c91abe7626 100644
--- a/drivers/net/intel/i40e/i40e_ethdev.c
+++ b/drivers/net/intel/i40e/i40e_ethdev.c
@@ -8597,9 +8597,11 @@ i40e_dev_consistent_tunnel_filter_set(struct i40e_pf *pf,
        case I40E_TUNNEL_TYPE_QINQ:
                if (!pf->qinq_replace_flag) {
                        ret = i40e_cloud_filter_qinq_create(pf);
-                       if (ret < 0)
-                               PMD_DRV_LOG(DEBUG,
-                                           "QinQ tunnel filter already 
created.");
+                       if (ret < 0) {
+                               PMD_DRV_LOG(ERR, "Failed to create QinQ tunnel 
filter.");
+                               /* ret is a raw i40e_status_code, not an errno 
*/
+                               return -ENOTSUP;
+                       }
                        pf->qinq_replace_flag = 1;
                }
                /*      Add in the General fields the values of

Returning ENOTSUP unconditionally seemed unwarranted to me, so I dug into the code to see what sort of errors we might see. The function in question actually mixes return values (default value is `-ENOTSUP` which is -95, but most errors from that codepath return `I40E_NOT_SUPPORTED` which is -64), but most of them indeed boil down to ENOTSUP (except for status returned from call into AQ command).

So, although not ideal, this is probably consistent with current implementation

Acked-by: Anatoly Burakov <[email protected]>

--
Thanks,
Anatoly

Reply via email to