From: Chenmin Sun Date: Mon, 20 Jan 2020 12:17:09 +0000 (+0800) Subject: dpdk: fix flow(with mark action) deletion crash issue X-Git-Tag: v20.09-rc0~588 X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commitdiff_plain;h=cd120f9bbb2101dfd7eca11d1a28e06ac5ace479 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 Change-Id: I2b0a1e531931ab25541d672d88da18dc2289f1ce --- 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)