DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] app/testpmd: fix VLAN tci mask set error for FDIR
@ 2018-06-05  9:12 Wei Zhao
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: add query rule stats support " Wei Zhao
                   ` (4 more replies)
  0 siblings, 5 replies; 32+ messages in thread
From: Wei Zhao @ 2018-06-05  9:12 UTC (permalink / raw)
  To: dev; +Cc: wenzhuo.lu, stable, Wei Zhao

The vlan tci mask should be set to 0xEFFF, not 0x0,
the wrong mask will cause mask error for register set.

Fixes: d9d5e6f2f0ba ("app/testpmd: set default flow director mask")
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
 app/test-pmd/testpmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 35cf266..e5ef8bb 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -346,7 +346,7 @@ struct rte_fdir_conf fdir_conf = {
 	.pballoc = RTE_FDIR_PBALLOC_64K,
 	.status = RTE_FDIR_REPORT_STATUS,
 	.mask = {
-		.vlan_tci_mask = 0x0,
+		.vlan_tci_mask = 0xFFEF,
 		.ipv4_mask     = {
 			.src_ip = 0xFFFFFFFF,
 			.dst_ip = 0xFFFFFFFF,
-- 
2.7.5

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

* [dpdk-dev] [PATCH] net/ixgbe: add query rule stats support for FDIR
  2018-06-05  9:12 [dpdk-dev] [PATCH] app/testpmd: fix VLAN tci mask set error for FDIR Wei Zhao
@ 2018-06-05  9:12 ` Wei Zhao
  2018-06-13  8:07   ` [dpdk-dev] [PATCH v2] " Wei Zhao
  2018-06-13  8:08   ` Wei Zhao
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR Wei Zhao
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 32+ messages in thread
From: Wei Zhao @ 2018-06-05  9:12 UTC (permalink / raw)
  To: dev; +Cc: wenzhuo.lu, stable, Wei Zhao

