net/ice/base: fix FDIR rule passthrough mode
Checks
Commit Message
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
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
> -----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>
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
>
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
> >
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
>> >
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.
@@ -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;