[PATCH v1] net/cpfl: fix invalid action types
Praveen Shetty
praveen.shetty at intel.com
Tue Jul 30 13:45:40 CEST 2024
In case of CPFL PMD, port_representor action is used for
the local vport and represented_port action is used for
the remote port(remote port in this case is either the idpf
pf or the vf port that is being represeted by the cpfl pmd).
Any mismatch in either of the cases PMD will throw
an error.
Fixes: 441e777b85f1 ("net/cpfl: support represented port action")
Cc: stable at dpdk.org
Signed-off-by: Praveen Shetty <praveen.shetty at intel.com>
---
drivers/net/cpfl/cpfl_flow_engine_fxp.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/net/cpfl/cpfl_flow_engine_fxp.c b/drivers/net/cpfl/cpfl_flow_engine_fxp.c
index b9e825ef57..e760acd722 100644
--- a/drivers/net/cpfl/cpfl_flow_engine_fxp.c
+++ b/drivers/net/cpfl/cpfl_flow_engine_fxp.c
@@ -292,6 +292,17 @@ cpfl_fxp_parse_action(struct cpfl_itf *itf,
is_vsi = (action_type == RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR ||
dst_itf->type == CPFL_ITF_TYPE_REPRESENTOR);
+ /* Added checks to throw an error for the invalid action types. */
+ if (action_type == RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR &&
+ dst_itf->type == CPFL_ITF_TYPE_REPRESENTOR) {
+ PMD_DRV_LOG(ERR, "Cannot use port_representor action for the represented_port");
+ goto err;
+ }
+ if (action_type == RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT &&
+ dst_itf->type == CPFL_ITF_TYPE_VPORT) {
+ PMD_DRV_LOG(ERR, "Cannot use represented_port action for the local vport");
+ goto err;
+ }
if (is_vsi)
dev_id = cpfl_get_vsi_id(dst_itf);
else
--
2.34.1
More information about the dev
mailing list