app/testpmd: fix tunnel offload validation
[dpdk.git] / app / test-pmd / config.c
index f87d9d5..1722d6c 100644 (file)
@@ -1971,6 +1971,7 @@ port_flow_validate(portid_t port_id,
 {
        struct rte_flow_error error;
        struct port_flow_tunnel *pft = NULL;
+       int ret;
 
        /* Poisoning to make sure PMDs update it in case of error. */
        memset(&error, 0x11, sizeof(error));
@@ -1984,10 +1985,11 @@ port_flow_validate(portid_t port_id,
                if (pft->actions)
                        actions = pft->actions;
        }
-       if (rte_flow_validate(port_id, attr, pattern, actions, &error))
-               return port_flow_complain(&error);
+       ret = rte_flow_validate(port_id, attr, pattern, actions, &error);
        if (tunnel_ops->enabled)
                port_flow_tunnel_offload_cmd_release(port_id, tunnel_ops, pft);
+       if (ret)
+               return port_flow_complain(&error);
        printf("Flow rule validated\n");
        return 0;
 }