* [dpdk-dev] [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-dev] [PATCH v2] net/i40e: fix qinq flow pattern to allow non full mask 2020-10-14 16:30 ` [dpdk-dev] [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-dev] [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).