[v1] net/i40e: fix qinq flow pattern to allow non full mask

Message ID 20201013135756.23193-1-padraig.j.connolly@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Qi Zhang
Headers
Series [v1] net/i40e: fix qinq flow pattern to allow non full mask |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Performance-Testing fail build patch failure
ci/travis-robot warning Travis build: failed
ci/Intel-compilation fail Compilation issues

Commit Message

Connolly, Padraig J Oct. 13, 2020, 1:57 p.m. UTC
  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 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

Signed-off-by: Padraig Connolly <padraig.j.connolly@intel.com>
---
 drivers/net/i40e/i40e_flow.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)
  

Comments

Iremonger, Bernard Oct. 14, 2020, 10:34 a.m. UTC | #1
Hi Padraig,

> -----Original Message-----
> From: Connolly, Padraig J <padraig.j.connolly@intel.com>
> Sent: Tuesday, October 13, 2020 2:58 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>
> Subject: [PATCH v1] 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 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
> 
> Signed-off-by: Padraig Connolly <padraig.j.connolly@intel.com>
> ---
>  drivers/net/i40e/i40e_flow.c | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
> index adc5da1c5..509c18c45 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))) {
> +	if ((o_vlan_mask != NULL) &&  (i_vlan_mask != NULL)) {
>  		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;
>  	} else {
>  			rte_flow_error_set(error, EINVAL,
>  					   RTE_FLOW_ERROR_TYPE_ITEM,
> --
> 2.17.1

Checkpatch is showing the following warnings which should be fixed.

:~/dpdk_20_11/devtools# ./checkpatches.sh /home/bairemon/patches_patchwork_20_11/v1-net-i40e-fix-qinq-flow-pattern-to-allow-non-full-mask.patch 

### [dpdk-dev] [PATCH v1] net/i40e: fix qinq flow pattern to allow non full mask

WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#60: 
Issue reported by customer that only full mask was allowed on inner and outer

WARNING:BAD_SIGN_OFF: Use a single space after Cc:
#68: 
Cc:stable@dpdk.org

CHECK:UNNECESSARY_PARENTHESES: Unnecessary parentheses around 'o_vlan_mask != NULL'
#87: FILE: drivers/net/i40e/i40e_flow.c:4652:
+       if ((o_vlan_mask != NULL) &&  (i_vlan_mask != NULL)) {

CHECK:UNNECESSARY_PARENTHESES: Unnecessary parentheses around 'i_vlan_mask != NULL'
#87: FILE: drivers/net/i40e/i40e_flow.c:4652:
+       if ((o_vlan_mask != NULL) &&  (i_vlan_mask != NULL)) {

total: 0 errors, 2 warnings, 2 checks, 15 lines checked
0/1 valid patch

The check-git-log tool is also showing an issue with the commit message.

:~/dpdk_20_11/devtools# ./check-git-log.sh -1
cat: VERSION: No such file or directory
Line too long:
        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

Invalid patch(es) found - checked 1 patch

Regards,

Bernard.
  

Patch

diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index adc5da1c5..509c18c45 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))) {
+	if ((o_vlan_mask != NULL) &&  (i_vlan_mask != NULL)) {
 		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;
 	} else {
 			rte_flow_error_set(error, EINVAL,
 					   RTE_FLOW_ERROR_TYPE_ITEM,