From 0f664f7d57268f9ab9bdef95f0d48b3ce5004a61 Mon Sep 17 00:00:00 2001 From: Simei Su Date: Tue, 14 Apr 2020 23:11:13 +0800 Subject: [PATCH] net/ice: support mark only action for flow director This patch fixes issue that doesn't support mark only case. Mark only action is equal to mark + passthru action. Fixes: f5cafa961fae ("net/ice: add flow director create and destroy") Cc: stable@dpdk.org Signed-off-by: Simei Su Acked-by: Qi Zhang --- drivers/net/ice/ice_fdir_filter.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/net/ice/ice_fdir_filter.c b/drivers/net/ice/ice_fdir_filter.c index 1a85d6cc16..69c714c59c 100644 --- a/drivers/net/ice/ice_fdir_filter.c +++ b/drivers/net/ice/ice_fdir_filter.c @@ -1539,7 +1539,7 @@ ice_fdir_parse_action(struct ice_adapter *ad, } } - if (dest_num == 0 || dest_num >= 2) { + if (dest_num >= 2) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ACTION, actions, "Unsupported action combination"); @@ -1560,6 +1560,18 @@ ice_fdir_parse_action(struct ice_adapter *ad, return -rte_errno; } + if (dest_num + mark_num + counter_num == 0) { + rte_flow_error_set(error, EINVAL, + RTE_FLOW_ERROR_TYPE_ACTION, actions, + "Empty action"); + return -rte_errno; + } + + /* set default action to PASSTHRU mode, in "mark/count only" case. */ + if (dest_num == 0) + filter->input.dest_ctl = + ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_OTHER; + return 0; }