[PATCH] net/i40e: fix missing error handling for QinQ filter
Burakov, Anatoly
anatoly.burakov at intel.com
Fri Sep 11 13:16:57 CEST 2026
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: stable at dpdk.org
>
> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> ---
> 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 <anatoly.burakov at intel.com>
--
Thanks,
Anatoly
More information about the stable
mailing list