There are many registeres in x550 support stats of
flow director filters, for example the number of added
or removed rules and the number match or miss match packet
count for this for port, all these important information
can be read form registeres in x550 and display with command
xstats.

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

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 87d2ad0..cb95865 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3122,6 +3122,13 @@ ixgbe_read_stats_registers(struct ixgbe_hw *hw,
 	/* Flow Director Stats registers */
 	hw_stats->fdirmatch += IXGBE_READ_REG(hw, IXGBE_FDIRMATCH);
 	hw_stats->fdirmiss += IXGBE_READ_REG(hw, IXGBE_FDIRMISS);
+	hw_stats->fdirustat_add += IXGBE_READ_REG(hw, IXGBE_FDIRUSTAT) & 0xFFFF;
+	hw_stats->fdirustat_remove += (IXGBE_READ_REG(hw, IXGBE_FDIRUSTAT) >>
+							16) & 0xFFFF;
+	hw_stats->fdirfstat_fadd += IXGBE_READ_REG(hw, IXGBE_FDIRFSTAT) &
+							0xFFFF;
+	hw_stats->fdirfstat_fremove += (IXGBE_READ_REG(hw, IXGBE_FDIRFSTAT) >>
+							16) & 0xFFFF;
 
 	/* MACsec Stats registers */
 	macsec_stats->out_pkts_untagged += IXGBE_READ_REG(hw, IXGBE_LSECTXUT);
-- 
2.7.5

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

* [dpdk-dev] [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
  2018-06-05  9:12 [dpdk-dev] [PATCH] app/testpmd: fix VLAN tci mask set error for FDIR Wei Zhao
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: add query rule stats support " Wei Zhao
@ 2018-06-05  9:12 ` Wei Zhao
  2018-06-12  2:25   ` Lu, Wenzhuo
  2018-06-13  8:09   ` [dpdk-dev] [PATCH v2] " Wei Zhao
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: fix tunnel id format error for FDIR Wei Zhao
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 32+ messages in thread
From: Wei Zhao @ 2018-06-05  9:12 UTC (permalink / raw)
  To: dev; +Cc: wenzhuo.lu, stable, Wei Zhao

In IP mode FDIR, X550 can support not only 4 tuple parameters
but also vlan tci in protocol, so add this feature to flow parser.

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

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

diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index 0427e6f..f5e7805 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -322,7 +322,8 @@ cons_parse_ntuple_filter(const struct rte_flow_attr *attr,
 		}
 		/* check if the next not void item is IPv4 */
 		item = next_no_void_pattern(pattern, item);
-		if (item->type != RTE_FLOW_ITEM_TYPE_IPV4) {
+		if (item->type != RTE_FLOW_ITEM_TYPE_IPV4 &&
+				item->type != RTE_FLOW_ITEM_TYPE_VLAN) {
 			rte_flow_error_set(error,
 			  EINVAL, RTE_FLOW_ERROR_TYPE_ITEM,
 			  item, "Not supported by ntuple filter");
@@ -1739,7 +1740,8 @@ ixgbe_parse_fdir_filter_normal(struct rte_eth_dev *dev,
 				return -rte_errno;
 			}
 		} else {
-			if (item->type != RTE_FLOW_ITEM_TYPE_IPV4) {
+			if (item->type != RTE_FLOW_ITEM_TYPE_IPV4 &&
+					item->type != RTE_FLOW_ITEM_TYPE_VLAN) {
 				memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
 				rte_flow_error_set(error, EINVAL,
 					RTE_FLOW_ERROR_TYPE_ITEM,
-- 
2.7.5

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

* [dpdk-dev] [PATCH] net/ixgbe: fix tunnel id format error for FDIR
  2018-06-05  9:12 [dpdk-dev] [PATCH] app/testpmd: fix VLAN tci mask set error for FDIR Wei Zhao
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: add query rule stats support " Wei Zhao
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR Wei Zhao
@ 2018-06-05  9:12 ` Wei Zhao
  2018-06-12  5:10   ` Lu, Wenzhuo
  2018-06-13  8:11   ` [dpdk-dev] [PATCH v2] " Wei Zhao
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: fix tunnel type set " Wei Zhao
  2018-06-12  1:12 ` [dpdk-dev] [PATCH] app/testpmd: fix VLAN tci mask " Lu, Wenzhuo
  4 siblings, 2 replies; 32+ messages in thread
From: Wei Zhao @ 2018-06-05  9:12 UTC (permalink / raw)
  To: dev; +Cc: wenzhuo.lu, stable, Wei Zhao

In cloud mode for FDIR, tunnel id should be set as protocol
request, the lower 8 bits should be set as reserved.

Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for X550")
Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
 drivers/net/ixgbe/ixgbe_fdir.c | 2 +-
 drivers/net/ixgbe/ixgbe_flow.c | 5 ++---
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_fdir.c b/drivers/net/ixgbe/ixgbe_fdir.c
index d5e5179..67ab627 100644
--- a/drivers/net/ixgbe/ixgbe_fdir.c
+++ b/drivers/net/ixgbe/ixgbe_fdir.c
@@ -774,7 +774,7 @@ ixgbe_fdir_filter_to_atr_input(const struct rte_eth_fdir_filter *fdir_filter,
 		input->formatted.tunnel_type =
 			fdir_filter->input.flow.tunnel_flow.tunnel_type;
 		input->formatted.tni_vni =
-			fdir_filter->input.flow.tunnel_flow.tunnel_id;
+			fdir_filter->input.flow.tunnel_flow.tunnel_id >> 8;
 	}
 
 	return 0;
diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index eb0644c..64af777 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -2489,8 +2489,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 			rte_memcpy(((uint8_t *)
 				&rule->ixgbe_fdir.formatted.tni_vni + 1),
 				vxlan_spec->vni, RTE_DIM(vxlan_spec->vni));
-			rule->ixgbe_fdir.formatted.tni_vni = rte_be_to_cpu_32(
-				rule->ixgbe_fdir.formatted.tni_vni);
+			rule->ixgbe_fdir.formatted.tni_vni >>= 8;
 		}
 	}
 
@@ -2587,7 +2586,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 			/* tni is a 24-bits bit field */
 			rte_memcpy(&rule->ixgbe_fdir.formatted.tni_vni,
 			nvgre_spec->tni, RTE_DIM(nvgre_spec->tni));
-			rule->ixgbe_fdir.formatted.tni_vni <<= 8;
+			rule->ixgbe_fdir.formatted.tni_vni >>= 8;
 		}
 	}
 
-- 
2.7.5

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

* [dpdk-dev] [PATCH] net/ixgbe: fix tunnel type set error for FDIR
  2018-06-05  9:12 [dpdk-dev] [PATCH] app/testpmd: fix VLAN tci mask set error for FDIR Wei Zhao
                   ` (2 preceding siblings ...)
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: fix tunnel id format error for FDIR Wei Zhao
@ 2018-06-05  9:12 ` Wei Zhao
  2018-06-13  8:11   ` [dpdk-dev] [PATCH v2] " Wei Zhao
  2018-06-12  1:12 ` [dpdk-dev] [PATCH] app/testpmd: fix VLAN tci mask " Lu, Wenzhuo
  4 siblings, 1 reply; 32+ messages in thread
From: Wei Zhao @ 2018-06-05  9:12 UTC (permalink / raw)
  To: dev; +Cc: wenzhuo.lu, stable, Wei Zhao

Tunnel type format should be translated to ixgbe required format
before register set in FDIR cloud mode, Ans also some register
not useful in cloud mode but only useful in IP mode should be set
to zero as datasheet request.

Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for X550")
Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
 drivers/net/ixgbe/ixgbe_fdir.c | 19 +++++++++++++++----
 drivers/net/ixgbe/ixgbe_flow.c |  6 ++----
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_fdir.c b/drivers/net/ixgbe/ixgbe_fdir.c
index 67ab627..559e586 100644
--- a/drivers/net/ixgbe/ixgbe_fdir.c
+++ b/drivers/net/ixgbe/ixgbe_fdir.c
@@ -771,8 +771,15 @@ ixgbe_fdir_filter_to_atr_input(const struct rte_eth_fdir_filter *fdir_filter,
 			input->formatted.inner_mac,
 			fdir_filter->input.flow.tunnel_flow.mac_addr.addr_bytes,
 			sizeof(input->formatted.inner_mac));
-		input->formatted.tunnel_type =
-			fdir_filter->input.flow.tunnel_flow.tunnel_type;
+		if (fdir_filter->input.flow.tunnel_flow.tunnel_type ==
+				RTE_FDIR_TUNNEL_TYPE_VXLAN)
+			input->formatted.tunnel_type = 0x8000;
+		else if (fdir_filter->input.flow.tunnel_flow.tunnel_type ==
+				RTE_FDIR_TUNNEL_TYPE_NVGRE)
+			input->formatted.tunnel_type = 0;
+		else
+			PMD_DRV_LOG(ERR, " invalid tunnel type arguments.");
+
 		input->formatted.tni_vni =
 			fdir_filter->input.flow.tunnel_flow.tunnel_id >> 8;
 	}
@@ -1001,8 +1008,7 @@ fdir_write_perfect_filter_82599(struct ixgbe_hw *hw,
 			IXGBE_WRITE_REG(hw, IXGBE_FDIRSIPv6(2), 0);
 		} else {
 			/* tunnel mode */
-			if (input->formatted.tunnel_type !=
-				RTE_FDIR_TUNNEL_TYPE_NVGRE)
+			if (input->formatted.tunnel_type)
 				tunnel_type = 0x80000000;
 			tunnel_type |= addr_high;
 			IXGBE_WRITE_REG(hw, IXGBE_FDIRSIPv6(0), addr_low);
@@ -1010,6 +1016,11 @@ fdir_write_perfect_filter_82599(struct ixgbe_hw *hw,
 			IXGBE_WRITE_REG(hw, IXGBE_FDIRSIPv6(2),
 					input->formatted.tni_vni);
 		}
+		reg = IXGBE_PCI_REG_ADDR(hw, IXGBE_FDIRIPSA);
+		*reg = 0;
+		reg = IXGBE_PCI_REG_ADDR(hw, IXGBE_FDIRIPDA);
+		*reg = 0;
+		IXGBE_WRITE_REG(hw, IXGBE_FDIRPORT, 0);
 	}
 
 	/* record vlan (little-endian) and flex_bytes(big-endian) */
diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index 64af777..0427e6f 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -2436,8 +2436,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 
 	/* Get the VxLAN info */
 	if (item->type == RTE_FLOW_ITEM_TYPE_VXLAN) {
-		rule->ixgbe_fdir.formatted.tunnel_type =
-			RTE_FDIR_TUNNEL_TYPE_VXLAN;
+		rule->ixgbe_fdir.formatted.tunnel_type = 0x8000;
 
 		/* Only care about VNI, others should be masked. */
 		if (!item->mask) {
@@ -2495,8 +2494,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 
 	/* Get the NVGRE info */
 	if (item->type == RTE_FLOW_ITEM_TYPE_NVGRE) {
-		rule->ixgbe_fdir.formatted.tunnel_type =
-			RTE_FDIR_TUNNEL_TYPE_NVGRE;
+		rule->ixgbe_fdir.formatted.tunnel_type = 0;
 
 		/**
 		 * Only care about flags0, flags1, protocol and TNI,
-- 
2.7.5

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

* Re: [dpdk-dev] [PATCH] app/testpmd: fix VLAN tci mask set error for FDIR
  2018-06-05  9:12 [dpdk-dev] [PATCH] app/testpmd: fix VLAN tci mask set error for FDIR Wei Zhao
                   ` (3 preceding siblings ...)
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: fix tunnel type set " Wei Zhao
@ 2018-06-12  1:12 ` Lu, Wenzhuo
  2018-06-21 14:27   ` Zhang, Qi Z
  4 siblings, 1 reply; 32+ messages in thread
From: Lu, Wenzhuo @ 2018-06-12  1:12 UTC (permalink / raw)
  To: Zhao1, Wei, dev; +Cc: stable

Hi,

> -----Original Message-----
> From: Zhao1, Wei
> Sent: Tuesday, June 5, 2018 5:12 PM
> To: dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> <wei.zhao1@intel.com>
> Subject: [PATCH] app/testpmd: fix VLAN tci mask set error for FDIR
> 
> The vlan tci mask should be set to 0xEFFF, not 0x0, the wrong mask will
> cause mask error for register set.
> 
> Fixes: d9d5e6f2f0ba ("app/testpmd: set default flow director mask")
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>

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

* Re: [dpdk-dev] [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR Wei Zhao
@ 2018-06-12  2:25   ` Lu, Wenzhuo
  2018-06-12  2:30     ` Zhao1, Wei
  2018-06-13  8:09   ` [dpdk-dev] [PATCH v2] " Wei Zhao
  1 sibling, 1 reply; 32+ messages in thread
From: Lu, Wenzhuo @ 2018-06-12  2:25 UTC (permalink / raw)
  To: Zhao1, Wei, dev; +Cc: stable

Hi Wei,


> -----Original Message-----
> From: Zhao1, Wei
> Sent: Tuesday, June 5, 2018 5:12 PM
> To: dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> <wei.zhao1@intel.com>
> Subject: [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
> 
> In IP mode FDIR, X550 can support not only 4 tuple parameters but also vlan
> tci in protocol, so add this feature to flow parser.
> 
> Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> 
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> ---
>  drivers/net/ixgbe/ixgbe_flow.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
> index 0427e6f..f5e7805 100644
> --- a/drivers/net/ixgbe/ixgbe_flow.c
> +++ b/drivers/net/ixgbe/ixgbe_flow.c
> @@ -322,7 +322,8 @@ cons_parse_ntuple_filter(const struct rte_flow_attr
> *attr,
>  		}
>  		/* check if the next not void item is IPv4 */
The comment should be updated too, if we need below change.

>  		item = next_no_void_pattern(pattern, item);
> -		if (item->type != RTE_FLOW_ITEM_TYPE_IPV4) {
> +		if (item->type != RTE_FLOW_ITEM_TYPE_IPV4 &&
> +				item->type != RTE_FLOW_ITEM_TYPE_VLAN) {
>  			rte_flow_error_set(error,
>  			  EINVAL, RTE_FLOW_ERROR_TYPE_ITEM,
>  			  item, "Not supported by ntuple filter"); 
Really confused. I see the above code is already wrapped by " if (item->type == RTE_FLOW_ITEM_TYPE_VLAN) {". You want to support double vlan?

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

* Re: [dpdk-dev] [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
  2018-06-12  2:25   ` Lu, Wenzhuo
@ 2018-06-12  2:30     ` Zhao1, Wei
  2018-06-12  2:41       ` Lu, Wenzhuo
  0 siblings, 1 reply; 32+ messages in thread
From: Zhao1, Wei @ 2018-06-12  2:30 UTC (permalink / raw)
  To: Lu, Wenzhuo, dev; +Cc: stable

Hi, wenzhuo

> -----Original Message-----
> From: Lu, Wenzhuo
> Sent: Tuesday, June 12, 2018 10:26 AM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: RE: [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
> 
> Hi Wei,
> 
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Tuesday, June 5, 2018 5:12 PM
> > To: dev@dpdk.org
> > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> > <wei.zhao1@intel.com>
> > Subject: [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
> >
> > In IP mode FDIR, X550 can support not only 4 tuple parameters but also
> > vlan tci in protocol, so add this feature to flow parser.
> >
> > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> >
> > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> > ---
> >  drivers/net/ixgbe/ixgbe_flow.c | 6 ++++--
> >  1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/ixgbe/ixgbe_flow.c
> > b/drivers/net/ixgbe/ixgbe_flow.c index 0427e6f..f5e7805 100644
> > --- a/drivers/net/ixgbe/ixgbe_flow.c
> > +++ b/drivers/net/ixgbe/ixgbe_flow.c
> > @@ -322,7 +322,8 @@ cons_parse_ntuple_filter(const struct
> > rte_flow_attr *attr,
> >  		}
> >  		/* check if the next not void item is IPv4 */
> The comment should be updated too, if we need below change.

Ok, I will update it.
> 
> >  		item = next_no_void_pattern(pattern, item);
> > -		if (item->type != RTE_FLOW_ITEM_TYPE_IPV4) {
> > +		if (item->type != RTE_FLOW_ITEM_TYPE_IPV4 &&
> > +				item->type != RTE_FLOW_ITEM_TYPE_VLAN)
> {
> >  			rte_flow_error_set(error,
> >  			  EINVAL, RTE_FLOW_ERROR_TYPE_ITEM,
> >  			  item, "Not supported by ntuple filter");
> Really confused. I see the above code is already wrapped by " if (item->type
> == RTE_FLOW_ITEM_TYPE_VLAN) {". You want to support double vlan?

No, I have get a report that some use the following mode 
sendp([Ether(dst="A0:36:9F:BD:5D:B0")/Dot1Q(vlan=1)/IP(src="192.168.0.1",dst="192.168.0.2",tos=2,ttl=40)/UDP(dport=23, sport=22)/Raw('x'*100)],iface="enp3s0f0",count=10)
to test fdir IP mode.
In order to support this, we need this patch.


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

* Re: [dpdk-dev] [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
  2018-06-12  2:30     ` Zhao1, Wei
@ 2018-06-12  2:41       ` Lu, Wenzhuo
  2018-06-12  2:49         ` Zhao1, Wei
  2018-06-12  3:18         ` Zhao1, Wei
  0 siblings, 2 replies; 32+ messages in thread
From: Lu, Wenzhuo @ 2018-06-12  2:41 UTC (permalink / raw)
  To: Zhao1, Wei, dev; +Cc: stable

> -----Original Message-----
> From: Zhao1, Wei
> Sent: Tuesday, June 12, 2018 10:31 AM
> To: Lu, Wenzhuo <wenzhuo.lu@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: RE: [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
> 
> Hi, wenzhuo
> 
> > -----Original Message-----
> > From: Lu, Wenzhuo
> > Sent: Tuesday, June 12, 2018 10:26 AM
> > To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> > Cc: stable@dpdk.org
> > Subject: RE: [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
> >
> > Hi Wei,
> >
> >
> > > -----Original Message-----
> > > From: Zhao1, Wei
> > > Sent: Tuesday, June 5, 2018 5:12 PM
> > > To: dev@dpdk.org
> > > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> > > <wei.zhao1@intel.com>
> > > Subject: [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
> > >
> > > In IP mode FDIR, X550 can support not only 4 tuple parameters but
> > > also vlan tci in protocol, so add this feature to flow parser.
> > >
> > > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> > >
> > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> > > ---

> >
> > >  		item = next_no_void_pattern(pattern, item);
> > > -		if (item->type != RTE_FLOW_ITEM_TYPE_IPV4) {
> > > +		if (item->type != RTE_FLOW_ITEM_TYPE_IPV4 &&
> > > +				item->type != RTE_FLOW_ITEM_TYPE_VLAN)
> > {
> > >  			rte_flow_error_set(error,
> > >  			  EINVAL, RTE_FLOW_ERROR_TYPE_ITEM,
> > >  			  item, "Not supported by ntuple filter");
> > Really confused. I see the above code is already wrapped by " if
> > (item->type == RTE_FLOW_ITEM_TYPE_VLAN) {". You want to support
> double vlan?
> 
> No, I have get a report that some use the following mode
> sendp([Ether(dst="A0:36:9F:BD:5D:B0")/Dot1Q(vlan=1)/IP(src="192.168.0.1",d
> st="192.168.0.2",tos=2,ttl=40)/UDP(dport=23,
> sport=22)/Raw('x'*100)],iface="enp3s0f0",count=10)
> to test fdir IP mode.
> In order to support this, we need this patch.
I can understand the change in ' ixgbe_parse_fdir_filter_normal' is to support this case.
What I cannot understand is the above change. The original code is already for the case vlan + IPv4.

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

* Re: [dpdk-dev] [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
  2018-06-12  2:41       ` Lu, Wenzhuo
@ 2018-06-12  2:49         ` Zhao1, Wei
  2018-06-12  3:18         ` Zhao1, Wei
  1 sibling, 0 replies; 32+ messages in thread
From: Zhao1, Wei @ 2018-06-12  2:49 UTC (permalink / raw)
  To: Lu, Wenzhuo, dev; +Cc: stable



> -----Original Message-----
> From: Lu, Wenzhuo
> Sent: Tuesday, June 12, 2018 10:42 AM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: RE: [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Tuesday, June 12, 2018 10:31 AM
> > To: Lu, Wenzhuo <wenzhuo.lu@intel.com>; dev@dpdk.org
> > Cc: stable@dpdk.org
> > Subject: RE: [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
> >
> > Hi, wenzhuo
> >
> > > -----Original Message-----
> > > From: Lu, Wenzhuo
> > > Sent: Tuesday, June 12, 2018 10:26 AM
> > > To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> > > Cc: stable@dpdk.org
> > > Subject: RE: [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
> > >
> > > Hi Wei,
> > >
> > >
> > > > -----Original Message-----
> > > > From: Zhao1, Wei
> > > > Sent: Tuesday, June 5, 2018 5:12 PM
> > > > To: dev@dpdk.org
> > > > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1,
> > > > Wei <wei.zhao1@intel.com>
> > > > Subject: [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
> > > >
> > > > In IP mode FDIR, X550 can support not only 4 tuple parameters but
> > > > also vlan tci in protocol, so add this feature to flow parser.
> > > >
> > > > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> > > >
> > > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> > > > ---
> 
> > >
> > > >  		item = next_no_void_pattern(pattern, item);
> > > > -		if (item->type != RTE_FLOW_ITEM_TYPE_IPV4) {
> > > > +		if (item->type != RTE_FLOW_ITEM_TYPE_IPV4 &&
> > > > +				item->type != RTE_FLOW_ITEM_TYPE_VLAN)
> > > {
> > > >  			rte_flow_error_set(error,
> > > >  			  EINVAL, RTE_FLOW_ERROR_TYPE_ITEM,
> > > >  			  item, "Not supported by ntuple filter");
> > > Really confused. I see the above code is already wrapped by " if
> > > (item->type == RTE_FLOW_ITEM_TYPE_VLAN) {". You want to support
> > double vlan?
> >
> > No, I have get a report that some use the following mode
> > sendp([Ether(dst="A0:36:9F:BD:5D:B0")/Dot1Q(vlan=1)/IP(src="192.168.0.
> > 1",d st="192.168.0.2",tos=2,ttl=40)/UDP(dport=23,
> > sport=22)/Raw('x'*100)],iface="enp3s0f0",count=10)
> > to test fdir IP mode.
> > In order to support this, we need this patch.
> I can understand the change in ' ixgbe_parse_fdir_filter_normal' is to support
> this case.
> What I cannot understand is the above change. The original code is already
> for the case vlan + IPv4.
> 

If we do not change code as this way, as we do not add " item->type != RTE_FLOW_ITEM_TYPE_VLAN ".
Even there is code which support VLAN in the following code,  but it will " return -rte_errno; " first when user using 
Ether/ Dot1Q(vlan=1)/IP()/UDP mode packet, this error is caused by missing " item->type != RTE_FLOW_ITEM_TYPE_VLAN".

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

* Re: [dpdk-dev] [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
  2018-06-12  2:41       ` Lu, Wenzhuo
  2018-06-12  2:49         ` Zhao1, Wei
@ 2018-06-12  3:18         ` Zhao1, Wei
  1 sibling, 0 replies; 32+ messages in thread
From: Zhao1, Wei @ 2018-06-12  3:18 UTC (permalink / raw)
  To: Lu, Wenzhuo, dev; +Cc: stable

Hi, wenzhuo

> -----Original Message-----
> From: Lu, Wenzhuo
> Sent: Tuesday, June 12, 2018 10:42 AM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: RE: [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Tuesday, June 12, 2018 10:31 AM
> > To: Lu, Wenzhuo <wenzhuo.lu@intel.com>; dev@dpdk.org
> > Cc: stable@dpdk.org
> > Subject: RE: [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
> >
> > Hi, wenzhuo
> >
> > > -----Original Message-----
> > > From: Lu, Wenzhuo
> > > Sent: Tuesday, June 12, 2018 10:26 AM
> > > To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> > > Cc: stable@dpdk.org
> > > Subject: RE: [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
> > >
> > > Hi Wei,
> > >
> > >
> > > > -----Original Message-----
> > > > From: Zhao1, Wei
> > > > Sent: Tuesday, June 5, 2018 5:12 PM
> > > > To: dev@dpdk.org
> > > > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1,
> > > > Wei <wei.zhao1@intel.com>
> > > > Subject: [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR
> > > >
> > > > In IP mode FDIR, X550 can support not only 4 tuple parameters but
> > > > also vlan tci in protocol, so add this feature to flow parser.
> > > >
> > > > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> > > >
> > > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> > > > ---
> 
> > >
> > > >  		item = next_no_void_pattern(pattern, item);
> > > > -		if (item->type != RTE_FLOW_ITEM_TYPE_IPV4) {
> > > > +		if (item->type != RTE_FLOW_ITEM_TYPE_IPV4 &&
> > > > +				item->type != RTE_FLOW_ITEM_TYPE_VLAN)
> > > {
> > > >  			rte_flow_error_set(error,
> > > >  			  EINVAL, RTE_FLOW_ERROR_TYPE_ITEM,
> > > >  			  item, "Not supported by ntuple filter");
> > > Really confused. I see the above code is already wrapped by " if
> > > (item->type == RTE_FLOW_ITEM_TYPE_VLAN) {". You want to support
> > double vlan?
> >
> > No, I have get a report that some use the following mode
> > sendp([Ether(dst="A0:36:9F:BD:5D:B0")/Dot1Q(vlan=1)/IP(src="192.168.0.
> > 1",d st="192.168.0.2",tos=2,ttl=40)/UDP(dport=23,
> > sport=22)/Raw('x'*100)],iface="enp3s0f0",count=10)
> > to test fdir IP mode.
> > In order to support this, we need this patch.
> I can understand the change in ' ixgbe_parse_fdir_filter_normal' is to support
> this case.
> What I cannot understand is the above change. The original code is already
> for the case vlan + IPv4.
> 

I will commit new v2 for your comment.

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

* Re: [dpdk-dev] [PATCH] net/ixgbe: fix tunnel id format error for FDIR
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: fix tunnel id format error for FDIR Wei Zhao
@ 2018-06-12  5:10   ` Lu, Wenzhuo
  2018-06-12  7:49     ` Zhao1, Wei
  2018-06-13  8:11   ` [dpdk-dev] [PATCH v2] " Wei Zhao
  1 sibling, 1 reply; 32+ messages in thread
From: Lu, Wenzhuo @ 2018-06-12  5:10 UTC (permalink / raw)
  To: Zhao1, Wei, dev; +Cc: stable

Hi Wei,


> -----Original Message-----
> From: Zhao1, Wei
> Sent: Tuesday, June 5, 2018 5:12 PM
> To: dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> <wei.zhao1@intel.com>
> Subject: [PATCH] net/ixgbe: fix tunnel id format error for FDIR
> 
> In cloud mode for FDIR, tunnel id should be set as protocol request, the
> lower 8 bits should be set as reserved.
To my opinion, the original implementation and this patch have different understanding of the 'tunnel_id' in ' struct rte_eth_tunnel_flow'. Originally it only means the tunnel id but not including the reserved 8 bits.
This patch means it should include the reserved bits. Maybe it makes things easier because the whole 4 bytes are big endian.
So, may I suggest to add some comments in ' struct rte_eth_tunnel_flow' to let the users know what the 'tunnel_id' really means?

> 
> Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for X550")
> Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> 
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> ---
>  drivers/net/ixgbe/ixgbe_fdir.c | 2 +-
>  drivers/net/ixgbe/ixgbe_flow.c | 5 ++---
>  2 files changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/ixgbe/ixgbe_fdir.c b/drivers/net/ixgbe/ixgbe_fdir.c
> index d5e5179..67ab627 100644
> --- a/drivers/net/ixgbe/ixgbe_fdir.c
> +++ b/drivers/net/ixgbe/ixgbe_fdir.c
> @@ -774,7 +774,7 @@ ixgbe_fdir_filter_to_atr_input(const struct
> rte_eth_fdir_filter *fdir_filter,
>  		input->formatted.tunnel_type =
>  			fdir_filter->input.flow.tunnel_flow.tunnel_type;
>  		input->formatted.tni_vni =
> -			fdir_filter->input.flow.tunnel_flow.tunnel_id;
> +			fdir_filter->input.flow.tunnel_flow.tunnel_id >> 8;
>  	}
> 
>  	return 0;
> diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
> index eb0644c..64af777 100644
> --- a/drivers/net/ixgbe/ixgbe_flow.c
> +++ b/drivers/net/ixgbe/ixgbe_flow.c
> @@ -2489,8 +2489,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct
> rte_flow_attr *attr,
>  			rte_memcpy(((uint8_t *)
>  				&rule->ixgbe_fdir.formatted.tni_vni + 1),
>  				vxlan_spec->vni, RTE_DIM(vxlan_spec->vni));
> -			rule->ixgbe_fdir.formatted.tni_vni =
> rte_be_to_cpu_32(
> -				rule->ixgbe_fdir.formatted.tni_vni);
> +			rule->ixgbe_fdir.formatted.tni_vni >>= 8;
>  		}
>  	}
> 
> @@ -2587,7 +2586,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct
> rte_flow_attr *attr,
>  			/* tni is a 24-bits bit field */
>  			rte_memcpy(&rule->ixgbe_fdir.formatted.tni_vni,
>  			nvgre_spec->tni, RTE_DIM(nvgre_spec->tni));
> -			rule->ixgbe_fdir.formatted.tni_vni <<= 8;
> +			rule->ixgbe_fdir.formatted.tni_vni >>= 8;
>  		}
>  	}
> 
> --
> 2.7.5

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

* Re: [dpdk-dev] [PATCH] net/ixgbe: fix tunnel id format error for FDIR
  2018-06-12  5:10   ` Lu, Wenzhuo
@ 2018-06-12  7:49     ` Zhao1, Wei
  2018-06-12  8:39       ` Lu, Wenzhuo
  0 siblings, 1 reply; 32+ messages in thread
From: Zhao1, Wei @ 2018-06-12  7:49 UTC (permalink / raw)
  To: Lu, Wenzhuo, dev; +Cc: stable


Hi, Wenzhuo

> -----Original Message-----
> From: Lu, Wenzhuo
> Sent: Tuesday, June 12, 2018 1:10 PM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: RE: [PATCH] net/ixgbe: fix tunnel id format error for FDIR
> 
> Hi Wei,
> 
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Tuesday, June 5, 2018 5:12 PM
> > To: dev@dpdk.org
> > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> > <wei.zhao1@intel.com>
> > Subject: [PATCH] net/ixgbe: fix tunnel id format error for FDIR
> >
> > In cloud mode for FDIR, tunnel id should be set as protocol request,
> > the lower 8 bits should be set as reserved.
> To my opinion, the original implementation and this patch have different
> understanding of the 'tunnel_id' in ' struct rte_eth_tunnel_flow'. Originally it
> only means the tunnel id but not including the reserved 8 bits.
> This patch means it should include the reserved bits. Maybe it makes things
> easier because the whole 4 bytes are big endian.
> So, may I suggest to add some comments in ' struct rte_eth_tunnel_flow' to
> let the users know what the 'tunnel_id' really means?

The format from input for 'tunnel_id' should be network network byte order
And it also should not contain reserved 1 byte, but hardware HASH need the format include  reserved 1 byte
And in network byte order. So, this patch convert to that format.
I will add some comment in  function ixgbe_fdir_filter_to_atr_input and ixgbe_parse_fdir_filter_tunnel,
That will not Influence other NIC format for this struct member.
Is that ok?


> 
> >
> > Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for
> > X550")
> > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> >
> > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> > ---
> >  drivers/net/ixgbe/ixgbe_fdir.c | 2 +-  drivers/net/ixgbe/ixgbe_flow.c
> > | 5 ++---
> >  2 files changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/net/ixgbe/ixgbe_fdir.c
> > b/drivers/net/ixgbe/ixgbe_fdir.c index d5e5179..67ab627 100644
> > --- a/drivers/net/ixgbe/ixgbe_fdir.c
> > +++ b/drivers/net/ixgbe/ixgbe_fdir.c
> > @@ -774,7 +774,7 @@ ixgbe_fdir_filter_to_atr_input(const struct
> > rte_eth_fdir_filter *fdir_filter,
> >  		input->formatted.tunnel_type =
> >  			fdir_filter->input.flow.tunnel_flow.tunnel_type;
> >  		input->formatted.tni_vni =
> > -			fdir_filter->input.flow.tunnel_flow.tunnel_id;
> > +			fdir_filter->input.flow.tunnel_flow.tunnel_id >> 8;
> >  	}
> >
> >  	return 0;
> > diff --git a/drivers/net/ixgbe/ixgbe_flow.c
> > b/drivers/net/ixgbe/ixgbe_flow.c index eb0644c..64af777 100644
> > --- a/drivers/net/ixgbe/ixgbe_flow.c
> > +++ b/drivers/net/ixgbe/ixgbe_flow.c
> > @@ -2489,8 +2489,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct
> > rte_flow_attr *attr,
> >  			rte_memcpy(((uint8_t *)
> >  				&rule->ixgbe_fdir.formatted.tni_vni + 1),
> >  				vxlan_spec->vni, RTE_DIM(vxlan_spec->vni));
> > -			rule->ixgbe_fdir.formatted.tni_vni =
> > rte_be_to_cpu_32(
> > -				rule->ixgbe_fdir.formatted.tni_vni);
> > +			rule->ixgbe_fdir.formatted.tni_vni >>= 8;
> >  		}
> >  	}
> >
> > @@ -2587,7 +2586,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct
> > rte_flow_attr *attr,
> >  			/* tni is a 24-bits bit field */
> >  			rte_memcpy(&rule->ixgbe_fdir.formatted.tni_vni,
> >  			nvgre_spec->tni, RTE_DIM(nvgre_spec->tni));
> > -			rule->ixgbe_fdir.formatted.tni_vni <<= 8;
> > +			rule->ixgbe_fdir.formatted.tni_vni >>= 8;
> >  		}
> >  	}
> >
> > --
> > 2.7.5

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

* Re: [dpdk-dev] [PATCH] net/ixgbe: fix tunnel id format error for FDIR
  2018-06-12  7:49     ` Zhao1, Wei
@ 2018-06-12  8:39       ` Lu, Wenzhuo
  2018-06-12  8:43         ` Zhao1, Wei
  0 siblings, 1 reply; 32+ messages in thread
From: Lu, Wenzhuo @ 2018-06-12  8:39 UTC (permalink / raw)
  To: Zhao1, Wei, dev; +Cc: stable

Hi Wei,

> -----Original Message-----
> From: Zhao1, Wei
> Sent: Tuesday, June 12, 2018 3:49 PM
> To: Lu, Wenzhuo <wenzhuo.lu@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: RE: [PATCH] net/ixgbe: fix tunnel id format error for FDIR
> 
> 
> Hi, Wenzhuo
> 
> > -----Original Message-----
> > From: Lu, Wenzhuo
> > Sent: Tuesday, June 12, 2018 1:10 PM
> > To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> > Cc: stable@dpdk.org
> > Subject: RE: [PATCH] net/ixgbe: fix tunnel id format error for FDIR
> >
> > Hi Wei,
> >
> >
> > > -----Original Message-----
> > > From: Zhao1, Wei
> > > Sent: Tuesday, June 5, 2018 5:12 PM
> > > To: dev@dpdk.org
> > > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> > > <wei.zhao1@intel.com>
> > > Subject: [PATCH] net/ixgbe: fix tunnel id format error for FDIR
> > >
> > > In cloud mode for FDIR, tunnel id should be set as protocol request,
> > > the lower 8 bits should be set as reserved.
> > To my opinion, the original implementation and this patch have
> > different understanding of the 'tunnel_id' in ' struct
> > rte_eth_tunnel_flow'. Originally it only means the tunnel id but not
> including the reserved 8 bits.
> > This patch means it should include the reserved bits. Maybe it makes
> > things easier because the whole 4 bytes are big endian.
> > So, may I suggest to add some comments in ' struct
> > rte_eth_tunnel_flow' to let the users know what the 'tunnel_id' really
> means?
> 
> The format from input for 'tunnel_id' should be network network byte order
> And it also should not contain reserved 1 byte, but hardware HASH need the
> format include  reserved 1 byte And in network byte order. So, this patch
> convert to that format.
> I will add some comment in  function ixgbe_fdir_filter_to_atr_input and
> ixgbe_parse_fdir_filter_tunnel, That will not Influence other NIC format for
> this struct member.
> Is that ok?
It's not appropriate that different NIC has different understanding of the same info provided by APP.
And I found this tunnel_id is already used by other NICs. We cannot change the meaning. So I think this patch is not good.

> 
> 
> >
> > >
> > > Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for
> > > X550")
> > > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> > >
> > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> > > ---
> > >  drivers/net/ixgbe/ixgbe_fdir.c | 2 +-
> > > drivers/net/ixgbe/ixgbe_flow.c
> > > | 5 ++---
> > >  2 files changed, 3 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/drivers/net/ixgbe/ixgbe_fdir.c
> > > b/drivers/net/ixgbe/ixgbe_fdir.c index d5e5179..67ab627 100644
> > > --- a/drivers/net/ixgbe/ixgbe_fdir.c
> > > +++ b/drivers/net/ixgbe/ixgbe_fdir.c
> > > @@ -774,7 +774,7 @@ ixgbe_fdir_filter_to_atr_input(const struct
> > > rte_eth_fdir_filter *fdir_filter,
> > >  		input->formatted.tunnel_type =
> > >  			fdir_filter->input.flow.tunnel_flow.tunnel_type;
> > >  		input->formatted.tni_vni =
> > > -			fdir_filter->input.flow.tunnel_flow.tunnel_id;
> > > +			fdir_filter->input.flow.tunnel_flow.tunnel_id >> 8;
> > >  	}
> > >
> > >  	return 0;
> > > diff --git a/drivers/net/ixgbe/ixgbe_flow.c
> > > b/drivers/net/ixgbe/ixgbe_flow.c index eb0644c..64af777 100644
> > > --- a/drivers/net/ixgbe/ixgbe_flow.c
> > > +++ b/drivers/net/ixgbe/ixgbe_flow.c
> > > @@ -2489,8 +2489,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct
> > > rte_flow_attr *attr,
> > >  			rte_memcpy(((uint8_t *)
> > >  				&rule->ixgbe_fdir.formatted.tni_vni + 1),
> > >  				vxlan_spec->vni, RTE_DIM(vxlan_spec->vni));
> > > -			rule->ixgbe_fdir.formatted.tni_vni =
> > > rte_be_to_cpu_32(
> > > -				rule->ixgbe_fdir.formatted.tni_vni);
> > > +			rule->ixgbe_fdir.formatted.tni_vni >>= 8;
> > >  		}
> > >  	}
> > >
> > > @@ -2587,7 +2586,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct
> > > rte_flow_attr *attr,
> > >  			/* tni is a 24-bits bit field */
> > >  			rte_memcpy(&rule->ixgbe_fdir.formatted.tni_vni,
> > >  			nvgre_spec->tni, RTE_DIM(nvgre_spec->tni));
> > > -			rule->ixgbe_fdir.formatted.tni_vni <<= 8;
> > > +			rule->ixgbe_fdir.formatted.tni_vni >>= 8;
> > >  		}
> > >  	}
> > >
> > > --
> > > 2.7.5

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

* Re: [dpdk-dev] [PATCH] net/ixgbe: fix tunnel id format error for FDIR
  2018-06-12  8:39       ` Lu, Wenzhuo
@ 2018-06-12  8:43         ` Zhao1, Wei
  0 siblings, 0 replies; 32+ messages in thread
From: Zhao1, Wei @ 2018-06-12  8:43 UTC (permalink / raw)
  To: Lu, Wenzhuo, dev; +Cc: stable

Hi,wenzhuo

> -----Original Message-----
> From: Lu, Wenzhuo
> Sent: Tuesday, June 12, 2018 4:39 PM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: RE: [PATCH] net/ixgbe: fix tunnel id format error for FDIR
> 
> Hi Wei,
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Tuesday, June 12, 2018 3:49 PM
> > To: Lu, Wenzhuo <wenzhuo.lu@intel.com>; dev@dpdk.org
> > Cc: stable@dpdk.org
> > Subject: RE: [PATCH] net/ixgbe: fix tunnel id format error for FDIR
> >
> >
> > Hi, Wenzhuo
> >
> > > -----Original Message-----
> > > From: Lu, Wenzhuo
> > > Sent: Tuesday, June 12, 2018 1:10 PM
> > > To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> > > Cc: stable@dpdk.org
> > > Subject: RE: [PATCH] net/ixgbe: fix tunnel id format error for FDIR
> > >
> > > Hi Wei,
> > >
> > >
> > > > -----Original Message-----
> > > > From: Zhao1, Wei
> > > > Sent: Tuesday, June 5, 2018 5:12 PM
> > > > To: dev@dpdk.org
> > > > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1,
> > > > Wei <wei.zhao1@intel.com>
> > > > Subject: [PATCH] net/ixgbe: fix tunnel id format error for FDIR
> > > >
> > > > In cloud mode for FDIR, tunnel id should be set as protocol
> > > > request, the lower 8 bits should be set as reserved.
> > > To my opinion, the original implementation and this patch have
> > > different understanding of the 'tunnel_id' in ' struct
> > > rte_eth_tunnel_flow'. Originally it only means the tunnel id but not
> > including the reserved 8 bits.
> > > This patch means it should include the reserved bits. Maybe it makes
> > > things easier because the whole 4 bytes are big endian.
> > > So, may I suggest to add some comments in ' struct
> > > rte_eth_tunnel_flow' to let the users know what the 'tunnel_id'
> > > really
> > means?
> >
> > The format from input for 'tunnel_id' should be network network byte
> > order And it also should not contain reserved 1 byte, but hardware
> > HASH need the format include  reserved 1 byte And in network byte
> > order. So, this patch convert to that format.
> > I will add some comment in  function ixgbe_fdir_filter_to_atr_input
> > and ixgbe_parse_fdir_filter_tunnel, That will not Influence other NIC
> > format for this struct member.
> > Is that ok?
> It's not appropriate that different NIC has different understanding of the
> same info provided by APP.
> And I found this tunnel_id is already used by other NICs. We cannot change
> the meaning. So I think this patch is not good.

We do not change the input format in testpmd level, but we MUST change in our IXGBE PMD, because this request by hardware HASH.
This is the most important root cause for IXGBE vxlan packet fail.  
> 
> >
> >
> > >
> > > >
> > > > Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for
> > > > X550")
> > > > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> > > >
> > > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> > > > ---
> > > >  drivers/net/ixgbe/ixgbe_fdir.c | 2 +-
> > > > drivers/net/ixgbe/ixgbe_flow.c
> > > > | 5 ++---
> > > >  2 files changed, 3 insertions(+), 4 deletions(-)
> > > >
> > > > diff --git a/drivers/net/ixgbe/ixgbe_fdir.c
> > > > b/drivers/net/ixgbe/ixgbe_fdir.c index d5e5179..67ab627 100644
> > > > --- a/drivers/net/ixgbe/ixgbe_fdir.c
> > > > +++ b/drivers/net/ixgbe/ixgbe_fdir.c
> > > > @@ -774,7 +774,7 @@ ixgbe_fdir_filter_to_atr_input(const struct
> > > > rte_eth_fdir_filter *fdir_filter,
> > > >  		input->formatted.tunnel_type =
> > > >  			fdir_filter->input.flow.tunnel_flow.tunnel_type;
> > > >  		input->formatted.tni_vni =
> > > > -			fdir_filter->input.flow.tunnel_flow.tunnel_id;
> > > > +			fdir_filter->input.flow.tunnel_flow.tunnel_id >> 8;
> > > >  	}
> > > >
> > > >  	return 0;
> > > > diff --git a/drivers/net/ixgbe/ixgbe_flow.c
> > > > b/drivers/net/ixgbe/ixgbe_flow.c index eb0644c..64af777 100644
> > > > --- a/drivers/net/ixgbe/ixgbe_flow.c
> > > > +++ b/drivers/net/ixgbe/ixgbe_flow.c
> > > > @@ -2489,8 +2489,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct
> > > > rte_flow_attr *attr,
> > > >  			rte_memcpy(((uint8_t *)
> > > >  				&rule->ixgbe_fdir.formatted.tni_vni + 1),
> > > >  				vxlan_spec->vni, RTE_DIM(vxlan_spec->vni));
> > > > -			rule->ixgbe_fdir.formatted.tni_vni =
> > > > rte_be_to_cpu_32(
> > > > -				rule->ixgbe_fdir.formatted.tni_vni);
> > > > +			rule->ixgbe_fdir.formatted.tni_vni >>= 8;
> > > >  		}
> > > >  	}
> > > >
> > > > @@ -2587,7 +2586,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct
> > > > rte_flow_attr *attr,
> > > >  			/* tni is a 24-bits bit field */
> > > >  			rte_memcpy(&rule->ixgbe_fdir.formatted.tni_vni,
> > > >  			nvgre_spec->tni, RTE_DIM(nvgre_spec->tni));
> > > > -			rule->ixgbe_fdir.formatted.tni_vni <<= 8;
> > > > +			rule->ixgbe_fdir.formatted.tni_vni >>= 8;
> > > >  		}
> > > >  	}
> > > >
> > > > --
> > > > 2.7.5

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

* [dpdk-dev] [PATCH v2] net/ixgbe: add query rule stats support for FDIR
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: add query rule stats support " Wei Zhao
@ 2018-06-13  8:07   ` Wei Zhao
  2018-06-13  8:08   ` Wei Zhao
  1 sibling, 0 replies; 32+ messages in thread
From: Wei Zhao @ 2018-06-13  8:07 UTC (permalink / raw)
  To: dev; +Cc: wenzhuo.lu, stable, Wei Zhao

There are many registeres in x550 support stats of
flow director filters, for example the number of added
or removed rules and the number match or miss match packet
count for this for port, all these important information
can be read form registeres in x550 and display with command
xstats.

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---

v2:
-add mac type check for this register read.

---
 drivers/net/ixgbe/ixgbe_ethdev.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 87d2ad0..a3ddfe2 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3120,9 +3120,18 @@ ixgbe_read_stats_registers(struct ixgbe_hw *hw,
 	}
 
 	/* Flow Director Stats registers */
-	hw_stats->fdirmatch += IXGBE_READ_REG(hw, IXGBE_FDIRMATCH);
-	hw_stats->fdirmiss += IXGBE_READ_REG(hw, IXGBE_FDIRMISS);
-
+	if (hw->mac.type != ixgbe_mac_82598EB) {
+		hw_stats->fdirmatch += IXGBE_READ_REG(hw, IXGBE_FDIRMATCH);
+		hw_stats->fdirmiss += IXGBE_READ_REG(hw, IXGBE_FDIRMISS);
+		hw_stats->fdirustat_add += IXGBE_READ_REG(hw,
+					IXGBE_FDIRUSTAT) & 0xFFFF;
+		hw_stats->fdirustat_remove += (IXGBE_READ_REG(hw,
+					IXGBE_FDIRUSTAT) >> 16) & 0xFFFF;
+		hw_stats->fdirfstat_fadd += IXGBE_READ_REG(hw,
+					IXGBE_FDIRFSTAT) & 0xFFFF;
+		hw_stats->fdirfstat_fremove += (IXGBE_READ_REG(hw,
+					IXGBE_FDIRFSTAT) >> 16) & 0xFFFF;
+	}
 	/* MACsec Stats registers */
 	macsec_stats->out_pkts_untagged += IXGBE_READ_REG(hw, IXGBE_LSECTXUT);
 	macsec_stats->out_pkts_encrypted +=
-- 
2.7.5

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

* [dpdk-dev] [PATCH v2] net/ixgbe: add query rule stats support for FDIR
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: add query rule stats support " Wei Zhao
  2018-06-13  8:07   ` [dpdk-dev] [PATCH v2] " Wei Zhao
@ 2018-06-13  8:08   ` Wei Zhao
  2018-06-14  0:36     ` Lu, Wenzhuo
  1 sibling, 1 reply; 32+ messages in thread
From: Wei Zhao @ 2018-06-13  8:08 UTC (permalink / raw)
  To: dev; +Cc: wenzhuo.lu, stable, Wei Zhao

There are many registeres in x550 support stats of
flow director filters, for example the number of added
or removed rules and the number match or miss match packet
count for this for port, all these important information
can be read form registeres in x550 and display with command
xstats.

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---

v2:
-add mac type check for this register read.

---
 drivers/net/ixgbe/ixgbe_ethdev.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 87d2ad0..a3ddfe2 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3120,9 +3120,18 @@ ixgbe_read_stats_registers(struct ixgbe_hw *hw,
 	}
 
 	/* Flow Director Stats registers */
-	hw_stats->fdirmatch += IXGBE_READ_REG(hw, IXGBE_FDIRMATCH);
-	hw_stats->fdirmiss += IXGBE_READ_REG(hw, IXGBE_FDIRMISS);
-
+	if (hw->mac.type != ixgbe_mac_82598EB) {
+		hw_stats->fdirmatch += IXGBE_READ_REG(hw, IXGBE_FDIRMATCH);
+		hw_stats->fdirmiss += IXGBE_READ_REG(hw, IXGBE_FDIRMISS);
+		hw_stats->fdirustat_add += IXGBE_READ_REG(hw,
+					IXGBE_FDIRUSTAT) & 0xFFFF;
+		hw_stats->fdirustat_remove += (IXGBE_READ_REG(hw,
+					IXGBE_FDIRUSTAT) >> 16) & 0xFFFF;
+		hw_stats->fdirfstat_fadd += IXGBE_READ_REG(hw,
+					IXGBE_FDIRFSTAT) & 0xFFFF;
+		hw_stats->fdirfstat_fremove += (IXGBE_READ_REG(hw,
+					IXGBE_FDIRFSTAT) >> 16) & 0xFFFF;
+	}
 	/* MACsec Stats registers */
 	macsec_stats->out_pkts_untagged += IXGBE_READ_REG(hw, IXGBE_LSECTXUT);
 	macsec_stats->out_pkts_encrypted +=
-- 
2.7.5

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

* [dpdk-dev] [PATCH v2] net/ixgbe: add support for VLAN in IP mode FDIR
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR Wei Zhao
  2018-06-12  2:25   ` Lu, Wenzhuo
@ 2018-06-13  8:09   ` Wei Zhao
  2018-06-14  0:37     ` Lu, Wenzhuo
  1 sibling, 1 reply; 32+ messages in thread
From: Wei Zhao @ 2018-06-13  8:09 UTC (permalink / raw)
  To: dev; +Cc: wenzhuo.lu, stable, Wei Zhao

In IP mode FDIR, X550 can support not only 4 tuple parameters
but also vlan tci in protocol, so add this feature to flow parser.

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

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---

v2:
-fix item check error in v1.

---
 drivers/net/ixgbe/ixgbe_flow.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index 06bc2a7..8909a21 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -1739,7 +1739,8 @@ ixgbe_parse_fdir_filter_normal(struct rte_eth_dev *dev,
 				return -rte_errno;
 			}
 		} else {
-			if (item->type != RTE_FLOW_ITEM_TYPE_IPV4) {
+			if (item->type != RTE_FLOW_ITEM_TYPE_IPV4 &&
+					item->type != RTE_FLOW_ITEM_TYPE_VLAN) {
 				memset(rule, 0, sizeof(struct ixgbe_fdir_rule));
 				rte_flow_error_set(error, EINVAL,
 					RTE_FLOW_ERROR_TYPE_ITEM,
-- 
2.7.5

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

* [dpdk-dev] [PATCH v2] net/ixgbe: fix tunnel id format error for FDIR
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: fix tunnel id format error for FDIR Wei Zhao
  2018-06-12  5:10   ` Lu, Wenzhuo
@ 2018-06-13  8:11   ` Wei Zhao
  2018-06-14  0:38     ` Lu, Wenzhuo
  1 sibling, 1 reply; 32+ messages in thread
From: Wei Zhao @ 2018-06-13  8:11 UTC (permalink / raw)
  To: dev; +Cc: wenzhuo.lu, stable, Wei Zhao

In cloud mode for FDIR, tunnel id should be set as protocol
request, the lower 8 bits should be set as reserved.

Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for X550")
Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---

v2:
-fix tni bit format error in v1.

---
 drivers/net/ixgbe/ixgbe_fdir.c | 2 +-
 drivers/net/ixgbe/ixgbe_flow.c | 5 +----
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_fdir.c b/drivers/net/ixgbe/ixgbe_fdir.c
index d5e5179..67ab627 100644
--- a/drivers/net/ixgbe/ixgbe_fdir.c
+++ b/drivers/net/ixgbe/ixgbe_fdir.c
@@ -774,7 +774,7 @@ ixgbe_fdir_filter_to_atr_input(const struct rte_eth_fdir_filter *fdir_filter,
 		input->formatted.tunnel_type =
 			fdir_filter->input.flow.tunnel_flow.tunnel_type;
 		input->formatted.tni_vni =
-			fdir_filter->input.flow.tunnel_flow.tunnel_id;
+			fdir_filter->input.flow.tunnel_flow.tunnel_id >> 8;
 	}
 
 	return 0;
diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index eb0644c..f47f125 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -2487,10 +2487,8 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 			rule->b_spec = TRUE;
 			vxlan_spec = item->spec;
 			rte_memcpy(((uint8_t *)
-				&rule->ixgbe_fdir.formatted.tni_vni + 1),
+				&rule->ixgbe_fdir.formatted.tni_vni),
 				vxlan_spec->vni, RTE_DIM(vxlan_spec->vni));
-			rule->ixgbe_fdir.formatted.tni_vni = rte_be_to_cpu_32(
-				rule->ixgbe_fdir.formatted.tni_vni);
 		}
 	}
 
@@ -2587,7 +2585,6 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 			/* tni is a 24-bits bit field */
 			rte_memcpy(&rule->ixgbe_fdir.formatted.tni_vni,
 			nvgre_spec->tni, RTE_DIM(nvgre_spec->tni));
-			rule->ixgbe_fdir.formatted.tni_vni <<= 8;
 		}
 	}
 
-- 
2.7.5

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

* [dpdk-dev] [PATCH v2] net/ixgbe: fix tunnel type set error for FDIR
  2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: fix tunnel type set " Wei Zhao
@ 2018-06-13  8:11   ` Wei Zhao
  2018-06-14  0:41     ` Lu, Wenzhuo
  2018-06-14  8:17     ` [dpdk-dev] [PATCH v3] " Wei Zhao
  0 siblings, 2 replies; 32+ messages in thread
From: Wei Zhao @ 2018-06-13  8:11 UTC (permalink / raw)
  To: dev; +Cc: wenzhuo.lu, stable, Wei Zhao

Tunnel type format should be translated to ixgbe required format
before register set in FDIR cloud mode, Ans also some register
not useful in cloud mode but only useful in IP mode should be set
to zero as datasheet request.

Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for X550")
Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---

v2:
-change register write function for FDIRIPSA and FDIRIPDA.

---
 drivers/net/ixgbe/ixgbe_fdir.c | 17 +++++++++++++----
 drivers/net/ixgbe/ixgbe_flow.c |  6 ++----
 2 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_fdir.c b/drivers/net/ixgbe/ixgbe_fdir.c
index 67ab627..3feb815 100644
--- a/drivers/net/ixgbe/ixgbe_fdir.c
+++ b/drivers/net/ixgbe/ixgbe_fdir.c
@@ -771,8 +771,15 @@ ixgbe_fdir_filter_to_atr_input(const struct rte_eth_fdir_filter *fdir_filter,
 			input->formatted.inner_mac,
 			fdir_filter->input.flow.tunnel_flow.mac_addr.addr_bytes,
 			sizeof(input->formatted.inner_mac));
-		input->formatted.tunnel_type =
-			fdir_filter->input.flow.tunnel_flow.tunnel_type;
+		if (fdir_filter->input.flow.tunnel_flow.tunnel_type ==
+				RTE_FDIR_TUNNEL_TYPE_VXLAN)
+			input->formatted.tunnel_type = 0x8000;
+		else if (fdir_filter->input.flow.tunnel_flow.tunnel_type ==
+				RTE_FDIR_TUNNEL_TYPE_NVGRE)
+			input->formatted.tunnel_type = 0;
+		else
+			PMD_DRV_LOG(ERR, " invalid tunnel type arguments.");
+
 		input->formatted.tni_vni =
 			fdir_filter->input.flow.tunnel_flow.tunnel_id >> 8;
 	}
@@ -1001,8 +1008,7 @@ fdir_write_perfect_filter_82599(struct ixgbe_hw *hw,
 			IXGBE_WRITE_REG(hw, IXGBE_FDIRSIPv6(2), 0);
 		} else {
 			/* tunnel mode */
-			if (input->formatted.tunnel_type !=
-				RTE_FDIR_TUNNEL_TYPE_NVGRE)
+			if (input->formatted.tunnel_type)
 				tunnel_type = 0x80000000;
 			tunnel_type |= addr_high;
 			IXGBE_WRITE_REG(hw, IXGBE_FDIRSIPv6(0), addr_low);
@@ -1010,6 +1016,9 @@ fdir_write_perfect_filter_82599(struct ixgbe_hw *hw,
 			IXGBE_WRITE_REG(hw, IXGBE_FDIRSIPv6(2),
 					input->formatted.tni_vni);
 		}
+		IXGBE_WRITE_REG(hw, IXGBE_FDIRIPSA, 0);
+		IXGBE_WRITE_REG(hw, IXGBE_FDIRIPDA, 0);
+		IXGBE_WRITE_REG(hw, IXGBE_FDIRPORT, 0);
 	}
 
 	/* record vlan (little-endian) and flex_bytes(big-endian) */
diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index f47f125..06bc2a7 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -2436,8 +2436,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 
 	/* Get the VxLAN info */
 	if (item->type == RTE_FLOW_ITEM_TYPE_VXLAN) {
-		rule->ixgbe_fdir.formatted.tunnel_type =
-			RTE_FDIR_TUNNEL_TYPE_VXLAN;
+		rule->ixgbe_fdir.formatted.tunnel_type = 0x8000;
 
 		/* Only care about VNI, others should be masked. */
 		if (!item->mask) {
@@ -2494,8 +2493,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 
 	/* Get the NVGRE info */
 	if (item->type == RTE_FLOW_ITEM_TYPE_NVGRE) {
-		rule->ixgbe_fdir.formatted.tunnel_type =
-			RTE_FDIR_TUNNEL_TYPE_NVGRE;
+		rule->ixgbe_fdir.formatted.tunnel_type = 0;
 
 		/**
 		 * Only care about flags0, flags1, protocol and TNI,
-- 
2.7.5

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

* Re: [dpdk-dev] [PATCH v2] net/ixgbe: add query rule stats support for FDIR
  2018-06-13  8:08   ` Wei Zhao
@ 2018-06-14  0:36     ` Lu, Wenzhuo
  2018-06-21 14:08       ` Zhang, Qi Z
  0 siblings, 1 reply; 32+ messages in thread
From: Lu, Wenzhuo @ 2018-06-14  0:36 UTC (permalink / raw)
  To: Zhao1, Wei, dev; +Cc: stable

Hi,

> -----Original Message-----
> From: Zhao1, Wei
> Sent: Wednesday, June 13, 2018 4:09 PM
> To: dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> <wei.zhao1@intel.com>
> Subject: [PATCH v2] net/ixgbe: add query rule stats support for FDIR
> 
> There are many registeres in x550 support stats of flow director filters, for
> example the number of added or removed rules and the number match or
> miss match packet count for this for port, all these important information
> can be read form registeres in x550 and display with command xstats.
> 
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>

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

* Re: [dpdk-dev] [PATCH v2] net/ixgbe: add support for VLAN in IP mode FDIR
  2018-06-13  8:09   ` [dpdk-dev] [PATCH v2] " Wei Zhao
@ 2018-06-14  0:37     ` Lu, Wenzhuo
  2018-06-21 14:09       ` Zhang, Qi Z
  0 siblings, 1 reply; 32+ messages in thread
From: Lu, Wenzhuo @ 2018-06-14  0:37 UTC (permalink / raw)
  To: Zhao1, Wei, dev; +Cc: stable

Hi,

> -----Original Message-----
> From: Zhao1, Wei
> Sent: Wednesday, June 13, 2018 4:10 PM
> To: dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> <wei.zhao1@intel.com>
> Subject: [PATCH v2] net/ixgbe: add support for VLAN in IP mode FDIR
> 
> In IP mode FDIR, X550 can support not only 4 tuple parameters but also vlan
> tci in protocol, so add this feature to flow parser.
> 
> Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> 
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>

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

* Re: [dpdk-dev] [PATCH v2] net/ixgbe: fix tunnel id format error for FDIR
  2018-06-13  8:11   ` [dpdk-dev] [PATCH v2] " Wei Zhao
@ 2018-06-14  0:38     ` Lu, Wenzhuo
  2018-06-21 14:10       ` Zhang, Qi Z
  0 siblings, 1 reply; 32+ messages in thread
From: Lu, Wenzhuo @ 2018-06-14  0:38 UTC (permalink / raw)
  To: Zhao1, Wei, dev; +Cc: stable

Hi,

> -----Original Message-----
> From: Zhao1, Wei
> Sent: Wednesday, June 13, 2018 4:11 PM
> To: dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> <wei.zhao1@intel.com>
> Subject: [PATCH v2] net/ixgbe: fix tunnel id format error for FDIR
> 
> In cloud mode for FDIR, tunnel id should be set as protocol request, the
> lower 8 bits should be set as reserved.
> 
> Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for X550")
> Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> 
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>

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

* Re: [dpdk-dev] [PATCH v2] net/ixgbe: fix tunnel type set error for FDIR
  2018-06-13  8:11   ` [dpdk-dev] [PATCH v2] " Wei Zhao
@ 2018-06-14  0:41     ` Lu, Wenzhuo
  2018-06-14  1:51       ` Zhao1, Wei
  2018-06-14  8:17     ` [dpdk-dev] [PATCH v3] " Wei Zhao
  1 sibling, 1 reply; 32+ messages in thread
From: Lu, Wenzhuo @ 2018-06-14  0:41 UTC (permalink / raw)
  To: Zhao1, Wei, dev; +Cc: stable

Hi Wei,


> -----Original Message-----
> From: Zhao1, Wei
> Sent: Wednesday, June 13, 2018 4:12 PM
> To: dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> <wei.zhao1@intel.com>
> Subject: [PATCH v2] net/ixgbe: fix tunnel type set error for FDIR
> 
> Tunnel type format should be translated to ixgbe required format before
> register set in FDIR cloud mode, Ans also some register not useful in cloud
> mode but only useful in IP mode should be set to zero as datasheet request.
> 
> Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for X550")
> Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> 
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> ---
> 
> v2:
> -change register write function for FDIRIPSA and FDIRIPDA.
> 
> ---
>  drivers/net/ixgbe/ixgbe_fdir.c | 17 +++++++++++++----
> drivers/net/ixgbe/ixgbe_flow.c |  6 ++----
>  2 files changed, 15 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/net/ixgbe/ixgbe_fdir.c b/drivers/net/ixgbe/ixgbe_fdir.c
> index 67ab627..3feb815 100644
> --- a/drivers/net/ixgbe/ixgbe_fdir.c
> +++ b/drivers/net/ixgbe/ixgbe_fdir.c
> @@ -771,8 +771,15 @@ ixgbe_fdir_filter_to_atr_input(const struct
> rte_eth_fdir_filter *fdir_filter,
>  			input->formatted.inner_mac,
>  			fdir_filter-
> >input.flow.tunnel_flow.mac_addr.addr_bytes,
>  			sizeof(input->formatted.inner_mac));
> -		input->formatted.tunnel_type =
> -			fdir_filter->input.flow.tunnel_flow.tunnel_type;
> +		if (fdir_filter->input.flow.tunnel_flow.tunnel_type ==
> +				RTE_FDIR_TUNNEL_TYPE_VXLAN)
> +			input->formatted.tunnel_type = 0x8000;
> +		else if (fdir_filter->input.flow.tunnel_flow.tunnel_type ==
> +				RTE_FDIR_TUNNEL_TYPE_NVGRE)
> +			input->formatted.tunnel_type = 0;
Better use macros for 0x8000 and 0. And add comments why these values are used.

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

* Re: [dpdk-dev] [PATCH v2] net/ixgbe: fix tunnel type set error for FDIR
  2018-06-14  0:41     ` Lu, Wenzhuo
@ 2018-06-14  1:51       ` Zhao1, Wei
  0 siblings, 0 replies; 32+ messages in thread
From: Zhao1, Wei @ 2018-06-14  1:51 UTC (permalink / raw)
  To: Lu, Wenzhuo, dev; +Cc: stable

Hi,

> -----Original Message-----
> From: Lu, Wenzhuo
> Sent: Thursday, June 14, 2018 8:42 AM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: RE: [PATCH v2] net/ixgbe: fix tunnel type set error for FDIR
> 
> Hi Wei,
> 
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Wednesday, June 13, 2018 4:12 PM
> > To: dev@dpdk.org
> > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> > <wei.zhao1@intel.com>
> > Subject: [PATCH v2] net/ixgbe: fix tunnel type set error for FDIR
> >
> > Tunnel type format should be translated to ixgbe required format
> > before register set in FDIR cloud mode, Ans also some register not
> > useful in cloud mode but only useful in IP mode should be set to zero as
> datasheet request.
> >
> > Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for
> > X550")
> > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> >
> > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> > ---
> >
> > v2:
> > -change register write function for FDIRIPSA and FDIRIPDA.
> >
> > ---
> >  drivers/net/ixgbe/ixgbe_fdir.c | 17 +++++++++++++----
> > drivers/net/ixgbe/ixgbe_flow.c |  6 ++----
> >  2 files changed, 15 insertions(+), 8 deletions(-)
> >
> > diff --git a/drivers/net/ixgbe/ixgbe_fdir.c
> > b/drivers/net/ixgbe/ixgbe_fdir.c index 67ab627..3feb815 100644
> > --- a/drivers/net/ixgbe/ixgbe_fdir.c
> > +++ b/drivers/net/ixgbe/ixgbe_fdir.c
> > @@ -771,8 +771,15 @@ ixgbe_fdir_filter_to_atr_input(const struct
> > rte_eth_fdir_filter *fdir_filter,
> >  			input->formatted.inner_mac,
> >  			fdir_filter-
> > >input.flow.tunnel_flow.mac_addr.addr_bytes,
> >  			sizeof(input->formatted.inner_mac));
> > -		input->formatted.tunnel_type =
> > -			fdir_filter->input.flow.tunnel_flow.tunnel_type;
> > +		if (fdir_filter->input.flow.tunnel_flow.tunnel_type ==
> > +				RTE_FDIR_TUNNEL_TYPE_VXLAN)
> > +			input->formatted.tunnel_type = 0x8000;
> > +		else if (fdir_filter->input.flow.tunnel_flow.tunnel_type ==
> > +				RTE_FDIR_TUNNEL_TYPE_NVGRE)
> > +			input->formatted.tunnel_type = 0;
> Better use macros for 0x8000 and 0. And add comments why these values
> are used.

Ok, I will add some comment.

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

* [dpdk-dev] [PATCH v3] net/ixgbe: fix tunnel type set error for FDIR
  2018-06-13  8:11   ` [dpdk-dev] [PATCH v2] " Wei Zhao
  2018-06-14  0:41     ` Lu, Wenzhuo
@ 2018-06-14  8:17     ` Wei Zhao
  2018-06-15  0:50       ` Lu, Wenzhuo
  1 sibling, 1 reply; 32+ messages in thread
From: Wei Zhao @ 2018-06-14  8:17 UTC (permalink / raw)
  To: dev; +Cc: wenzhuo.lu, stable, Wei Zhao

Tunnel type format should be translated to ixgbe required format
before register set in FDIR cloud mode, Ans also some register
not useful in cloud mode but only useful in IP mode should be set
to zero as datasheet request.

Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for X550")
Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---

v2:
-change register write function for FDIRIPSA and FDIRIPDA.

v3:
-add macros for 0x8000 and 0.

---
 drivers/net/ixgbe/ixgbe_ethdev.h |  5 +++++
 drivers/net/ixgbe/ixgbe_fdir.c   | 19 +++++++++++++++----
 drivers/net/ixgbe/ixgbe_flow.c   |  4 ++--
 3 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.h b/drivers/net/ixgbe/ixgbe_ethdev.h
index e42ec30..d0b9396 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.h
+++ b/drivers/net/ixgbe/ixgbe_ethdev.h
@@ -100,6 +100,11 @@
 #define IXGBE_5TUPLE_MAX_PRI            7
 #define IXGBE_5TUPLE_MIN_PRI            1
 
+/* bit of VXLAN tunnel type | 7 bits of zeros  | 8 bits of zeros*/
+#define IXGBE_FDIR_VXLAN_TUNNEL_TYPE    0x8000
+/* bit of NVGRE tunnel type | 7 bits of zeros  | 8 bits of zeros*/
+#define IXGBE_FDIR_NVGRE_TUNNEL_TYPE    0x0
+
 #define IXGBE_RSS_OFFLOAD_ALL ( \
 	ETH_RSS_IPV4 | \
 	ETH_RSS_NONFRAG_IPV4_TCP | \
diff --git a/drivers/net/ixgbe/ixgbe_fdir.c b/drivers/net/ixgbe/ixgbe_fdir.c
index 67ab627..6baf825 100644
--- a/drivers/net/ixgbe/ixgbe_fdir.c
+++ b/drivers/net/ixgbe/ixgbe_fdir.c
@@ -771,8 +771,17 @@ ixgbe_fdir_filter_to_atr_input(const struct rte_eth_fdir_filter *fdir_filter,
 			input->formatted.inner_mac,
 			fdir_filter->input.flow.tunnel_flow.mac_addr.addr_bytes,
 			sizeof(input->formatted.inner_mac));
-		input->formatted.tunnel_type =
-			fdir_filter->input.flow.tunnel_flow.tunnel_type;
+		if (fdir_filter->input.flow.tunnel_flow.tunnel_type ==
+				RTE_FDIR_TUNNEL_TYPE_VXLAN)
+			input->formatted.tunnel_type =
+					IXGBE_FDIR_VXLAN_TUNNEL_TYPE;
+		else if (fdir_filter->input.flow.tunnel_flow.tunnel_type ==
+				RTE_FDIR_TUNNEL_TYPE_NVGRE)
+			input->formatted.tunnel_type =
+					IXGBE_FDIR_NVGRE_TUNNEL_TYPE;
+		else
+			PMD_DRV_LOG(ERR, " invalid tunnel type arguments.");
+
 		input->formatted.tni_vni =
 			fdir_filter->input.flow.tunnel_flow.tunnel_id >> 8;
 	}
@@ -1001,8 +1010,7 @@ fdir_write_perfect_filter_82599(struct ixgbe_hw *hw,
 			IXGBE_WRITE_REG(hw, IXGBE_FDIRSIPv6(2), 0);
 		} else {
 			/* tunnel mode */
-			if (input->formatted.tunnel_type !=
-				RTE_FDIR_TUNNEL_TYPE_NVGRE)
+			if (input->formatted.tunnel_type)
 				tunnel_type = 0x80000000;
 			tunnel_type |= addr_high;
 			IXGBE_WRITE_REG(hw, IXGBE_FDIRSIPv6(0), addr_low);
@@ -1010,6 +1018,9 @@ fdir_write_perfect_filter_82599(struct ixgbe_hw *hw,
 			IXGBE_WRITE_REG(hw, IXGBE_FDIRSIPv6(2),
 					input->formatted.tni_vni);
 		}
+		IXGBE_WRITE_REG(hw, IXGBE_FDIRIPSA, 0);
+		IXGBE_WRITE_REG(hw, IXGBE_FDIRIPDA, 0);
+		IXGBE_WRITE_REG(hw, IXGBE_FDIRPORT, 0);
 	}
 
 	/* record vlan (little-endian) and flex_bytes(big-endian) */
diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index f47f125..eff907c 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -2437,7 +2437,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 	/* Get the VxLAN info */
 	if (item->type == RTE_FLOW_ITEM_TYPE_VXLAN) {
 		rule->ixgbe_fdir.formatted.tunnel_type =
-			RTE_FDIR_TUNNEL_TYPE_VXLAN;
+				IXGBE_FDIR_VXLAN_TUNNEL_TYPE;
 
 		/* Only care about VNI, others should be masked. */
 		if (!item->mask) {
@@ -2495,7 +2495,7 @@ ixgbe_parse_fdir_filter_tunnel(const struct rte_flow_attr *attr,
 	/* Get the NVGRE info */
 	if (item->type == RTE_FLOW_ITEM_TYPE_NVGRE) {
 		rule->ixgbe_fdir.formatted.tunnel_type =
-			RTE_FDIR_TUNNEL_TYPE_NVGRE;
+				IXGBE_FDIR_NVGRE_TUNNEL_TYPE;
 
 		/**
 		 * Only care about flags0, flags1, protocol and TNI,
-- 
2.7.5

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

* Re: [dpdk-dev] [PATCH v3] net/ixgbe: fix tunnel type set error for FDIR
  2018-06-14  8:17     ` [dpdk-dev] [PATCH v3] " Wei Zhao
@ 2018-06-15  0:50       ` Lu, Wenzhuo
  2018-06-21 14:11         ` Zhang, Qi Z
  0 siblings, 1 reply; 32+ messages in thread
From: Lu, Wenzhuo @ 2018-06-15  0:50 UTC (permalink / raw)
  To: Zhao1, Wei, dev; +Cc: stable

Hi,


> -----Original Message-----
> From: Zhao1, Wei
> Sent: Thursday, June 14, 2018 4:17 PM
> To: dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> <wei.zhao1@intel.com>
> Subject: [PATCH v3] net/ixgbe: fix tunnel type set error for FDIR
> 
> Tunnel type format should be translated to ixgbe required format before
> register set in FDIR cloud mode, Ans also some register not useful in cloud
> mode but only useful in IP mode should be set to zero as datasheet request.
> 
> Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for X550")
> Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> 
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>

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

* Re: [dpdk-dev] [PATCH v2] net/ixgbe: add query rule stats support for FDIR
  2018-06-14  0:36     ` Lu, Wenzhuo
@ 2018-06-21 14:08       ` Zhang, Qi Z
  0 siblings, 0 replies; 32+ messages in thread
From: Zhang, Qi Z @ 2018-06-21 14:08 UTC (permalink / raw)
  To: Lu, Wenzhuo, Zhao1, Wei, dev; +Cc: stable



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Lu, Wenzhuo
> Sent: Thursday, June 14, 2018 8:36 AM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2] net/ixgbe: add query rule stats support for
> FDIR
> 
> Hi,
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Wednesday, June 13, 2018 4:09 PM
> > To: dev@dpdk.org
> > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> > <wei.zhao1@intel.com>
> > Subject: [PATCH v2] net/ixgbe: add query rule stats support for FDIR
> >
> > There are many registeres in x550 support stats of flow director
> > filters, for example the number of added or removed rules and the
> > number match or miss match packet count for this for port, all these
> > important information can be read form registeres in x550 and display with
> command xstats.
> >
> > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>

Applied to dpdk-next-net-intel

Thanks!
Qi

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

* Re: [dpdk-dev] [PATCH v2] net/ixgbe: add support for VLAN in IP mode FDIR
  2018-06-14  0:37     ` Lu, Wenzhuo
@ 2018-06-21 14:09       ` Zhang, Qi Z
  0 siblings, 0 replies; 32+ messages in thread
From: Zhang, Qi Z @ 2018-06-21 14:09 UTC (permalink / raw)
  To: Lu, Wenzhuo, Zhao1, Wei, dev; +Cc: stable



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Lu, Wenzhuo
> Sent: Thursday, June 14, 2018 8:38 AM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2] net/ixgbe: add support for VLAN in IP mode
> FDIR
> 
> Hi,
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Wednesday, June 13, 2018 4:10 PM
> > To: dev@dpdk.org
> > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> > <wei.zhao1@intel.com>
> > Subject: [PATCH v2] net/ixgbe: add support for VLAN in IP mode FDIR
> >
> > In IP mode FDIR, X550 can support not only 4 tuple parameters but also
> > vlan tci in protocol, so add this feature to flow parser.
> >
> > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> >
> > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>

Applied to dpdk-next-net-intel

Thanks!
Qi

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

* Re: [dpdk-dev] [PATCH v2] net/ixgbe: fix tunnel id format error for FDIR
  2018-06-14  0:38     ` Lu, Wenzhuo
@ 2018-06-21 14:10       ` Zhang, Qi Z
  0 siblings, 0 replies; 32+ messages in thread
From: Zhang, Qi Z @ 2018-06-21 14:10 UTC (permalink / raw)
  To: Lu, Wenzhuo, Zhao1, Wei, dev; +Cc: stable



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Lu, Wenzhuo
> Sent: Thursday, June 14, 2018 8:39 AM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2] net/ixgbe: fix tunnel id format error for
> FDIR
> 
> Hi,
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Wednesday, June 13, 2018 4:11 PM
> > To: dev@dpdk.org
> > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> > <wei.zhao1@intel.com>
> > Subject: [PATCH v2] net/ixgbe: fix tunnel id format error for FDIR
> >
> > In cloud mode for FDIR, tunnel id should be set as protocol request,
> > the lower 8 bits should be set as reserved.
> >
> > Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for
> > X550")
> > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> >
> > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>

Applied to dpdk-next-net-intel

Thanks!
Qi

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

* Re: [dpdk-dev] [PATCH v3] net/ixgbe: fix tunnel type set error for FDIR
  2018-06-15  0:50       ` Lu, Wenzhuo
@ 2018-06-21 14:11         ` Zhang, Qi Z
  0 siblings, 0 replies; 32+ messages in thread
From: Zhang, Qi Z @ 2018-06-21 14:11 UTC (permalink / raw)
  To: Lu, Wenzhuo, Zhao1, Wei, dev; +Cc: stable



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Lu, Wenzhuo
> Sent: Friday, June 15, 2018 8:50 AM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v3] net/ixgbe: fix tunnel type set error for FDIR
> 
> Hi,
> 
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Thursday, June 14, 2018 4:17 PM
> > To: dev@dpdk.org
> > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> > <wei.zhao1@intel.com>
> > Subject: [PATCH v3] net/ixgbe: fix tunnel type set error for FDIR
> >
> > Tunnel type format should be translated to ixgbe required format
> > before register set in FDIR cloud mode, Ans also some register not
> > useful in cloud mode but only useful in IP mode should be set to zero as
> datasheet request.
> >
> > Fixes: 82fb702077f6 ("ixgbe: support new flow director modes for
> > X550")
> > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> >
> > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>

Applied to dpdk-next-net-intel

Thanks!
Qi

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

* Re: [dpdk-dev] [PATCH] app/testpmd: fix VLAN tci mask set error for FDIR
  2018-06-12  1:12 ` [dpdk-dev] [PATCH] app/testpmd: fix VLAN tci mask " Lu, Wenzhuo
@ 2018-06-21 14:27   ` Zhang, Qi Z
  0 siblings, 0 replies; 32+ messages in thread
From: Zhang, Qi Z @ 2018-06-21 14:27 UTC (permalink / raw)
  To: Lu, Wenzhuo, Zhao1, Wei, dev; +Cc: stable



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Lu, Wenzhuo
> Sent: Tuesday, June 12, 2018 9:12 AM
> To: Zhao1, Wei <wei.zhao1@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] app/testpmd: fix VLAN tci mask set error for
> FDIR
> 
> Hi,
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Tuesday, June 5, 2018 5:12 PM
> > To: dev@dpdk.org
> > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Zhao1, Wei
> > <wei.zhao1@intel.com>
> > Subject: [PATCH] app/testpmd: fix VLAN tci mask set error for FDIR
> >
> > The vlan tci mask should be set to 0xEFFF, not 0x0, the wrong mask
> > will cause mask error for register set.
> >
> > Fixes: d9d5e6f2f0ba ("app/testpmd: set default flow director mask")
> > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>

Applied to dpdk-next-net-intel

Thanks!
Qi

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

end of thread, other threads:[~2018-06-21 14:27 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-05  9:12 [dpdk-dev] [PATCH] app/testpmd: fix VLAN tci mask set error for FDIR Wei Zhao
2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: add query rule stats support " Wei Zhao
2018-06-13  8:07   ` [dpdk-dev] [PATCH v2] " Wei Zhao
2018-06-13  8:08   ` Wei Zhao
2018-06-14  0:36     ` Lu, Wenzhuo
2018-06-21 14:08       ` Zhang, Qi Z
2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: add support for VLAN in IP mode FDIR Wei Zhao
2018-06-12  2:25   ` Lu, Wenzhuo
2018-06-12  2:30     ` Zhao1, Wei
2018-06-12  2:41       ` Lu, Wenzhuo
2018-06-12  2:49         ` Zhao1, Wei
2018-06-12  3:18         ` Zhao1, Wei
2018-06-13  8:09   ` [dpdk-dev] [PATCH v2] " Wei Zhao
2018-06-14  0:37     ` Lu, Wenzhuo
2018-06-21 14:09       ` Zhang, Qi Z
2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: fix tunnel id format error for FDIR Wei Zhao
2018-06-12  5:10   ` Lu, Wenzhuo
2018-06-12  7:49     ` Zhao1, Wei
2018-06-12  8:39       ` Lu, Wenzhuo
2018-06-12  8:43         ` Zhao1, Wei
2018-06-13  8:11   ` [dpdk-dev] [PATCH v2] " Wei Zhao
2018-06-14  0:38     ` Lu, Wenzhuo
2018-06-21 14:10       ` Zhang, Qi Z
2018-06-05  9:12 ` [dpdk-dev] [PATCH] net/ixgbe: fix tunnel type set " Wei Zhao
2018-06-13  8:11   ` [dpdk-dev] [PATCH v2] " Wei Zhao
2018-06-14  0:41     ` Lu, Wenzhuo
2018-06-14  1:51       ` Zhao1, Wei
2018-06-14  8:17     ` [dpdk-dev] [PATCH v3] " Wei Zhao
2018-06-15  0:50       ` Lu, Wenzhuo
2018-06-21 14:11         ` Zhang, Qi Z
2018-06-12  1:12 ` [dpdk-dev] [PATCH] app/testpmd: fix VLAN tci mask " Lu, Wenzhuo
2018-06-21 14:27   ` Zhang, Qi Z

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