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
--
2.53.0