net/ice/base: fix FDIR rule passthrough mode

Message ID 1588900942-380047-1-git-send-email-simei.su@intel.com (mailing list archive)
State Accepted, archived
Delegated to: xiaolong ye
Headers
Series net/ice/base: fix FDIR rule passthrough mode |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-intel-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-nxp-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-testing fail Testing issues

Commit Message

Simei Su May 8, 2020, 1:22 a.m. UTC
  This patch adds support for FDIR passthrough mode. When FDIR rule
hits, FDIR just forward this packet to the next stage filter.

Fixes: 55daca4e45fc ("net/ice/base: change function to static")

Signed-off-by: Simei Su <simei.su@intel.com>
---
 drivers/net/ice/base/ice_fdir.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
  

Comments

Zeng, XiaoxiaoX May 8, 2020, 9:34 a.m. UTC | #1
Tested-by: Zeng,Xiaoxiao<xiaoxiaox.zeng@intel.com>


Best regards,
Zeng,xiaoxiao


> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Simei Su
> Sent: Friday, May 8, 2020 9:22 AM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; Ye, Xiaolong
> <xiaolong.ye@intel.com>
> Cc: dev@dpdk.org; Cao, Yahui <yahui.cao@intel.com>; Su, Simei
> <simei.su@intel.com>
> Subject: [dpdk-dev] [PATCH] net/ice/base: fix FDIR rule passthrough mode
> 
> This patch adds support for FDIR passthrough mode. When FDIR rule hits,
> FDIR just forward this packet to the next stage filter.
> 
> Fixes: 55daca4e45fc ("net/ice/base: change function to static")
> 
> Signed-off-by: Simei Su <simei.su@intel.com>
> ---
>  drivers/net/ice/base/ice_fdir.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ice/base/ice_fdir.c b/drivers/net/ice/base/ice_fdir.c
> index c703a7c..33a1732 100644
> --- a/drivers/net/ice/base/ice_fdir.c
> +++ b/drivers/net/ice/base/ice_fdir.c
> @@ -465,6 +465,10 @@
>  	if (input->dest_ctl == ICE_FLTR_PRGM_DESC_DEST_DROP_PKT) {
>  		fdir_fltr_ctx.drop = ICE_FXD_FLTR_QW0_DROP_YES;
>  		fdir_fltr_ctx.qindex = 0;
> +	} else if (input->dest_ctl ==
> +			ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_OTHER) {
> +		fdir_fltr_ctx.drop = ICE_FXD_FLTR_QW0_DROP_NO;
> +		fdir_fltr_ctx.qindex = 0;
>  	} else {
>  		if (input->dest_ctl ==
>  		    ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_QGROUP)
> @@ -476,7 +480,10 @@
>  	fdir_fltr_ctx.cnt_index = input->cnt_index;
>  	fdir_fltr_ctx.fd_vsi = ice_get_hw_vsi_num(hw, input->dest_vsi);
>  	fdir_fltr_ctx.evict_ena = ICE_FXD_FLTR_QW0_EVICT_ENA_FALSE;
> -	fdir_fltr_ctx.toq_prio = 3;
> +	if (input->dest_ctl ==
> ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_OTHER)
> +		fdir_fltr_ctx.toq_prio = 0;
> +	else
> +		fdir_fltr_ctx.toq_prio = 3;
>  	fdir_fltr_ctx.pcmd = (add) ? ICE_FXD_FLTR_QW1_PCMD_ADD :
>  		ICE_FXD_FLTR_QW1_PCMD_REMOVE;
>  	fdir_fltr_ctx.swap = ICE_FXD_FLTR_QW1_SWAP_NOT_SET;
> --
> 1.8.3.1
  
Qi Zhang May 15, 2020, 6:44 a.m. UTC | #2
> -----Original Message-----
> From: Su, Simei <simei.su@intel.com>
> Sent: Friday, May 8, 2020 9:22 AM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; Ye, Xiaolong <xiaolong.ye@intel.com>
> Cc: dev@dpdk.org; Cao, Yahui <yahui.cao@intel.com>; Su, Simei
> <simei.su@intel.com>
> Subject: [PATCH] net/ice/base: fix FDIR rule passthrough mode
> 
> This patch adds support for FDIR passthrough mode. When FDIR rule hits,
> FDIR just forward this packet to the next stage filter.
> 
> Fixes: 55daca4e45fc ("net/ice/base: change function to static")
> 
> Signed-off-by: Simei Su <simei.su@intel.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>
  
Xiaolong Ye May 15, 2020, 6:50 a.m. UTC | #3
Hi, simei

On 05/08, Simei Su wrote:
>This patch adds support for FDIR passthrough mode. When FDIR rule
>hits, FDIR just forward this packet to the next stage filter.
>
>Fixes: 55daca4e45fc ("net/ice/base: change function to static")

This commit doesn't make sense to me, it just change the function to static, 
so should have any functional impact.

Thanks,
Xiaolong

>
>Signed-off-by: Simei Su <simei.su@intel.com>
>---
> drivers/net/ice/base/ice_fdir.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/net/ice/base/ice_fdir.c b/drivers/net/ice/base/ice_fdir.c
>index c703a7c..33a1732 100644
>--- a/drivers/net/ice/base/ice_fdir.c
>+++ b/drivers/net/ice/base/ice_fdir.c
>@@ -465,6 +465,10 @@
> 	if (input->dest_ctl == ICE_FLTR_PRGM_DESC_DEST_DROP_PKT) {
> 		fdir_fltr_ctx.drop = ICE_FXD_FLTR_QW0_DROP_YES;
> 		fdir_fltr_ctx.qindex = 0;
>+	} else if (input->dest_ctl ==
>+			ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_OTHER) {
>+		fdir_fltr_ctx.drop = ICE_FXD_FLTR_QW0_DROP_NO;
>+		fdir_fltr_ctx.qindex = 0;
> 	} else {
> 		if (input->dest_ctl ==
> 		    ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_QGROUP)
>@@ -476,7 +480,10 @@
> 	fdir_fltr_ctx.cnt_index = input->cnt_index;
> 	fdir_fltr_ctx.fd_vsi = ice_get_hw_vsi_num(hw, input->dest_vsi);
> 	fdir_fltr_ctx.evict_ena = ICE_FXD_FLTR_QW0_EVICT_ENA_FALSE;
>-	fdir_fltr_ctx.toq_prio = 3;
>+	if (input->dest_ctl == ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_OTHER)
>+		fdir_fltr_ctx.toq_prio = 0;
>+	else
>+		fdir_fltr_ctx.toq_prio = 3;
> 	fdir_fltr_ctx.pcmd = (add) ? ICE_FXD_FLTR_QW1_PCMD_ADD :
> 		ICE_FXD_FLTR_QW1_PCMD_REMOVE;
> 	fdir_fltr_ctx.swap = ICE_FXD_FLTR_QW1_SWAP_NOT_SET;
>-- 
>1.8.3.1
>
  
Simei Su May 15, 2020, 8:33 a.m. UTC | #4
Hi, xiaolong

> -----Original Message-----
> From: Ye, Xiaolong <xiaolong.ye@intel.com>
> Sent: Friday, May 15, 2020 2:50 PM
> To: Su, Simei <simei.su@intel.com>
> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; dev@dpdk.org; Cao, Yahui
> <yahui.cao@intel.com>
> Subject: Re: [PATCH] net/ice/base: fix FDIR rule passthrough mode
> 
> Hi, simei
> 
> On 05/08, Simei Su wrote:
> >This patch adds support for FDIR passthrough mode. When FDIR rule hits,
> >FDIR just forward this packet to the next stage filter.
> >
> >Fixes: 55daca4e45fc ("net/ice/base: change function to static")
> 
> This commit doesn't make sense to me, it just change the function to static, so
> should have any functional impact.
> 
> Thanks,
> Xiaolong

Besides changing the function to static, it also removes passthrough mode support. So it leads to a bug that it doesn't support
fdir passthrough.

Br
Simei

> 
> >
> >Signed-off-by: Simei Su <simei.su@intel.com>
> >---
> > drivers/net/ice/base/ice_fdir.c | 9 ++++++++-
> > 1 file changed, 8 insertions(+), 1 deletion(-)
> >
> >diff --git a/drivers/net/ice/base/ice_fdir.c
> >b/drivers/net/ice/base/ice_fdir.c index c703a7c..33a1732 100644
> >--- a/drivers/net/ice/base/ice_fdir.c
> >+++ b/drivers/net/ice/base/ice_fdir.c
> >@@ -465,6 +465,10 @@
> > 	if (input->dest_ctl == ICE_FLTR_PRGM_DESC_DEST_DROP_PKT) {
> > 		fdir_fltr_ctx.drop = ICE_FXD_FLTR_QW0_DROP_YES;
> > 		fdir_fltr_ctx.qindex = 0;
> >+	} else if (input->dest_ctl ==
> >+			ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_OTHER) {
> >+		fdir_fltr_ctx.drop = ICE_FXD_FLTR_QW0_DROP_NO;
> >+		fdir_fltr_ctx.qindex = 0;
> > 	} else {
> > 		if (input->dest_ctl ==
> > 		    ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_QGROUP)
> >@@ -476,7 +480,10 @@
> > 	fdir_fltr_ctx.cnt_index = input->cnt_index;
> > 	fdir_fltr_ctx.fd_vsi = ice_get_hw_vsi_num(hw, input->dest_vsi);
> > 	fdir_fltr_ctx.evict_ena = ICE_FXD_FLTR_QW0_EVICT_ENA_FALSE;
> >-	fdir_fltr_ctx.toq_prio = 3;
> >+	if (input->dest_ctl == ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_OTHER)
> >+		fdir_fltr_ctx.toq_prio = 0;
> >+	else
> >+		fdir_fltr_ctx.toq_prio = 3;
> > 	fdir_fltr_ctx.pcmd = (add) ? ICE_FXD_FLTR_QW1_PCMD_ADD :
> > 		ICE_FXD_FLTR_QW1_PCMD_REMOVE;
> > 	fdir_fltr_ctx.swap = ICE_FXD_FLTR_QW1_SWAP_NOT_SET;
> >--
> >1.8.3.1
> >
  
Xiaolong Ye May 18, 2020, 12:44 a.m. UTC | #5
On 05/15, Su, Simei wrote:
>Hi, xiaolong
>
>> -----Original Message-----
>> From: Ye, Xiaolong <xiaolong.ye@intel.com>
>> Sent: Friday, May 15, 2020 2:50 PM
>> To: Su, Simei <simei.su@intel.com>
>> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; dev@dpdk.org; Cao, Yahui
>> <yahui.cao@intel.com>
>> Subject: Re: [PATCH] net/ice/base: fix FDIR rule passthrough mode
>>
>> Hi, simei
>>
>> On 05/08, Simei Su wrote:
>> >This patch adds support for FDIR passthrough mode. When FDIR rule hits,
>> >FDIR just forward this packet to the next stage filter.
>> >
>> >Fixes: 55daca4e45fc ("net/ice/base: change function to static")
>>
>> This commit doesn't make sense to me, it just change the function to static, so
>> should have any functional impact.
>>
>> Thanks,
>> Xiaolong
>
>Besides changing the function to static, it also removes passthrough mode support. So it leads to a bug that it doesn't support
>fdir passthrough.

Got it, I was misled by the commit subject :)

Thanks,
Xiaolong

>
>Br
>Simei
>
>>
>> >
>> >Signed-off-by: Simei Su <simei.su@intel.com>
>> >---
>> > drivers/net/ice/base/ice_fdir.c | 9 ++++++++-
>> > 1 file changed, 8 insertions(+), 1 deletion(-)
>> >
>> >diff --git a/drivers/net/ice/base/ice_fdir.c
>> >b/drivers/net/ice/base/ice_fdir.c index c703a7c..33a1732 100644
>> >--- a/drivers/net/ice/base/ice_fdir.c
>> >+++ b/drivers/net/ice/base/ice_fdir.c
>> >@@ -465,6 +465,10 @@
>> > if (input->dest_ctl == ICE_FLTR_PRGM_DESC_DEST_DROP_PKT) {
>> > fdir_fltr_ctx.drop = ICE_FXD_FLTR_QW0_DROP_YES;
>> > fdir_fltr_ctx.qindex = 0;
>> >+} else if (input->dest_ctl ==
>> >+ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_OTHER) {
>> >+fdir_fltr_ctx.drop = ICE_FXD_FLTR_QW0_DROP_NO;
>> >+fdir_fltr_ctx.qindex = 0;
>> > } else {
>> > if (input->dest_ctl ==
>> >     ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_QGROUP)
>> >@@ -476,7 +480,10 @@
>> > fdir_fltr_ctx.cnt_index = input->cnt_index;
>> > fdir_fltr_ctx.fd_vsi = ice_get_hw_vsi_num(hw, input->dest_vsi);
>> > fdir_fltr_ctx.evict_ena = ICE_FXD_FLTR_QW0_EVICT_ENA_FALSE;
>> >-fdir_fltr_ctx.toq_prio = 3;
>> >+if (input->dest_ctl == ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_OTHER)
>> >+fdir_fltr_ctx.toq_prio = 0;
>> >+else
>> >+fdir_fltr_ctx.toq_prio = 3;
>> > fdir_fltr_ctx.pcmd = (add) ? ICE_FXD_FLTR_QW1_PCMD_ADD :
>> > ICE_FXD_FLTR_QW1_PCMD_REMOVE;
>> > fdir_fltr_ctx.swap = ICE_FXD_FLTR_QW1_SWAP_NOT_SET;
>> >--
>> >1.8.3.1
>> >
  
Xiaolong Ye May 18, 2020, 12:47 a.m. UTC | #6
On 05/08, Simei Su wrote:
>This patch adds support for FDIR passthrough mode. When FDIR rule
>hits, FDIR just forward this packet to the next stage filter.
>
>Fixes: 55daca4e45fc ("net/ice/base: change function to static")
>
>Signed-off-by: Simei Su <simei.su@intel.com>
>---
> drivers/net/ice/base/ice_fdir.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/net/ice/base/ice_fdir.c b/drivers/net/ice/base/ice_fdir.c
>index c703a7c..33a1732 100644
>--- a/drivers/net/ice/base/ice_fdir.c
>+++ b/drivers/net/ice/base/ice_fdir.c
>@@ -465,6 +465,10 @@
> 	if (input->dest_ctl == ICE_FLTR_PRGM_DESC_DEST_DROP_PKT) {
> 		fdir_fltr_ctx.drop = ICE_FXD_FLTR_QW0_DROP_YES;
> 		fdir_fltr_ctx.qindex = 0;
>+	} else if (input->dest_ctl ==
>+			ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_OTHER) {
>+		fdir_fltr_ctx.drop = ICE_FXD_FLTR_QW0_DROP_NO;
>+		fdir_fltr_ctx.qindex = 0;
> 	} else {
> 		if (input->dest_ctl ==
> 		    ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_QGROUP)
>@@ -476,7 +480,10 @@
> 	fdir_fltr_ctx.cnt_index = input->cnt_index;
> 	fdir_fltr_ctx.fd_vsi = ice_get_hw_vsi_num(hw, input->dest_vsi);
> 	fdir_fltr_ctx.evict_ena = ICE_FXD_FLTR_QW0_EVICT_ENA_FALSE;
>-	fdir_fltr_ctx.toq_prio = 3;
>+	if (input->dest_ctl == ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_OTHER)
>+		fdir_fltr_ctx.toq_prio = 0;
>+	else
>+		fdir_fltr_ctx.toq_prio = 3;
> 	fdir_fltr_ctx.pcmd = (add) ? ICE_FXD_FLTR_QW1_PCMD_ADD :
> 		ICE_FXD_FLTR_QW1_PCMD_REMOVE;
> 	fdir_fltr_ctx.swap = ICE_FXD_FLTR_QW1_SWAP_NOT_SET;
>-- 
>1.8.3.1
>

Applied to dpdk-next-net-intel, Thanks.
  

Patch

diff --git a/drivers/net/ice/base/ice_fdir.c b/drivers/net/ice/base/ice_fdir.c
index c703a7c..33a1732 100644
--- a/drivers/net/ice/base/ice_fdir.c
+++ b/drivers/net/ice/base/ice_fdir.c
@@ -465,6 +465,10 @@ 
 	if (input->dest_ctl == ICE_FLTR_PRGM_DESC_DEST_DROP_PKT) {
 		fdir_fltr_ctx.drop = ICE_FXD_FLTR_QW0_DROP_YES;
 		fdir_fltr_ctx.qindex = 0;
+	} else if (input->dest_ctl ==
+			ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_OTHER) {
+		fdir_fltr_ctx.drop = ICE_FXD_FLTR_QW0_DROP_NO;
+		fdir_fltr_ctx.qindex = 0;
 	} else {
 		if (input->dest_ctl ==
 		    ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_QGROUP)
@@ -476,7 +480,10 @@ 
 	fdir_fltr_ctx.cnt_index = input->cnt_index;
 	fdir_fltr_ctx.fd_vsi = ice_get_hw_vsi_num(hw, input->dest_vsi);
 	fdir_fltr_ctx.evict_ena = ICE_FXD_FLTR_QW0_EVICT_ENA_FALSE;
-	fdir_fltr_ctx.toq_prio = 3;
+	if (input->dest_ctl == ICE_FLTR_PRGM_DESC_DEST_DIRECT_PKT_OTHER)
+		fdir_fltr_ctx.toq_prio = 0;
+	else
+		fdir_fltr_ctx.toq_prio = 3;
 	fdir_fltr_ctx.pcmd = (add) ? ICE_FXD_FLTR_QW1_PCMD_ADD :
 		ICE_FXD_FLTR_QW1_PCMD_REMOVE;
 	fdir_fltr_ctx.swap = ICE_FXD_FLTR_QW1_SWAP_NOT_SET;