[v2] net/ice: support original represented_port action

Message ID 20220831054226.279211-1-zhichaox.zeng@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Qi Zhang
Headers
Series [v2] net/ice: support original represented_port action |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-testing warning apply patch failure
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS

Commit Message

Zhichao Zeng Aug. 31, 2022, 5:42 a.m. UTC
  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@intel.com>

---
v2: use id instead of name to represent port for comparing
---
 drivers/net/ice/ice_switch_filter.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Comments

Qi Zhang Sept. 1, 2022, 1:12 a.m. UTC | #1
> -----Original Message-----
> From: Zeng, ZhichaoX <zhichaox.zeng@intel.com>
> Sent: Wednesday, August 31, 2022 1:42 PM
> To: dev@dpdk.org
> Cc: Yang, Qiming <qiming.yang@intel.com>; Zhou, YidingX
> <yidingx.zhou@intel.com>; Zeng, ZhichaoX <zhichaox.zeng@intel.com>;
> Zhang, Qi Z <qi.z.zhang@intel.com>
> Subject: [PATCH v2] net/ice: support original represented_port action
> 
> 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@intel.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi
  
Ke Xu Sept. 1, 2022, 5:36 a.m. UTC | #2
> -----Original Message-----
> From: Zhichao Zeng <zhichaox.zeng@intel.com>
> Sent: Wednesday, August 31, 2022 1:42 PM
> To: dev@dpdk.org
> Cc: Yang, Qiming <qiming.yang@intel.com>; Zhou, YidingX
> <yidingx.zhou@intel.com>; Zeng, ZhichaoX <zhichaox.zeng@intel.com>;
> Zhang, Qi Z <qi.z.zhang@intel.com>
> Subject: [PATCH v2] net/ice: support original represented_port action
> 
> 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@intel.com>

V2 patch for original action tested and passed.

Regards,
Tested-by: Ke Xu <ke1.xu@intel.com>
  
Qi Zhang Sept. 6, 2022, 2:40 a.m. UTC | #3
> -----Original Message-----
> From: Zhang, Qi Z <qi.z.zhang@intel.com>
> Sent: Thursday, September 1, 2022 9:12 AM
> To: Zeng, ZhichaoX <zhichaox.zeng@intel.com>; dev@dpdk.org
> Cc: Yang, Qiming <qiming.yang@intel.com>; Zhou, YidingX
> <yidingx.zhou@intel.com>
> Subject: RE: [PATCH v2] net/ice: support original represented_port action
> 
> 
> 
> > -----Original Message-----
> > From: Zeng, ZhichaoX <zhichaox.zeng@intel.com>
> > Sent: Wednesday, August 31, 2022 1:42 PM
> > To: dev@dpdk.org
> > Cc: Yang, Qiming <qiming.yang@intel.com>; Zhou, YidingX
> > <yidingx.zhou@intel.com>; Zeng, ZhichaoX <zhichaox.zeng@intel.com>;
> > Zhang, Qi Z <qi.z.zhang@intel.com>
> > Subject: [PATCH v2] net/ice: support original represented_port action
> >
> > 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@intel.com>
> 
> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
> 
> Applied to dpdk-next-net-intel.

For traffic to original DCF port , it should use RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR but not RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT
The patch has been dropped in dpdk-next-net-net.
A new version is expected.


> 
> Thanks
> Qi
  

Patch

diff --git a/drivers/net/ice/ice_switch_filter.c b/drivers/net/ice/ice_switch_filter.c
index da81e49bfa..240fa10750 100644
--- a/drivers/net/ice/ice_switch_filter.c
+++ b/drivers/net/ice/ice_switch_filter.c
@@ -1639,7 +1639,8 @@  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;
 
-			if (backer_port_id != rule_port_id)
+			if (backer_port_id != rule_port_id &&
+					act_ethdev->port_id != rule_port_id)
 				goto invalid;
 
 			rule_info->sw_act.vsi_handle = repr_dev->data->representor_id;