[1/3] net/i40e: remove ARP type check for FDIR filter

Message ID 20200427071500.14767-2-wei.zhao1@intel.com (mailing list archive)
State Superseded, archived
Delegated to: xiaolong ye
Headers
Series fix i40e bug for flow filter |

Checks

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

Commit Message

Zhao1, Wei April 27, 2020, 7:14 a.m. UTC
  I have try to enable ARP ethertype for FDIR filter,
it work well for ARP for FDIR filter, so delete it.

Bugzilla ID: 402
Fixes: 42044b69c67d ("net/i40e: support input set selection for FDIR")
Cc: stable@dpdk.org

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
 drivers/net/i40e/i40e_flow.c | 2 --
 1 file changed, 2 deletions(-)
  

Comments

Xing, Beilei April 28, 2020, 1:20 a.m. UTC | #1
> -----Original Message-----
> From: Zhao1, Wei <wei.zhao1@intel.com>
> Sent: Monday, April 27, 2020 3:15 PM
> To: dev@dpdk.org
> Cc: Xing, Beilei <beilei.xing@intel.com>; maxime.leroy@6wind.com;
> stable@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com>
> Subject: [PATCH 1/3] net/i40e: remove ARP type check for FDIR filter
> 
> I have try to enable ARP ethertype for FDIR filter, it work well for ARP for
> FDIR filter, so delete it.

Could you rework the commit log by describing the problem and the root cause? And the title maybe 'fix FDIR issue for ARP packets'
I guess the root cause is: if the ether_type is RTE_ETHER_TYPE_ARP, the PCTYPE parsed during pipeline is I40E_FILTER_PCTYPE_L2_PAYLOAD. Please double check.

> 
> Bugzilla ID: 402
> Fixes: 42044b69c67d ("net/i40e: support input set selection for FDIR")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> ---
>  drivers/net/i40e/i40e_flow.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index
> 7e64ae53a..1533d5abb 100644
> --- a/drivers/net/i40e/i40e_flow.c
> +++ b/drivers/net/i40e/i40e_flow.c
> @@ -2666,7 +2666,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev
> *dev,
>  				if (next_type ==
> RTE_FLOW_ITEM_TYPE_VLAN ||
>  				    ether_type == RTE_ETHER_TYPE_IPV4 ||
>  				    ether_type == RTE_ETHER_TYPE_IPV6 ||
> -				    ether_type == RTE_ETHER_TYPE_ARP ||
>  				    ether_type == outer_tpid) {
>  					rte_flow_error_set(error, EINVAL,
> 
> RTE_FLOW_ERROR_TYPE_ITEM,
> @@ -2711,7 +2710,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev
> *dev,
> 
>  				if (ether_type == RTE_ETHER_TYPE_IPV4 ||
>  				    ether_type == RTE_ETHER_TYPE_IPV6 ||
> -				    ether_type == RTE_ETHER_TYPE_ARP ||
>  				    ether_type == outer_tpid) {
>  					rte_flow_error_set(error, EINVAL,
> 
> RTE_FLOW_ERROR_TYPE_ITEM,
> --
> 2.19.1
  
Zhao1, Wei April 28, 2020, 5:39 a.m. UTC | #2
> -----Original Message-----
> From: Xing, Beilei <beilei.xing@intel.com>
> Sent: Tuesday, April 28, 2020 9:21 AM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Cc: maxime.leroy@6wind.com; stable@dpdk.org
> Subject: RE: [PATCH 1/3] net/i40e: remove ARP type check for FDIR filter
> 
> 
> 
> > -----Original Message-----
> > From: Zhao1, Wei <wei.zhao1@intel.com>
> > Sent: Monday, April 27, 2020 3:15 PM
> > To: dev@dpdk.org
> > Cc: Xing, Beilei <beilei.xing@intel.com>; maxime.leroy@6wind.com;
> > stable@dpdk.org; Zhao1, Wei <wei.zhao1@intel.com>
> > Subject: [PATCH 1/3] net/i40e: remove ARP type check for FDIR filter
> >
> > I have try to enable ARP ethertype for FDIR filter, it work well for
> > ARP for FDIR filter, so delete it.
> 
> Could you rework the commit log by describing the problem and the root cause?
> And the title maybe 'fix FDIR issue for ARP packets'
> I guess the root cause is: if the ether_type is RTE_ETHER_TYPE_ARP, the
> PCTYPE parsed during pipeline is I40E_FILTER_PCTYPE_L2_PAYLOAD. Please
> double check.


After check, this patch can enable FDIR with pctype I40E_FILTER_PCTYPE_L2_PAYLOAD for ARP packet.
Comment will be update.
 
> 
> >
> > Bugzilla ID: 402
> > Fixes: 42044b69c67d ("net/i40e: support input set selection for FDIR")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> > ---
> >  drivers/net/i40e/i40e_flow.c | 2 --
> >  1 file changed, 2 deletions(-)
> >
> > diff --git a/drivers/net/i40e/i40e_flow.c
> > b/drivers/net/i40e/i40e_flow.c index 7e64ae53a..1533d5abb 100644
> > --- a/drivers/net/i40e/i40e_flow.c
> > +++ b/drivers/net/i40e/i40e_flow.c
> > @@ -2666,7 +2666,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev
> > *dev,
> >  				if (next_type ==
> > RTE_FLOW_ITEM_TYPE_VLAN ||
> >  				    ether_type == RTE_ETHER_TYPE_IPV4 ||
> >  				    ether_type == RTE_ETHER_TYPE_IPV6 ||
> > -				    ether_type == RTE_ETHER_TYPE_ARP ||
> >  				    ether_type == outer_tpid) {
> >  					rte_flow_error_set(error, EINVAL,
> >
> > RTE_FLOW_ERROR_TYPE_ITEM,
> > @@ -2711,7 +2710,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev
> > *dev,
> >
> >  				if (ether_type == RTE_ETHER_TYPE_IPV4 ||
> >  				    ether_type == RTE_ETHER_TYPE_IPV6 ||
> > -				    ether_type == RTE_ETHER_TYPE_ARP ||
> >  				    ether_type == outer_tpid) {
> >  					rte_flow_error_set(error, EINVAL,
> >
> > RTE_FLOW_ERROR_TYPE_ITEM,
> > --
> > 2.19.1
  

Patch

diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index 7e64ae53a..1533d5abb 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -2666,7 +2666,6 @@  i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
 				if (next_type == RTE_FLOW_ITEM_TYPE_VLAN ||
 				    ether_type == RTE_ETHER_TYPE_IPV4 ||
 				    ether_type == RTE_ETHER_TYPE_IPV6 ||
-				    ether_type == RTE_ETHER_TYPE_ARP ||
 				    ether_type == outer_tpid) {
 					rte_flow_error_set(error, EINVAL,
 						     RTE_FLOW_ERROR_TYPE_ITEM,
@@ -2711,7 +2710,6 @@  i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
 
 				if (ether_type == RTE_ETHER_TYPE_IPV4 ||
 				    ether_type == RTE_ETHER_TYPE_IPV6 ||
-				    ether_type == RTE_ETHER_TYPE_ARP ||
 				    ether_type == outer_tpid) {
 					rte_flow_error_set(error, EINVAL,
 						     RTE_FLOW_ERROR_TYPE_ITEM,