patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH v2] net/i40e: fix qinq flow pattern to allow non full mask
       [not found] <20201013135756.23193-1>
@ 2020-10-14 16:30 ` Padraig Connolly
  2020-10-15  8:56   ` Iremonger, Bernard
  0 siblings, 1 reply; 2+ messages in thread
From: Padraig Connolly @ 2020-10-14 16:30 UTC (permalink / raw)
  To: beilei.xing; +Cc: dev, Padraig Connolly, bernard.iremonger, stable

Issue reported by customer that only full mask was allowed on inner and
outer VLAN tag, thus not allowing mask to set VLAN ID filter only.
Removed check that enforces inner vlan and outer vlan to equal
I40E_TCI_MASK (full mask 0xffff).

Fixes: c2be7f9b232f ("net/i40e: fix parsing QinQ pattern")
Fixes: d37705068ee8 ("net/i40e: parse QinQ pattern")

Cc: bernard.iremonger@intel.com
Cc: stable@dpdk.org

Tested-by: Padraig Connolly <padraig.j.connolly@intel.com>
Signed-off-by: Padraig Connolly <padraig.j.connolly@intel.com>
---
 drivers/net/i40e/i40e_flow.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index adc5da1c5..8e7a9989b 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -4649,14 +4649,9 @@ i40e_flow_parse_qinq_pattern(__rte_unused struct rte_eth_dev *dev,
 	}
 
 	/* Get filter specification */
-	if ((o_vlan_mask != NULL) && (o_vlan_mask->tci ==
-			rte_cpu_to_be_16(I40E_TCI_MASK)) &&
-			(i_vlan_mask != NULL) &&
-			(i_vlan_mask->tci == rte_cpu_to_be_16(I40E_TCI_MASK))) {
-		filter->outer_vlan = rte_be_to_cpu_16(o_vlan_spec->tci)
-			& I40E_TCI_MASK;
-		filter->inner_vlan = rte_be_to_cpu_16(i_vlan_spec->tci)
-			& I40E_TCI_MASK;
+	if (o_vlan_mask != NULL &&  i_vlan_mask != NULL) {
+		filter->outer_vlan = rte_be_to_cpu_16(o_vlan_spec->tci);
+		filter->inner_vlan = rte_be_to_cpu_16(i_vlan_spec->tci);
 	} else {
 			rte_flow_error_set(error, EINVAL,
 					   RTE_FLOW_ERROR_TYPE_ITEM,
-- 
2.17.1

--------------------------------------------------------------
Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263


This e-mail and any attachments may contain confidential material for the sole
use of the intended recipient(s). Any review or distribution by others is
strictly prohibited. If you are not the intended recipient, please contact the
sender and delete all copies.


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-stable] [PATCH v2] net/i40e: fix qinq flow pattern to allow non full mask
  2020-10-14 16:30 ` [dpdk-stable] [PATCH v2] net/i40e: fix qinq flow pattern to allow non full mask Padraig Connolly
@ 2020-10-15  8:56   ` Iremonger, Bernard
  0 siblings, 0 replies; 2+ messages in thread
From: Iremonger, Bernard @ 2020-10-15  8:56 UTC (permalink / raw)
  To: Connolly, Padraig J, Xing, Beilei; +Cc: dev, stable

Hi Padraig,

> -----Original Message-----
> From: Connolly, Padraig J <padraig.j.connolly@intel.com>
> Sent: Wednesday, October 14, 2020 5:31 PM
> To: Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Connolly, Padraig J <padraig.j.connolly@intel.com>;
> Iremonger, Bernard <bernard.iremonger@intel.com>; stable@dpdk.org
> Subject: [PATCH v2] net/i40e: fix qinq flow pattern to allow non full mask
> 
> Issue reported by customer that only full mask was allowed on inner and
> outer VLAN tag, thus not allowing mask to set VLAN ID filter only.
> Removed check that enforces inner vlan and outer vlan to equal
> I40E_TCI_MASK (full mask 0xffff).
> 
> Fixes: c2be7f9b232f ("net/i40e: fix parsing QinQ pattern")
> Fixes: d37705068ee8 ("net/i40e: parse QinQ pattern")
> 
> Cc: bernard.iremonger@intel.com
> Cc: stable@dpdk.org
> 
> Tested-by: Padraig Connolly <padraig.j.connolly@intel.com>
> Signed-off-by: Padraig Connolly <padraig.j.connolly@intel.com>
> ---
>  drivers/net/i40e/i40e_flow.c | 11 +++--------
>  1 file changed, 3 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
> index adc5da1c5..8e7a9989b 100644
> --- a/drivers/net/i40e/i40e_flow.c
> +++ b/drivers/net/i40e/i40e_flow.c
> @@ -4649,14 +4649,9 @@ i40e_flow_parse_qinq_pattern(__rte_unused
> struct rte_eth_dev *dev,
>  	}
> 
>  	/* Get filter specification */
> -	if ((o_vlan_mask != NULL) && (o_vlan_mask->tci ==
> -			rte_cpu_to_be_16(I40E_TCI_MASK)) &&
> -			(i_vlan_mask != NULL) &&
> -			(i_vlan_mask->tci ==
> rte_cpu_to_be_16(I40E_TCI_MASK))) {
> -		filter->outer_vlan = rte_be_to_cpu_16(o_vlan_spec->tci)
> -			& I40E_TCI_MASK;
> -		filter->inner_vlan = rte_be_to_cpu_16(i_vlan_spec->tci)
> -			& I40E_TCI_MASK;
> +	if (o_vlan_mask != NULL &&  i_vlan_mask != NULL) {
> +		filter->outer_vlan = rte_be_to_cpu_16(o_vlan_spec->tci);
> +		filter->inner_vlan = rte_be_to_cpu_16(i_vlan_spec->tci);
>  	} else {
>  			rte_flow_error_set(error, EINVAL,
>  					   RTE_FLOW_ERROR_TYPE_ITEM,
> --
> 2.17.1

The following fixes line can be removed:
 Fixes: c2be7f9b232f ("net/i40e: fix parsing QinQ pattern")

As the fix in the above patch is not changed by this fix.

Otherwise 

Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-10-15  8:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20201013135756.23193-1>
2020-10-14 16:30 ` [dpdk-stable] [PATCH v2] net/i40e: fix qinq flow pattern to allow non full mask Padraig Connolly
2020-10-15  8:56   ` Iremonger, Bernard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).