[PATCH] net/ice: support original represented_port action

zhichaox.zeng at intel.com zhichaox.zeng at intel.com
Fri Aug 26 09:25:44 CEST 2022


From: Zhichao Zeng <zhichaox.zeng at intel.com>

Add support to send matching traffic to the original DCF port
with represented_port action by using DCF port id as ethdev_port_id.

Signed-off-by: Zhichao Zeng <zhichaox.zeng at intel.com>
---
 drivers/net/ice/ice_switch_filter.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ice/ice_switch_filter.c b/drivers/net/ice/ice_switch_filter.c
index da81e49bfa..dbcb8bdfdc 100644
--- a/drivers/net/ice/ice_switch_filter.c
+++ b/drivers/net/ice/ice_switch_filter.c
@@ -1623,6 +1623,7 @@ ice_switch_parse_dcf_action(struct ice_dcf_adapter *ad,
 	const struct rte_eth_dev *repr_dev;
 	enum rte_flow_action_type action_type;
 	uint16_t rule_port_id, backer_port_id;
+	const char *pf_dev_name;
 
 	for (action = actions; action->type !=
 				RTE_FLOW_ACTION_TYPE_END; action++) {
@@ -1638,8 +1639,11 @@ ice_switch_parse_dcf_action(struct ice_dcf_adapter *ad,
 
 			rule_port_id = ad->parent.pf.dev_data->port_id;
 			backer_port_id = repr_dev->data->backer_port_id;
+			pf_dev_name = ad->parent.pf.dev_data->name;
 
-			if (backer_port_id != rule_port_id)
+			if (backer_port_id != rule_port_id &&
+					strncmp(pf_dev_name, repr_dev->data->name,
+							strlen(pf_dev_name)))
 				goto invalid;
 
 			rule_info->sw_act.vsi_handle = repr_dev->data->representor_id;
-- 
2.25.1



More information about the dev mailing list