diff options
author | 2020-01-20 20:17:09 +0800 | |
---|---|---|
committer | 2020-08-12 15:59:46 +0000 | |
commit | 0bd543b2a93c01b08d2b60ad6efd2ca1bf1c069a (patch) | |
tree | 5ab9e46c2d01d4ad172f0529dae871a6e243e8cc /src/plugins/dpdk/device/flow.c | |
parent | d904f803bd80d35f5b6ceaab57598236fc9a6eda (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
(cherry picked from commit cd120f9bbb2101dfd7eca11d1a28e06ac5ace479)
Diffstat (limited to 'src/plugins/dpdk/device/flow.c')
-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 0a8cc4573bc..2b6b6c4291a 100644 --- a/src/plugins/dpdk/device/flow.c +++ b/src/plugins/dpdk/device/flow.c @@ -267,7 +267,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) |