This patch add mark action in switch filter.

Signed-off-by: Zhirun Yan <zhirun....@intel.com>
---
 drivers/net/ice/ice_switch_filter.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/ice/ice_switch_filter.c 
b/drivers/net/ice/ice_switch_filter.c
index 110d8895fe..1ff4b1afda 100644
--- a/drivers/net/ice/ice_switch_filter.c
+++ b/drivers/net/ice/ice_switch_filter.c
@@ -1715,6 +1715,7 @@ ice_switch_parse_action(struct ice_pf *pf,
        struct rte_eth_dev_data *dev_data = pf->adapter->pf.dev_data;
        const struct rte_flow_action_queue *act_q;
        const struct rte_flow_action_rss *act_qgrop;
+       const struct rte_flow_action_mark *act_mark;
        uint16_t base_queue, i;
        const struct rte_flow_action *action;
        enum rte_flow_action_type action_type;
@@ -1767,6 +1768,13 @@ ice_switch_parse_action(struct ice_pf *pf,
                                ICE_DROP_PACKET;
                        break;
 
+               case RTE_FLOW_ACTION_TYPE_MARK:
+                       act_mark = action->conf;
+                       rule_info->sw_act.fltr_act =
+                               ICE_SET_MARK;
+                       rule_info->sw_act.markid = act_mark->id;
+                       break;
+
                case RTE_FLOW_ACTION_TYPE_VOID:
                        break;
 
@@ -1822,6 +1830,7 @@ ice_switch_check_action(const struct rte_flow_action 
*actions,
                case RTE_FLOW_ACTION_TYPE_RSS:
                case RTE_FLOW_ACTION_TYPE_QUEUE:
                case RTE_FLOW_ACTION_TYPE_DROP:
+               case RTE_FLOW_ACTION_TYPE_MARK:
                case RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT:
                case RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR:
                        actions_num++;
-- 
2.25.1

Reply via email to