diff options
author | Chenmin Sun <chenmin.sun@intel.com> | 2020-01-20 20:17:09 +0800 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2020-02-14 13:11:51 +0000 |
commit | cd120f9bbb2101dfd7eca11d1a28e06ac5ace479 (patch) | |
tree | 18ff033a94005ed0f145107250ad7da453527a74 /src/plugins | |
parent | 360336fa56ae913ceb17a8e0b010e96bed78cfc3 (diff) |
dpdk: fix flow(with mark action) deletion crash issue
Type: fix
this patch fixes mark flow deletion crash issue, see below
test flow add src-ip any proto udp src-port 111 dst-port 222 mark 100
test flow enable index 0 1/1
test flow disable index 0 1/1
test flow enable index 0 1/1
test flow disable index 0 1/1 -> [crash]
This is because the code resets a wrong vector in flow lookup entry
recycle logic. See function dpdk_flow_ops_fn().
Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: I2b0a1e531931ab25541d672d88da18dc2289f1ce
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/dpdk/device/flow.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/plugins/dpdk/device/flow.c b/src/plugins/dpdk/device/flow.c index d3ca4359722..85a62bbf46b 100644 --- a/src/plugins/dpdk/device/flow.c +++ b/src/plugins/dpdk/device/flow.c @@ -573,7 +573,7 @@ dpdk_flow_ops_fn (vnet_main_t * vnm, vnet_flow_dev_op_t op, u32 dev_instance, vec_foreach (fl_index, xd->parked_lookup_indexes) pool_put_index (xd->flow_lookup_entries, *fl_index); - vec_reset_length (xd->flow_lookup_entries); + vec_reset_length (xd->parked_lookup_indexes); } if (op == VNET_FLOW_DEV_OP_DEL_FLOW) |