app/testpmd: fix tunnel offload flows cleanup
authorGregory Etelson <getelson@nvidia.com>
Tue, 11 May 2021 08:03:31 +0000 (11:03 +0300)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 11 May 2021 19:08:41 +0000 (21:08 +0200)
Tunnel offload model requires application to obtain PMD related flow
items or actions to construct a flow rule. These elements acquire
internal PMD flow resources that must be explicitly released.

The patch destroys tunnel offload PMD resources after flow creation
failure.

Fixes: 1b9f274623b8 ("app/testpmd: add commands for tunnel offload")
Cc: stable@dpdk.org
Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
app/test-pmd/config.c

index 01a541c..43c79b5 100644 (file)
@@ -1940,6 +1940,9 @@ port_flow_create(portid_t port_id,
        memset(&error, 0x22, sizeof(error));
        flow = rte_flow_create(port_id, attr, pattern, actions, &error);
        if (!flow) {
+               if (tunnel_ops->enabled)
+                       port_flow_tunnel_offload_cmd_release(port_id,
+                                                            tunnel_ops, pft);
                free(pf);
                return port_flow_complain(&error);
        }