From: Wei Zhao <wei.zhao1@intel.com>
To: dev@dpdk.org
Cc: Wei Zhao <wei.zhao1@intel.com>
Subject: [dpdk-dev] [PATCH v2] net/ixgbe: remove tpid check for fdir filter
Date: Fri, 14 Apr 2017 11:34:10 +0800 [thread overview]
Message-ID: <1492140850-32720-1-git-send-email-wei.zhao1@intel.com> (raw)
In-Reply-To: <1492069767-26440-1-git-send-email-wei.zhao1@intel.com>
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
next prev parent reply other threads:[~2017-04-14 3:40 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-13 7:49 [dpdk-dev] [PATCH] " Wei Zhao
2017-04-13 10:21 ` Ferruh Yigit
2017-04-14 1:37 ` Zhao1, Wei
2017-04-14 3:34 ` Wei Zhao [this message]
2017-04-14 9:17 ` [dpdk-dev] [PATCH v2] " Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1492140850-32720-1-git-send-email-wei.zhao1@intel.com \
--to=wei.zhao1@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).