patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Yongseok Koh <yskoh@mellanox.com>
To: Wei Zhao <wei.zhao1@intel.com>
Cc: Wenzhuo Lu <wenzhuo.lu@intel.com>, dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'net/ixgbe: fix tunnel type set error for FDIR' has been queued to LTS release 17.11.4
Date: Thu, 26 Jul 2018 19:09:15 -0700	[thread overview]
Message-ID: <20180727021019.37388-19-yskoh@mellanox.com> (raw)
In-Reply-To: <20180727021019.37388-1-yskoh@mellanox.com>

Hi,

FYI, your patch has been queued to LTS release 17.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 07/28/18. So please
shout if anyone has objections.

Thanks.

Yongseok

---
>From d05de9eeed2675364772bcf8bcbd77c214578208 Mon Sep 17 00:00:00 2001
From: Wei Zhao <wei.zhao1@intel.com>
Date: Thu, 14 Jun 2018 16:17:28 +0800
Subject: [PATCH] net/ixgbe: fix tunnel type set error for FDIR

[ upstream commit 876b450ed99d2c96c5b71360cc84f7b0b8f506f4 ]

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>
---
 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 51ddcfd4e..762f1ad34 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.h
+++ b/drivers/net/ixgbe/ixgbe_ethdev.h
@@ -123,6 +123,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 32720abc9..cbe2d6ff8 100644
--- a/drivers/net/ixgbe/ixgbe_fdir.c
+++ b/drivers/net/ixgbe/ixgbe_fdir.c
@@ -800,8 +800,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;
 	}
@@ -1030,8 +1039,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);
@@ -1039,6 +1047,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 13cc121c1..e60ecce77 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -2371,7 +2371,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) {
@@ -2431,7 +2431,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.11.0

  parent reply	other threads:[~2018-07-27  2:11 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-27  2:08 [dpdk-stable] patch 'net/qede: fix VF MTU update' " Yongseok Koh
2018-07-27  2:08 ` [dpdk-stable] patch 'net/mvpp2: check pointer before using it' " Yongseok Koh
2018-07-27  2:08 ` [dpdk-stable] patch 'net/qede: fix link change event notification' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/bnxt: add missing ids in xstats' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/ena: fix GENMASK_ULL macro' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/nfp: fix field initialization in Tx descriptor' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/bonding: always update bonding link status' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/bonding: fix MAC address reset' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/mlx5: fix crash in device probe' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'eventdev: fix port in Rx adapter internal function' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'eventdev: fix missing update to Rx adaper WRR position' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'eventdev: add event buffer flush in Rx adapter' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'eventdev: fix internal port logic " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'eventdev: fix Rx SW adapter stop' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'bus/dpaa: fix build' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'kni: fix build with gcc 8.1' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/ixgbe: add support for VLAN in IP mode FDIR' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/ixgbe: fix tunnel id format error for " Yongseok Koh
2018-07-27  2:09 ` Yongseok Koh [this message]
2018-07-27  2:09 ` [dpdk-stable] patch 'net/ixgbe: fix mask bits register set " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/i40e: fix shifts of 32-bit value' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'app/testpmd: fix VLAN TCI mask set error for FDIR' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/i40e: workaround performance degradation' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/pcap: fix multiple queues' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/thunderx: fix build with gcc optimization on' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/qede: fix legacy interrupt mode' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/qede: remove primary MAC removal' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/ena: fix SIGFPE with 0 Rx queue' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/mlx5: fix Rx buffer replenishment threshold' " Yongseok Koh
2018-07-27  2:09 ` [dpdk-stable] patch 'net/bnxt: fix HW Tx checksum offload check' " Yongseok Koh

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=20180727021019.37388-19-yskoh@mellanox.com \
    --to=yskoh@mellanox.com \
    --cc=stable@dpdk.org \
    --cc=wei.zhao1@intel.com \
    --cc=wenzhuo.lu@intel.com \
    /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).