DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/ixgbe: remove tpid check for fdir filter
@ 2017-04-13  7:49 Wei Zhao
  2017-04-13 10:21 ` Ferruh Yigit
  2017-04-14  3:34 ` [dpdk-dev] [PATCH v2] " Wei Zhao
  0 siblings, 2 replies; 5+ messages in thread
From: Wei Zhao @ 2017-04-13  7:49 UTC (permalink / raw)
  To: dev; +Cc: Wei Zhao

DPDK community has several emails discussion on this topic,
these mails name is "FW: Issues with ixgbe and rte_flow",
items like VLAN can already have several valid "types"
(0x88a8, 0x8100, 0x9100), and who knows what will come up
in the future.And ixgbe_flow just ignores the types when do
filter configuration. So it may be reasonable to delete the
related tpid check process.
Also add some more comment log on stack explanation.

Fixes: 11777435c72 ("net/ixgbe: parse flow director filter")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
 drivers/net/ixgbe/ixgbe_flow.c | 33 ++-------------------------------
 1 file changed, 2 insertions(+), 31 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index 3b037f1..7ce740e 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -1401,7 +1401,6 @@ ixgbe_parse_fdir_act_attr(const struct rte_flow_attr *attr,
 		{0xAC, 0x7B, 0xA1,	{0xFF, 0xFF, 0xFF,
 		0x2C, 0x6D, 0x36}	0xFF, 0xFF, 0xFF}
  * MAC VLAN	tci	0x2016		0xEFFF
- *		tpid	0x8100		0xFFFF
  * END
  * Other members in mask and spec should set to 0x00.
  * Item->last should be NULL.
@@ -1599,23 +1598,8 @@ ixgbe_parse_fdir_filter_normal(const struct rte_flow_attr *attr,
 		vlan_spec = (const struct rte_flow_item_vlan *)item->spec;
 		vlan_mask = (const struct rte_flow_item_vlan *)item->mask;
 
-		if (vlan_spec->tpid != rte_cpu_to_be_16(ETHER_TYPE_VLAN)) {
-			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
-			rte_flow_error_set(error, EINVAL,
-				RTE_FLOW_ERROR_TYPE_ITEM,
-				item, "Not supported by fdir filter");
-			return -rte_errno;
-		}
-
 		rule->ixgbe_fdir.formatted.vlan_id = vlan_spec->tci;
 
-		if (vlan_mask->tpid != (uint16_t)~0U) {
-			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
-			rte_flow_error_set(error, EINVAL,
-				RTE_FLOW_ERROR_TYPE_ITEM,
-				item, "Not supported by fdir filter");
-			return -rte_errno;
-		}
 		rule->mask.vlan_tci_mask = vlan_mask->tci;
 		rule->mask.vlan_tci_mask &= rte_cpu_to_be_16(0xEFFF);
 		/* More than one tags are not supported. */
@@ -1910,6 +1894,7 @@ ixgbe_parse_fdir_filter_normal(const struct rte_flow_attr *attr,
  * IPV4/IPV6	NULL			NULL
  * UDP		NULL			NULL
  * VxLAN	vni{0x00, 0x32, 0x54}	{0xFF, 0xFF, 0xFF}
+ * MAC VLAN	tci	0x2016		0xEFFF
  * END
  * NEGRV pattern example:
  * ITEM		Spec			Mask
@@ -1917,6 +1902,7 @@ ixgbe_parse_fdir_filter_normal(const struct rte_flow_attr *attr,
  * IPV4/IPV6	NULL			NULL
  * NVGRE	protocol	0x6558	0xFFFF
  *		tni{0x00, 0x32, 0x54}	{0xFF, 0xFF, 0xFF}
+ * MAC VLAN	tci	0x2016		0xEFFF
  * END
  * other members in mask and spec should set to 0x00.
  * item->last should be NULL.
@@ -2343,23 +2329,8 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 		vlan_spec = (const struct rte_flow_item_vlan *)item->spec;
 		vlan_mask = (const struct rte_flow_item_vlan *)item->mask;
 
-		if (vlan_spec->tpid != rte_cpu_to_be_16(ETHER_TYPE_VLAN)) {
-			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
-			rte_flow_error_set(error, EINVAL,
-				RTE_FLOW_ERROR_TYPE_ITEM,
-				item, "Not supported by fdir filter");
-			return -rte_errno;
-		}
-
 		rule->ixgbe_fdir.formatted.vlan_id = vlan_spec->tci;
 
-		if (vlan_mask->tpid != (uint16_t)~0U) {
-			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
-			rte_flow_error_set(error, EINVAL,
-				RTE_FLOW_ERROR_TYPE_ITEM,
-				item, "Not supported by fdir filter");
-			return -rte_errno;
-		}
 		rule->mask.vlan_tci_mask = vlan_mask->tci;
 		rule->mask.vlan_tci_mask &= rte_cpu_to_be_16(0xEFFF);
 		/* More than one tags are not supported. */
-- 
2.9.3

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

* Re: [dpdk-dev] [PATCH] net/ixgbe: remove tpid check for fdir filter
  2017-04-13  7:49 [dpdk-dev] [PATCH] net/ixgbe: remove tpid check for fdir filter Wei Zhao
@ 2017-04-13 10:21 ` Ferruh Yigit
  2017-04-14  1:37   ` Zhao1, Wei
  2017-04-14  3:34 ` [dpdk-dev] [PATCH v2] " Wei Zhao
  1 sibling, 1 reply; 5+ messages in thread
From: Ferruh Yigit @ 2017-04-13 10:21 UTC (permalink / raw)
  To: Wei Zhao, dev

On 4/13/2017 8:49 AM, Wei Zhao wrote:
> DPDK community has several emails discussion on this topic,
> these mails name is "FW: Issues with ixgbe and rte_flow",

Can you please add reference to discussions by mail list archive links.
Like: http://dpdk.org/ml/archives/dev/2017-April/063942.html

> items like VLAN can already have several valid "types"
> (0x88a8, 0x8100, 0x9100), and who knows what will come up
> in the future.And ixgbe_flow just ignores the types when do
> filter configuration. So it may be reasonable to delete the
> related tpid check process.
> Also add some more comment log on stack explanation.
> 
> Fixes: 11777435c72 ("net/ixgbe: parse flow director filter")
> 
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>

<...>

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

* Re: [dpdk-dev] [PATCH] net/ixgbe: remove tpid check for fdir filter
  2017-04-13 10:21 ` Ferruh Yigit
@ 2017-04-14  1:37   ` Zhao1, Wei
  0 siblings, 0 replies; 5+ messages in thread
From: Zhao1, Wei @ 2017-04-14  1:37 UTC (permalink / raw)
  To: Yigit, Ferruh, dev

Hi, Ferruh

> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Thursday, April 13, 2017 6:21 PM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] net/ixgbe: remove tpid check for fdir filter
> 
> On 4/13/2017 8:49 AM, Wei Zhao wrote:
> > DPDK community has several emails discussion on this topic, these
> > mails name is "FW: Issues with ixgbe and rte_flow",
> 
> Can you please add reference to discussions by mail list archive links.
> Like: http://dpdk.org/ml/archives/dev/2017-April/063942.html
> 

I have got it,  I will fix that in v2

> > items like VLAN can already have several valid "types"
> > (0x88a8, 0x8100, 0x9100), and who knows what will come up in the
> > future.And ixgbe_flow just ignores the types when do filter
> > configuration. So it may be reasonable to delete the related tpid
> > check process.
> > Also add some more comment log on stack explanation.
> >
> > Fixes: 11777435c72 ("net/ixgbe: parse flow director filter")
> >
> > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> 
> <...>



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

* [dpdk-dev] [PATCH v2] net/ixgbe: remove tpid check for fdir filter
  2017-04-13  7:49 [dpdk-dev] [PATCH] net/ixgbe: remove tpid check for fdir filter Wei Zhao
  2017-04-13 10:21 ` Ferruh Yigit
@ 2017-04-14  3:34 ` Wei Zhao
  2017-04-14  9:17   ` Ferruh Yigit
  1 sibling, 1 reply; 5+ messages in thread
From: Wei Zhao @ 2017-04-14  3:34 UTC (permalink / raw)
  To: dev; +Cc: Wei Zhao

DPDK community has several emails discussion on this topic,
these mails link is bellow:
http://dpdk.org/ml/archives/dev/2017-March/060379.html,
http://dpdk.org/ml/archives/dev/2017-March/060295.html,
items like VLAN can already have several valid "types"
(0x88a8, 0x8100, 0x9100), and who knows what will come up
in the future.And ixgbe_flow just ignores the types when do
filter configuration. So it may be reasonable to delete the
related tpid check process.
Also add some more comment log on stack explanation.

v2:
-add dpdk community mail link for this topic.

Fixes: 11777435c72 ("net/ixgbe: parse flow director filter")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
 drivers/net/ixgbe/ixgbe_flow.c | 33 ++-------------------------------
 1 file changed, 2 insertions(+), 31 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index 3b037f1..7ce740e 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -1401,7 +1401,6 @@ ixgbe_parse_fdir_act_attr(const struct rte_flow_attr *attr,
 		{0xAC, 0x7B, 0xA1,	{0xFF, 0xFF, 0xFF,
 		0x2C, 0x6D, 0x36}	0xFF, 0xFF, 0xFF}
  * MAC VLAN	tci	0x2016		0xEFFF
- *		tpid	0x8100		0xFFFF
  * END
  * Other members in mask and spec should set to 0x00.
  * Item->last should be NULL.
@@ -1599,23 +1598,8 @@ ixgbe_parse_fdir_filter_normal(const struct rte_flow_attr *attr,
 		vlan_spec = (const struct rte_flow_item_vlan *)item->spec;
 		vlan_mask = (const struct rte_flow_item_vlan *)item->mask;
 
-		if (vlan_spec->tpid != rte_cpu_to_be_16(ETHER_TYPE_VLAN)) {
-			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
-			rte_flow_error_set(error, EINVAL,
-				RTE_FLOW_ERROR_TYPE_ITEM,
-				item, "Not supported by fdir filter");
-			return -rte_errno;
-		}
-
 		rule->ixgbe_fdir.formatted.vlan_id = vlan_spec->tci;
 
-		if (vlan_mask->tpid != (uint16_t)~0U) {
-			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
-			rte_flow_error_set(error, EINVAL,
-				RTE_FLOW_ERROR_TYPE_ITEM,
-				item, "Not supported by fdir filter");
-			return -rte_errno;
-		}
 		rule->mask.vlan_tci_mask = vlan_mask->tci;
 		rule->mask.vlan_tci_mask &= rte_cpu_to_be_16(0xEFFF);
 		/* More than one tags are not supported. */
@@ -1910,6 +1894,7 @@ ixgbe_parse_fdir_filter_normal(const struct rte_flow_attr *attr,
  * IPV4/IPV6	NULL			NULL
  * UDP		NULL			NULL
  * VxLAN	vni{0x00, 0x32, 0x54}	{0xFF, 0xFF, 0xFF}
+ * MAC VLAN	tci	0x2016		0xEFFF
  * END
  * NEGRV pattern example:
  * ITEM		Spec			Mask
@@ -1917,6 +1902,7 @@ ixgbe_parse_fdir_filter_normal(const struct rte_flow_attr *attr,
  * IPV4/IPV6	NULL			NULL
  * NVGRE	protocol	0x6558	0xFFFF
  *		tni{0x00, 0x32, 0x54}	{0xFF, 0xFF, 0xFF}
+ * MAC VLAN	tci	0x2016		0xEFFF
  * END
  * other members in mask and spec should set to 0x00.
  * item->last should be NULL.
@@ -2343,23 +2329,8 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 		vlan_spec = (const struct rte_flow_item_vlan *)item->spec;
 		vlan_mask = (const struct rte_flow_item_vlan *)item->mask;
 
-		if (vlan_spec->tpid != rte_cpu_to_be_16(ETHER_TYPE_VLAN)) {
-			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
-			rte_flow_error_set(error, EINVAL,
-				RTE_FLOW_ERROR_TYPE_ITEM,
-				item, "Not supported by fdir filter");
-			return -rte_errno;
-		}
-
 		rule->ixgbe_fdir.formatted.vlan_id = vlan_spec->tci;
 
-		if (vlan_mask->tpid != (uint16_t)~0U) {
-			memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
-			rte_flow_error_set(error, EINVAL,
-				RTE_FLOW_ERROR_TYPE_ITEM,
-				item, "Not supported by fdir filter");
-			return -rte_errno;
-		}
 		rule->mask.vlan_tci_mask = vlan_mask->tci;
 		rule->mask.vlan_tci_mask &= rte_cpu_to_be_16(0xEFFF);
 		/* More than one tags are not supported. */
-- 
2.9.3

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

* Re: [dpdk-dev] [PATCH v2] net/ixgbe: remove tpid check for fdir filter
  2017-04-14  3:34 ` [dpdk-dev] [PATCH v2] " Wei Zhao
@ 2017-04-14  9:17   ` Ferruh Yigit
  0 siblings, 0 replies; 5+ messages in thread
From: Ferruh Yigit @ 2017-04-14  9:17 UTC (permalink / raw)
  To: Wei Zhao, dev

On 4/14/2017 4:34 AM, Wei Zhao wrote:
> DPDK community has several emails discussion on this topic,
> these mails link is bellow:
> http://dpdk.org/ml/archives/dev/2017-March/060379.html,
> http://dpdk.org/ml/archives/dev/2017-March/060295.html,
> items like VLAN can already have several valid "types"
> (0x88a8, 0x8100, 0x9100), and who knows what will come up
> in the future.And ixgbe_flow just ignores the types when do
> filter configuration. So it may be reasonable to delete the
> related tpid check process.
> Also add some more comment log on stack explanation.
> 
> v2:
> -add dpdk community mail link for this topic.
> 
> Fixes: 11777435c72 ("net/ixgbe: parse flow director filter")
> 
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>

Applied to dpdk-next-net/master, thanks.

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

end of thread, other threads:[~2017-04-14  9:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-13  7:49 [dpdk-dev] [PATCH] net/ixgbe: remove tpid check for fdir filter Wei Zhao
2017-04-13 10:21 ` Ferruh Yigit
2017-04-14  1:37   ` Zhao1, Wei
2017-04-14  3:34 ` [dpdk-dev] [PATCH v2] " Wei Zhao
2017-04-14  9:17   ` Ferruh Yigit

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).