patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7
@ 2020-02-27 17:37 Kevin Traynor
  2020-02-27 17:37 ` [dpdk-stable] patch 'examples/fips_validation: fix string token for CT length' " Kevin Traynor
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:37 UTC (permalink / raw)
  To: Fan Zhang; +Cc: Akhil Goyal, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/daa83df1d6cdf110f22361b878e88e9ff4af1cb3

Thanks.

Kevin.

---
From daa83df1d6cdf110f22361b878e88e9ff4af1cb3 Mon Sep 17 00:00:00 2001
From: Fan Zhang <roy.fan.zhang@intel.com>
Date: Fri, 14 Feb 2020 11:41:18 +0000
Subject: [PATCH] examples/fips_validation: fix AES-GCM cipher length parsing

[ upstream commit 2adb3b4e7e54dcce626560da39b6fb6adfe914bc ]

This patch fixes the cipher len keyword typo.

Fixes: 07f5e4553293 ("examples/fips_validation: fix cipher length for AES-GCM")

Suggested-by: Akhil Goyal <akhil.goyal@nxp.com>
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: David Marchand <david.marchand@redhat.com>
---
 examples/fips_validation/fips_validation_gcm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/fips_validation/fips_validation_gcm.c b/examples/fips_validation/fips_validation_gcm.c
index b121802e20..f134c9cbbb 100644
--- a/examples/fips_validation/fips_validation_gcm.c
+++ b/examples/fips_validation/fips_validation_gcm.c
@@ -20,5 +20,5 @@
 #define AADLEN_STR	"AADlen = "
 #define TAGLEN_STR	"Taglen = "
-#define CTLEN_STR	"PTlen = "
+#define CTLEN_STR	"CTlen = "
 
 #define COUNT_STR	"Count = "
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:23.734102622 +0000
+++ 0001-examples-fips_validation-fix-AES-GCM-cipher-length-p.patch	2020-02-27 17:26:23.582832510 +0000
@@ -1 +1 @@
-From 2adb3b4e7e54dcce626560da39b6fb6adfe914bc Mon Sep 17 00:00:00 2001
+From daa83df1d6cdf110f22361b878e88e9ff4af1cb3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2adb3b4e7e54dcce626560da39b6fb6adfe914bc ]
+
@@ -18 +20 @@
-index f295025590..bc2d37dcbf 100644
+index b121802e20..f134c9cbbb 100644


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

* [dpdk-stable] patch 'examples/fips_validation: fix string token for CT length' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
@ 2020-02-27 17:37 ` Kevin Traynor
  2020-02-27 17:37 ` [dpdk-stable] patch 'net/qede: fix VF reload' " Kevin Traynor
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:37 UTC (permalink / raw)
  To: Anoob Joseph; +Cc: Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/6e62eeab5dfbfcf0193284495de7d16fa3330181

Thanks.

Kevin.

---
From 6e62eeab5dfbfcf0193284495de7d16fa3330181 Mon Sep 17 00:00:00 2001
From: Anoob Joseph <anoobj@marvell.com>
Date: Tue, 18 Feb 2020 16:01:12 +0530
Subject: [PATCH] examples/fips_validation: fix string token for CT length

[ upstream commit b1ea86a07cbce6d5b0a9b05a4e0c0fbbe56ad20d ]

The NIST test vectors use the string 'PTlen' to denote text lengths
in case of encrypt & decrypt operations. So the same string needs to be
used while parsing PT and CT.

Fixes: 2adb3b4e7e54 ("examples/fips_validation: fix AES-GCM cipher length parsing")

Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 examples/fips_validation/fips_validation_gcm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/examples/fips_validation/fips_validation_gcm.c b/examples/fips_validation/fips_validation_gcm.c
index f134c9cbbb..769617b640 100644
--- a/examples/fips_validation/fips_validation_gcm.c
+++ b/examples/fips_validation/fips_validation_gcm.c
@@ -20,5 +20,4 @@
 #define AADLEN_STR	"AADlen = "
 #define TAGLEN_STR	"Taglen = "
-#define CTLEN_STR	"CTlen = "
 
 #define COUNT_STR	"Count = "
@@ -48,5 +47,8 @@ struct fips_test_callback gcm_interim_vectors[] = {
 		{IVLEN_STR, parser_read_uint32_bit_val, &vec.iv},
 		{PTLEN_STR, parser_read_uint32_bit_val, &vec.pt},
-		{CTLEN_STR, parser_read_uint32_bit_val, &vec.ct},
+		{PTLEN_STR, parser_read_uint32_bit_val, &vec.ct},
+		/**< The NIST test vectors use 'PTlen' to denote input text
+		 *  length in case of decrypt & encrypt operations.
+		 */
 		{AADLEN_STR, parser_read_uint32_bit_val, &vec.cipher_auth.aad},
 		{TAGLEN_STR, parser_read_uint32_bit_val,
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:23.784830999 +0000
+++ 0002-examples-fips_validation-fix-string-token-for-CT-len.patch	2020-02-27 17:26:23.583832489 +0000
@@ -1 +1 @@
-From b1ea86a07cbce6d5b0a9b05a4e0c0fbbe56ad20d Mon Sep 17 00:00:00 2001
+From 6e62eeab5dfbfcf0193284495de7d16fa3330181 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b1ea86a07cbce6d5b0a9b05a4e0c0fbbe56ad20d ]
+
@@ -19 +21 @@
-index bc2d37dcbf..47576e9a38 100644
+index f134c9cbbb..769617b640 100644
@@ -36 +38 @@
- 		{AADLEN_STR, parser_read_uint32_bit_val, &vec.aead.aad},
+ 		{AADLEN_STR, parser_read_uint32_bit_val, &vec.cipher_auth.aad},


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

* [dpdk-stable] patch 'net/qede: fix VF reload' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
  2020-02-27 17:37 ` [dpdk-stable] patch 'examples/fips_validation: fix string token for CT length' " Kevin Traynor
@ 2020-02-27 17:37 ` Kevin Traynor
  2020-02-27 17:37 ` [dpdk-stable] patch 'net/qede: do not stop vport if not started' " Kevin Traynor
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:37 UTC (permalink / raw)
  To: Manish Chopra; +Cc: Shahed Shaikh, Rasesh Mody, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a90d891383446684f50f68eb7f47fb7a6a31e14f

Thanks.

Kevin.

---
From a90d891383446684f50f68eb7f47fb7a6a31e14f Mon Sep 17 00:00:00 2001
From: Manish Chopra <manishc@marvell.com>
Date: Thu, 6 Feb 2020 12:01:45 -0800
Subject: [PATCH] net/qede: fix VF reload

[ upstream commit f44ca48c81e823edda67189220a4bf7659cc22c1 ]

On ungraceful termination of DPDK application, PMD VF driver
fails to re-load due to PF seeing the VF in unexpected state
during VF acquisition handshake.

This patch fixes it by allowing VF to request the PF for soft
FLR during the load in such cases so that it can get cleanly
re-loaded.

Fixes: 2ea6f76aff40 ("qede: add core driver")

Signed-off-by: Manish Chopra <manishc@marvell.com>
Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
Signed-off-by: Rasesh Mody <rmody@marvell.com>
Acked-by: Rasesh Mody <rmody@marvell.com>
---
 drivers/net/qede/base/ecore_dev.c     |  2 +-
 drivers/net/qede/base/ecore_dev_api.h |  3 ++
 drivers/net/qede/base/ecore_iov_api.h |  1 +
 drivers/net/qede/base/ecore_sriov.c   | 33 ++++++++++++++++
 drivers/net/qede/base/ecore_vf.c      | 55 +++++++++++++++++++++++++--
 drivers/net/qede/base/ecore_vf.h      | 11 +++++-
 drivers/net/qede/base/ecore_vf_api.h  |  3 ++
 drivers/net/qede/base/ecore_vfpf_if.h | 41 ++++++++++++++++++++
 drivers/net/qede/base/mcp_public.h    |  2 +
 drivers/net/qede/qede_main.c          |  4 ++
 10 files changed, 149 insertions(+), 6 deletions(-)

diff --git a/drivers/net/qede/base/ecore_dev.c b/drivers/net/qede/base/ecore_dev.c
index d7e1d7b32a..1e6e1a1b38 100644
--- a/drivers/net/qede/base/ecore_dev.c
+++ b/drivers/net/qede/base/ecore_dev.c
@@ -5501,5 +5501,5 @@ ecore_hw_prepare_single(struct ecore_hwfn *p_hwfn, void OSAL_IOMEM *p_regview,
 
 	if (IS_VF(p_dev))
-		return ecore_vf_hw_prepare(p_hwfn);
+		return ecore_vf_hw_prepare(p_hwfn, p_params);
 
 	/* Validate that chip access is feasible */
diff --git a/drivers/net/qede/base/ecore_dev_api.h b/drivers/net/qede/base/ecore_dev_api.h
index 7308063218..69db0f910b 100644
--- a/drivers/net/qede/base/ecore_dev_api.h
+++ b/drivers/net/qede/base/ecore_dev_api.h
@@ -278,4 +278,7 @@ struct ecore_hw_prepare_params {
 	/* Indicates whether this PF serves a storage target */
 	bool b_is_target;
+
+	/* retry count for VF acquire on channel timeout */
+	u8 acquire_retry_cnt;
 };
 
diff --git a/drivers/net/qede/base/ecore_iov_api.h b/drivers/net/qede/base/ecore_iov_api.h
index 55de7086da..d65d80a8ef 100644
--- a/drivers/net/qede/base/ecore_iov_api.h
+++ b/drivers/net/qede/base/ecore_iov_api.h
@@ -52,4 +52,5 @@ enum ecore_iov_pf_to_vf_status {
 	PFVF_STATUS_FORCED,
 	PFVF_STATUS_MALICIOUS,
+	PFVF_STATUS_ACQUIRED,
 };
 
diff --git a/drivers/net/qede/base/ecore_sriov.c b/drivers/net/qede/base/ecore_sriov.c
index 7d73ef9fbe..748252a42f 100644
--- a/drivers/net/qede/base/ecore_sriov.c
+++ b/drivers/net/qede/base/ecore_sriov.c
@@ -62,4 +62,37 @@ const char *qede_ecore_channel_tlvs_string[] = {
 	"CHANNEL_TLV_BULLETIN_UPDATE_MAC",
 	"CHANNEL_TLV_UPDATE_MTU",
+	"CHANNEL_TLV_RDMA_ACQUIRE",
+	"CHANNEL_TLV_RDMA_START",
+	"CHANNEL_TLV_RDMA_STOP",
+	"CHANNEL_TLV_RDMA_ADD_USER",
+	"CHANNEL_TLV_RDMA_REMOVE_USER",
+	"CHANNEL_TLV_RDMA_QUERY_COUNTERS",
+	"CHANNEL_TLV_RDMA_ALLOC_TID",
+	"CHANNEL_TLV_RDMA_REGISTER_TID",
+	"CHANNEL_TLV_RDMA_DEREGISTER_TID",
+	"CHANNEL_TLV_RDMA_FREE_TID",
+	"CHANNEL_TLV_RDMA_CREATE_CQ",
+	"CHANNEL_TLV_RDMA_RESIZE_CQ",
+	"CHANNEL_TLV_RDMA_DESTROY_CQ",
+	"CHANNEL_TLV_RDMA_CREATE_QP",
+	"CHANNEL_TLV_RDMA_MODIFY_QP",
+	"CHANNEL_TLV_RDMA_QUERY_QP",
+	"CHANNEL_TLV_RDMA_DESTROY_QP",
+	"CHANNEL_TLV_RDMA_CREATE_SRQ",
+	"CHANNEL_TLV_RDMA_MODIFY_SRQ",
+	"CHANNEL_TLV_RDMA_DESTROY_SRQ",
+	"CHANNEL_TLV_RDMA_QUERY_PORT",
+	"CHANNEL_TLV_RDMA_QUERY_DEVICE",
+	"CHANNEL_TLV_RDMA_IWARP_CONNECT",
+	"CHANNEL_TLV_RDMA_IWARP_ACCEPT",
+	"CHANNEL_TLV_RDMA_IWARP_CREATE_LISTEN",
+	"CHANNEL_TLV_RDMA_IWARP_DESTROY_LISTEN",
+	"CHANNEL_TLV_RDMA_IWARP_PAUSE_LISTEN",
+	"CHANNEL_TLV_RDMA_IWARP_REJECT",
+	"CHANNEL_TLV_RDMA_IWARP_SEND_RTR",
+	"CHANNEL_TLV_ESTABLISH_LL2_CONN",
+	"CHANNEL_TLV_TERMINATE_LL2_CONN",
+	"CHANNEL_TLV_ASYNC_EVENT",
+	"CHANNEL_TLV_SOFT_FLR",
 	"CHANNEL_TLV_MAX"
 };
diff --git a/drivers/net/qede/base/ecore_vf.c b/drivers/net/qede/base/ecore_vf.c
index 3ba6a0cf2e..a18beaa1df 100644
--- a/drivers/net/qede/base/ecore_vf.c
+++ b/drivers/net/qede/base/ecore_vf.c
@@ -227,5 +227,4 @@ enum _ecore_status_t ecore_vf_pf_release(struct ecore_hwfn *p_hwfn)
 }
 
-#define VF_ACQUIRE_THRESH 3
 static void ecore_vf_pf_acquire_reduce_resc(struct ecore_hwfn *p_hwfn,
 					    struct vf_pf_resc_request *p_req,
@@ -252,5 +251,38 @@ static void ecore_vf_pf_acquire_reduce_resc(struct ecore_hwfn *p_hwfn,
 }
 
-static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
+static enum _ecore_status_t
+ecore_vf_pf_soft_flr_acquire(struct ecore_hwfn *p_hwfn)
+{
+	struct ecore_vf_iov *p_iov = p_hwfn->vf_iov_info;
+	struct pfvf_def_resp_tlv *resp;
+	struct vfpf_soft_flr_tlv *req;
+	enum _ecore_status_t rc;
+
+	req = ecore_vf_pf_prep(p_hwfn, CHANNEL_TLV_SOFT_FLR, sizeof(*req));
+
+	/* add list termination tlv */
+	ecore_add_tlv(&p_iov->offset,
+		      CHANNEL_TLV_LIST_END,
+		      sizeof(struct channel_list_end_tlv));
+
+	resp = &p_iov->pf2vf_reply->default_resp;
+	rc = ecore_send_msg2pf(p_hwfn, &resp->hdr.status, sizeof(*resp));
+
+	DP_VERBOSE(p_hwfn, ECORE_MSG_IOV, "rc=0x%x\n", rc);
+
+	/* to release the mutex as ecore_vf_pf_acquire() take the mutex */
+	ecore_vf_pf_req_end(p_hwfn, ECORE_AGAIN);
+
+	/* As of today, there is no mechanism in place for VF to know the FLR
+	 * status, so sufficiently (worst case time) wait for FLR to complete,
+	 * as mailbox request to MFW by the PF for initiating VF flr and PF
+	 * processing VF FLR could take time.
+	 */
+	OSAL_MSLEEP(3000);
+
+	return ecore_vf_pf_acquire(p_hwfn);
+}
+
+enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
 {
 	struct ecore_vf_iov *p_iov = p_hwfn->vf_iov_info;
@@ -258,4 +290,5 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
 	struct pf_vf_pfdev_info *pfdev_info = &resp->pfdev_info;
 	struct ecore_vf_acquire_sw_info vf_sw_info;
+	u8 retry_cnt = p_iov->acquire_retry_cnt;
 	struct vf_pf_resc_request *p_resc;
 	bool resources_acquired = false;
@@ -318,4 +351,12 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
 		rc = ecore_send_msg2pf(p_hwfn,
 				       &resp->hdr.status, sizeof(*resp));
+
+		if (retry_cnt && rc == ECORE_TIMEOUT) {
+			DP_VERBOSE(p_hwfn, ECORE_MSG_IOV,
+				   "VF retrying to acquire due to VPC timeout\n");
+			retry_cnt--;
+			continue;
+		}
+
 		if (rc != ECORE_SUCCESS)
 			goto exit;
@@ -343,5 +384,5 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
 		} /* PF refuses to allocate our resources */
 		else if (resp->hdr.status == PFVF_STATUS_NO_RESOURCE &&
-			 attempts < VF_ACQUIRE_THRESH) {
+			 attempts < ECORE_VF_ACQUIRE_THRESH) {
 			ecore_vf_pf_acquire_reduce_resc(p_hwfn, p_resc,
 							&resp->resc);
@@ -391,4 +432,7 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
 			rc = ECORE_INVAL;
 			goto exit;
+		} else if (resp->hdr.status == PFVF_STATUS_ACQUIRED) {
+			ecore_vf_pf_req_end(p_hwfn, ECORE_AGAIN);
+			return ecore_vf_pf_soft_flr_acquire(p_hwfn);
 		} else {
 			DP_ERR(p_hwfn,
@@ -477,5 +521,7 @@ u32 ecore_vf_hw_bar_size(struct ecore_hwfn *p_hwfn,
 }
 
-enum _ecore_status_t ecore_vf_hw_prepare(struct ecore_hwfn *p_hwfn)
+enum _ecore_status_t
+ecore_vf_hw_prepare(struct ecore_hwfn *p_hwfn,
+		    struct ecore_hw_prepare_params *p_params)
 {
 	struct ecore_hwfn *p_lead = ECORE_LEADING_HWFN(p_hwfn->p_dev);
@@ -583,4 +629,5 @@ enum _ecore_status_t ecore_vf_hw_prepare(struct ecore_hwfn *p_hwfn)
 	OSAL_MUTEX_INIT(&p_iov->mutex);
 
+	p_iov->acquire_retry_cnt = p_params->acquire_retry_cnt;
 	p_hwfn->vf_iov_info = p_iov;
 
diff --git a/drivers/net/qede/base/ecore_vf.h b/drivers/net/qede/base/ecore_vf.h
index a07f82ebd9..f027eba3ea 100644
--- a/drivers/net/qede/base/ecore_vf.h
+++ b/drivers/net/qede/base/ecore_vf.h
@@ -12,4 +12,5 @@
 #include "ecore_l2_api.h"
 #include "ecore_vfpf_if.h"
+#include "ecore_dev_api.h"
 
 /* Default number of CIDs [total of both Rx and Tx] to be requested
@@ -60,4 +61,7 @@ struct ecore_vf_iov {
 	 */
 	bool b_doorbell_bar;
+
+	/* retry count for VF acquire on channel timeout */
+	u8 acquire_retry_cnt;
 };
 
@@ -73,4 +77,6 @@ enum _ecore_status_t ecore_vf_pf_get_coalesce(struct ecore_hwfn *p_hwfn,
 					      u16 *p_coal,
 					      struct ecore_queue_cid *p_cid);
+
+enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn);
 /**
  * @brief VF - Set Rx/Tx coalesce per VF's relative queue.
@@ -93,8 +99,11 @@ enum _ecore_status_t ecore_vf_pf_set_coalesce(struct ecore_hwfn *p_hwfn,
  *
  * @param p_hwfn
+ * @param p_params
  *
  * @return enum _ecore_status_t
  */
-enum _ecore_status_t ecore_vf_hw_prepare(struct ecore_hwfn *p_hwfn);
+enum _ecore_status_t
+ecore_vf_hw_prepare(struct ecore_hwfn *p_hwfn,
+		    struct ecore_hw_prepare_params *p_params);
 
 /**
diff --git a/drivers/net/qede/base/ecore_vf_api.h b/drivers/net/qede/base/ecore_vf_api.h
index 1a9fb3b1f2..43951a9a34 100644
--- a/drivers/net/qede/base/ecore_vf_api.h
+++ b/drivers/net/qede/base/ecore_vf_api.h
@@ -12,4 +12,7 @@
 
 #ifdef CONFIG_ECORE_SRIOV
+
+#define ECORE_VF_ACQUIRE_THRESH 3
+
 /**
  * @brief Read the VF bulletin and act on it if needed
diff --git a/drivers/net/qede/base/ecore_vfpf_if.h b/drivers/net/qede/base/ecore_vfpf_if.h
index c7ecb01c28..f92dc428af 100644
--- a/drivers/net/qede/base/ecore_vfpf_if.h
+++ b/drivers/net/qede/base/ecore_vfpf_if.h
@@ -252,4 +252,11 @@ struct vfpf_qid_tlv {
 };
 
+/* Soft FLR req */
+struct vfpf_soft_flr_tlv {
+	struct vfpf_first_tlv first_tlv;
+	u32 reserved1;
+	u32 reserved2;
+};
+
 /* Setup Queue */
 struct vfpf_start_rxq_tlv {
@@ -558,4 +565,5 @@ union vfpf_tlvs {
 	struct vfpf_bulletin_update_mac_tlv	bulletin_update_mac;
 	struct vfpf_update_mtu_tlv		update_mtu;
+	struct vfpf_soft_flr_tlv		soft_flr;
 	struct tlv_buffer_size			tlv_buf_size;
 };
@@ -690,4 +698,37 @@ enum {
 	CHANNEL_TLV_BULLETIN_UPDATE_MAC,
 	CHANNEL_TLV_UPDATE_MTU,
+	CHANNEL_TLV_RDMA_ACQUIRE,
+	CHANNEL_TLV_RDMA_START,
+	CHANNEL_TLV_RDMA_STOP,
+	CHANNEL_TLV_RDMA_ADD_USER,
+	CHANNEL_TLV_RDMA_REMOVE_USER,
+	CHANNEL_TLV_RDMA_QUERY_COUNTERS,
+	CHANNEL_TLV_RDMA_ALLOC_TID,
+	CHANNEL_TLV_RDMA_REGISTER_TID,
+	CHANNEL_TLV_RDMA_DEREGISTER_TID,
+	CHANNEL_TLV_RDMA_FREE_TID,
+	CHANNEL_TLV_RDMA_CREATE_CQ,
+	CHANNEL_TLV_RDMA_RESIZE_CQ,
+	CHANNEL_TLV_RDMA_DESTROY_CQ,
+	CHANNEL_TLV_RDMA_CREATE_QP,
+	CHANNEL_TLV_RDMA_MODIFY_QP,
+	CHANNEL_TLV_RDMA_QUERY_QP,
+	CHANNEL_TLV_RDMA_DESTROY_QP,
+	CHANNEL_TLV_RDMA_QUERY_PORT,
+	CHANNEL_TLV_RDMA_QUERY_DEVICE,
+	CHANNEL_TLV_RDMA_IWARP_CONNECT,
+	CHANNEL_TLV_RDMA_IWARP_ACCEPT,
+	CHANNEL_TLV_RDMA_IWARP_CREATE_LISTEN,
+	CHANNEL_TLV_RDMA_IWARP_DESTROY_LISTEN,
+	CHANNEL_TLV_RDMA_IWARP_PAUSE_LISTEN,
+	CHANNEL_TLV_RDMA_IWARP_REJECT,
+	CHANNEL_TLV_RDMA_IWARP_SEND_RTR,
+	CHANNEL_TLV_ESTABLISH_LL2_CONN,
+	CHANNEL_TLV_TERMINATE_LL2_CONN,
+	CHANNEL_TLV_ASYNC_EVENT,
+	CHANNEL_TLV_RDMA_CREATE_SRQ,
+	CHANNEL_TLV_RDMA_MODIFY_SRQ,
+	CHANNEL_TLV_RDMA_DESTROY_SRQ,
+	CHANNEL_TLV_SOFT_FLR,
 	CHANNEL_TLV_MAX,
 
diff --git a/drivers/net/qede/base/mcp_public.h b/drivers/net/qede/base/mcp_public.h
index 13c2e2d116..2a2494585a 100644
--- a/drivers/net/qede/base/mcp_public.h
+++ b/drivers/net/qede/base/mcp_public.h
@@ -1274,4 +1274,5 @@ struct public_drv_mb {
 #define DRV_MSG_CODE_INITIATE_FLR_DEPRECATED    0x02000000
 #define DRV_MSG_CODE_INITIATE_PF_FLR            0x02010000
+#define DRV_MSG_CODE_INITIATE_VF_FLR		0x02020000
 #define DRV_MSG_CODE_VF_DISABLED_DONE           0xc0000000
 #define DRV_MSG_CODE_CFG_VF_MSIX                0xc0010000
@@ -1705,4 +1706,5 @@ struct public_drv_mb {
 #define FW_MSG_CODE_VF_DISABLED_DONE            0xb0000000
 #define FW_MSG_CODE_DRV_CFG_VF_MSIX_DONE        0xb0010000
+#define FW_MSG_CODE_INITIATE_VF_FLR_OK		0xb0030000
 #define FW_MSG_CODE_FLR_ACK                     0x02000000
 #define FW_MSG_CODE_FLR_NACK                    0x02100000
diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c
index ec6190b115..0ac4300465 100644
--- a/drivers/net/qede/qede_main.c
+++ b/drivers/net/qede/qede_main.c
@@ -57,4 +57,8 @@ qed_probe(struct ecore_dev *edev, struct rte_pci_device *pci_dev,
 
 	memset(&hw_prepare_params, 0, sizeof(hw_prepare_params));
+
+	if (is_vf)
+		hw_prepare_params.acquire_retry_cnt = ECORE_VF_ACQUIRE_THRESH;
+
 	hw_prepare_params.personality = ECORE_PCI_ETH;
 	hw_prepare_params.drv_resc_alloc = false;
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:23.837071478 +0000
+++ 0003-net-qede-fix-VF-reload.patch	2020-02-27 17:26:23.611831908 +0000
@@ -1 +1 @@
-From f44ca48c81e823edda67189220a4bf7659cc22c1 Mon Sep 17 00:00:00 2001
+From a90d891383446684f50f68eb7f47fb7a6a31e14f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f44ca48c81e823edda67189220a4bf7659cc22c1 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -35 +36 @@
-index f33b9910c0..86ecfb2690 100644
+index d7e1d7b32a..1e6e1a1b38 100644
@@ -38 +39 @@
-@@ -5618,5 +5618,5 @@ ecore_hw_prepare_single(struct ecore_hwfn *p_hwfn, void OSAL_IOMEM *p_regview,
+@@ -5501,5 +5501,5 @@ ecore_hw_prepare_single(struct ecore_hwfn *p_hwfn, void OSAL_IOMEM *p_regview,
@@ -46 +47 @@
-index 4d5cc1a0fa..5ea8427a07 100644
+index 7308063218..69db0f910b 100644
@@ -58 +59 @@
-index c998dbf8d5..5450018121 100644
+index 55de7086da..d65d80a8ef 100644
@@ -68 +69 @@
-index deee04ac4b..e60257e190 100644
+index 7d73ef9fbe..748252a42f 100644
@@ -110 +111 @@
-index c5c0814262..db03bc494f 100644
+index 3ba6a0cf2e..a18beaa1df 100644
@@ -159 +160,2 @@
-@@ -259,4 +291,5 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
+@@ -258,4 +290,5 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
+ 	struct pf_vf_pfdev_info *pfdev_info = &resp->pfdev_info;
@@ -161 +162,0 @@
- 	struct ecore_dev *p_dev = p_hwfn->p_dev;
@@ -165 +166 @@
-@@ -319,4 +352,12 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
+@@ -318,4 +351,12 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
@@ -178 +179 @@
-@@ -344,5 +385,5 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
+@@ -343,5 +384,5 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
@@ -185 +186 @@
-@@ -392,4 +433,7 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
+@@ -391,4 +432,7 @@ static enum _ecore_status_t ecore_vf_pf_acquire(struct ecore_hwfn *p_hwfn)
@@ -193 +194 @@
-@@ -478,5 +522,7 @@ u32 ecore_vf_hw_bar_size(struct ecore_hwfn *p_hwfn,
+@@ -477,5 +521,7 @@ u32 ecore_vf_hw_bar_size(struct ecore_hwfn *p_hwfn,
@@ -202 +203 @@
-@@ -584,4 +630,5 @@ enum _ecore_status_t ecore_vf_hw_prepare(struct ecore_hwfn *p_hwfn)
+@@ -583,4 +629,5 @@ enum _ecore_status_t ecore_vf_hw_prepare(struct ecore_hwfn *p_hwfn)
@@ -319 +320 @@
-index 98b9723dd4..6667c2d7ab 100644
+index 13c2e2d116..2a2494585a 100644
@@ -322 +323 @@
-@@ -1291,4 +1291,5 @@ struct public_drv_mb {
+@@ -1274,4 +1274,5 @@ struct public_drv_mb {
@@ -328 +329 @@
-@@ -1750,4 +1751,5 @@ struct public_drv_mb {
+@@ -1705,4 +1706,5 @@ struct public_drv_mb {
@@ -332,2 +333,2 @@
- #define FW_MSG_CODE_ERR_RESOURCE_TEMPORARY_UNAVAILABLE	0x008b0000
- #define FW_MSG_CODE_ERR_RESOURCE_ALREADY_ALLOCATED	0x008c0000
+ #define FW_MSG_CODE_FLR_ACK                     0x02000000
+ #define FW_MSG_CODE_FLR_NACK                    0x02100000
@@ -335 +336 @@
-index 4eb79d0fbb..8580cbcd7f 100644
+index ec6190b115..0ac4300465 100644


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

* [dpdk-stable] patch 'net/qede: do not stop vport if not started' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
  2020-02-27 17:37 ` [dpdk-stable] patch 'examples/fips_validation: fix string token for CT length' " Kevin Traynor
  2020-02-27 17:37 ` [dpdk-stable] patch 'net/qede: fix VF reload' " Kevin Traynor
@ 2020-02-27 17:37 ` Kevin Traynor
  2020-02-27 17:37 ` [dpdk-stable] patch 'net/ixgbe: check for illegal Tx packets' " Kevin Traynor
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:37 UTC (permalink / raw)
  To: Manish Chopra; +Cc: Rasesh Mody, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/d94e39f6f4635ddd7157afb0651310a2f0810ddd

Thanks.

Kevin.

---
From d94e39f6f4635ddd7157afb0651310a2f0810ddd Mon Sep 17 00:00:00 2001
From: Manish Chopra <manishc@marvell.com>
Date: Thu, 6 Feb 2020 12:01:46 -0800
Subject: [PATCH] net/qede: do not stop vport if not started

[ upstream commit bf44e27af5a4840b2965c71a89eccfc01b5c58bf ]

Stopping an already disabled vport leads to firmware
assert. Stop the vport only if it was started.

Fixes: 2ea6f76aff40 ("qede: add core driver")

Signed-off-by: Manish Chopra <manishc@marvell.com>
Signed-off-by: Rasesh Mody <rmody@marvell.com>
---
 drivers/net/qede/qede_ethdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index c8291839c5..49f7b32056 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -1443,5 +1443,6 @@ static void qede_dev_close(struct rte_eth_dev *eth_dev)
 		qede_dev_stop(eth_dev);
 
-	qede_stop_vport(edev);
+	if (qdev->vport_started)
+		qede_stop_vport(edev);
 	qdev->vport_started = false;
 	qede_fdir_dealloc_resc(eth_dev);
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:23.908283210 +0000
+++ 0004-net-qede-do-not-stop-vport-if-not-started.patch	2020-02-27 17:26:23.615831825 +0000
@@ -1 +1 @@
-From bf44e27af5a4840b2965c71a89eccfc01b5c58bf Mon Sep 17 00:00:00 2001
+From d94e39f6f4635ddd7157afb0651310a2f0810ddd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bf44e27af5a4840b2965c71a89eccfc01b5c58bf ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 500440c2ca..74dfe895ad 100644
+index c8291839c5..49f7b32056 100644
@@ -22 +23 @@
-@@ -1510,5 +1510,6 @@ static void qede_dev_close(struct rte_eth_dev *eth_dev)
+@@ -1443,5 +1443,6 @@ static void qede_dev_close(struct rte_eth_dev *eth_dev)


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

* [dpdk-stable] patch 'net/ixgbe: check for illegal Tx packets' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
                   ` (2 preceding siblings ...)
  2020-02-27 17:37 ` [dpdk-stable] patch 'net/qede: do not stop vport if not started' " Kevin Traynor
@ 2020-02-27 17:37 ` Kevin Traynor
  2020-02-27 17:37 ` [dpdk-stable] patch 'net/mlx5: fix tunnel flow priority' " Kevin Traynor
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:37 UTC (permalink / raw)
  To: Xiao Zhang; +Cc: Konstantin Ananyev, Xiaolong Ye, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/0b6691a41938f8844575f9426ad8b69f39bbfaad

Thanks.

Kevin.

---
From 0b6691a41938f8844575f9426ad8b69f39bbfaad Mon Sep 17 00:00:00 2001
From: Xiao Zhang <xiao.zhang@intel.com>
Date: Mon, 17 Feb 2020 22:51:15 +0800
Subject: [PATCH] net/ixgbe: check for illegal Tx packets

[ upstream commit fc6f59a0d61b3a27b04bf0603c3fc62afb2fa49a ]

For ixgbe, there is restriction that data buffers of any transmitted
packet must include at least 12 bytes of the src/dst Ethernet MAC
addresses as well as 2 bytes of the Type/Len field, otherwise, tx hang
would happen.

This patch adds check for those illegal packets and protects TX from
hanging.

Fixes: 7829b8d52be0 ("net/ixgbe: add Tx preparation")

Signed-off-by: Xiao Zhang <xiao.zhang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
---
 drivers/net/ixgbe/ixgbe_rxtx.c | 6 ++++++
 drivers/net/ixgbe/ixgbe_rxtx.h | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index 7f98db15a4..08a79a0ea9 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -986,4 +986,10 @@ ixgbe_prep_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 		}
 
+		/* check the size of packet */
+		if (m->pkt_len < IXGBE_TX_MIN_PKT_LEN) {
+			rte_errno = EINVAL;
+			return i;
+		}
+
 #ifdef RTE_LIBRTE_ETHDEV_DEBUG
 		ret = rte_validate_tx_offload(m);
diff --git a/drivers/net/ixgbe/ixgbe_rxtx.h b/drivers/net/ixgbe/ixgbe_rxtx.h
index 39378f7547..7ae16967c6 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.h
+++ b/drivers/net/ixgbe/ixgbe_rxtx.h
@@ -54,4 +54,6 @@
 #define IXGBE_TX_MAX_SEG                    40
 
+#define IXGBE_TX_MIN_PKT_LEN		     14
+
 #define IXGBE_PACKET_TYPE_MASK_82599        0X7F
 #define IXGBE_PACKET_TYPE_MASK_X550         0X10FF
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:23.961231347 +0000
+++ 0005-net-ixgbe-check-for-illegal-Tx-packets.patch	2020-02-27 17:26:23.625831617 +0000
@@ -1 +1 @@
-From fc6f59a0d61b3a27b04bf0603c3fc62afb2fa49a Mon Sep 17 00:00:00 2001
+From 0b6691a41938f8844575f9426ad8b69f39bbfaad Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fc6f59a0d61b3a27b04bf0603c3fc62afb2fa49a ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index 7b398f1a1b..f839bcaab7 100644
+index 7f98db15a4..08a79a0ea9 100644
@@ -29 +30 @@
-@@ -987,4 +987,10 @@ ixgbe_prep_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+@@ -986,4 +986,10 @@ ixgbe_prep_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
@@ -41 +42 @@
-index 000c5b1194..20a8b291d4 100644
+index 39378f7547..7ae16967c6 100644


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

* [dpdk-stable] patch 'net/mlx5: fix tunnel flow priority' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
                   ` (3 preceding siblings ...)
  2020-02-27 17:37 ` [dpdk-stable] patch 'net/ixgbe: check for illegal Tx packets' " Kevin Traynor
@ 2020-02-27 17:37 ` Kevin Traynor
  2020-02-27 17:37 ` [dpdk-stable] patch 'net/ixgbe: fix flow control mode setting' " Kevin Traynor
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:37 UTC (permalink / raw)
  To: Matan Azrad; +Cc: Ori Kam, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/06766aca3e52c7681a270f5030e2c6bb852037fd

Thanks.

Kevin.

---
From 06766aca3e52c7681a270f5030e2c6bb852037fd Mon Sep 17 00:00:00 2001
From: Matan Azrad <matan@mellanox.com>
Date: Thu, 13 Feb 2020 13:03:25 +0000
Subject: [PATCH] net/mlx5: fix tunnel flow priority

[ upstream commit 050bfe033c2dcaff1f6cfb3110aa90bf80071513 ]

The PMD manages internally the priority of the flows in addition to the
user configured priority.

So, 2 flows with the same user priority may get different priority.

The method:
As much as the flow is more specific it gets higher priority
(higher means first to be matched).

In addition, When the user creates a RSS flow the PMD splits the flows
according to the flow RSS layers as the HW requests for RSS TIR.
The internal priority for each flow is decided by the flow last layer.
L2, L3 and L4 (L2 low and L4 high).

The tunnel layer was wrongly decided to be L4 all the time, even when
the flow is configured with inner-RSS.

Hence, the first RSS split which takes the tunnel layer priority all the
time will be matched before the more specific splits.

Change the priority of tunnel layer to be L2 when inner-RSS is
configured.

Fixes: d4a405186b73 ("net/mlx5: support tunnel RSS level")

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Ori Kam <orika@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow_dv.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index a6c9137079..bc24c7cd56 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -2219,4 +2219,6 @@ flow_dv_translate(struct rte_eth_dev *dev,
 			flow_dv_translate_item_gre(match_mask, match_value,
 						   items, tunnel);
+			matcher.priority = flow->rss.level >= 2 ?
+				    MLX5_PRIORITY_MAP_L2 : MLX5_PRIORITY_MAP_L4;
 			last_item = MLX5_FLOW_LAYER_GRE;
 			break;
@@ -2224,4 +2226,6 @@ flow_dv_translate(struct rte_eth_dev *dev,
 			flow_dv_translate_item_nvgre(match_mask, match_value,
 						     items, tunnel);
+			matcher.priority = flow->rss.level >= 2 ?
+				    MLX5_PRIORITY_MAP_L2 : MLX5_PRIORITY_MAP_L4;
 			last_item = MLX5_FLOW_LAYER_GRE;
 			break;
@@ -2229,4 +2233,6 @@ flow_dv_translate(struct rte_eth_dev *dev,
 			flow_dv_translate_item_vxlan(match_mask, match_value,
 						     items, tunnel);
+			matcher.priority = flow->rss.level >= 2 ?
+				    MLX5_PRIORITY_MAP_L2 : MLX5_PRIORITY_MAP_L4;
 			last_item = MLX5_FLOW_LAYER_VXLAN;
 			break;
@@ -2235,4 +2241,6 @@ flow_dv_translate(struct rte_eth_dev *dev,
 							 match_value, items,
 							 tunnel);
+			matcher.priority = flow->rss.level >= 2 ?
+				    MLX5_PRIORITY_MAP_L2 : MLX5_PRIORITY_MAP_L4;
 			last_item = MLX5_FLOW_LAYER_VXLAN_GPE;
 			break;
@@ -2240,4 +2248,6 @@ flow_dv_translate(struct rte_eth_dev *dev,
 			flow_dv_translate_item_mpls(match_mask, match_value,
 						    items, last_item, tunnel);
+			matcher.priority = flow->rss.level >= 2 ?
+				    MLX5_PRIORITY_MAP_L2 : MLX5_PRIORITY_MAP_L4;
 			last_item = MLX5_FLOW_LAYER_MPLS;
 			break;
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:24.022545483 +0000
+++ 0006-net-mlx5-fix-tunnel-flow-priority.patch	2020-02-27 17:26:23.627831576 +0000
@@ -1 +1 @@
-From 050bfe033c2dcaff1f6cfb3110aa90bf80071513 Mon Sep 17 00:00:00 2001
+From 06766aca3e52c7681a270f5030e2c6bb852037fd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 050bfe033c2dcaff1f6cfb3110aa90bf80071513 ]
+
@@ -30 +31,0 @@
-Cc: stable@dpdk.org
@@ -35,2 +36,2 @@
- drivers/net/mlx5/mlx5_flow_dv.c | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
+ drivers/net/mlx5/mlx5_flow_dv.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
@@ -39 +40 @@
-index a9bb0b4f10..a8c8a585a4 100644
+index a6c9137079..bc24c7cd56 100644
@@ -42 +43 @@
-@@ -7621,4 +7621,6 @@ cnt_err:
+@@ -2219,4 +2219,6 @@ flow_dv_translate(struct rte_eth_dev *dev,
@@ -49 +50 @@
-@@ -7631,4 +7633,6 @@ cnt_err:
+@@ -2224,4 +2226,6 @@ flow_dv_translate(struct rte_eth_dev *dev,
@@ -56 +57 @@
-@@ -7636,4 +7640,6 @@ cnt_err:
+@@ -2229,4 +2233,6 @@ flow_dv_translate(struct rte_eth_dev *dev,
@@ -63 +64 @@
-@@ -7642,4 +7648,6 @@ cnt_err:
+@@ -2235,4 +2241,6 @@ flow_dv_translate(struct rte_eth_dev *dev,
@@ -70,8 +71 @@
-@@ -7647,4 +7655,6 @@ cnt_err:
- 			flow_dv_translate_item_geneve(match_mask, match_value,
- 						      items, tunnel);
-+			matcher.priority = flow->rss.level >= 2 ?
-+				    MLX5_PRIORITY_MAP_L2 : MLX5_PRIORITY_MAP_L4;
- 			last_item = MLX5_FLOW_LAYER_GENEVE;
- 			break;
-@@ -7652,4 +7662,6 @@ cnt_err:
+@@ -2240,4 +2248,6 @@ flow_dv_translate(struct rte_eth_dev *dev,
@@ -83,7 +76,0 @@
- 			break;
-@@ -7693,4 +7705,6 @@ cnt_err:
- 			flow_dv_translate_item_gtp(match_mask, match_value,
- 						   items, tunnel);
-+			matcher.priority = flow->rss.level >= 2 ?
-+				    MLX5_PRIORITY_MAP_L2 : MLX5_PRIORITY_MAP_L4;
- 			last_item = MLX5_FLOW_LAYER_GTP;


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

* [dpdk-stable] patch 'net/ixgbe: fix flow control mode setting' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
                   ` (4 preceding siblings ...)
  2020-02-27 17:37 ` [dpdk-stable] patch 'net/mlx5: fix tunnel flow priority' " Kevin Traynor
@ 2020-02-27 17:37 ` Kevin Traynor
  2020-02-27 17:37 ` [dpdk-stable] patch 'net/vhost: allocate interface name from heap' " Kevin Traynor
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:37 UTC (permalink / raw)
  To: Guinan Sun; +Cc: Tomasz Konieczny, Xiaolong Ye, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/1fa4864cd8691ca86e04a68fbec6536caa8e304e

Thanks.

Kevin.

---
From 1fa4864cd8691ca86e04a68fbec6536caa8e304e Mon Sep 17 00:00:00 2001
From: Guinan Sun <guinanx.sun@intel.com>
Date: Tue, 18 Feb 2020 03:39:31 +0000
Subject: [PATCH] net/ixgbe: fix flow control mode setting

[ upstream commit a524f550da6e6c7a308ce7c2f4b6c3be60b5cbfa ]

When the port restarts, the flow ctrl register will be reset,
we need to make sure it can be configured the same as previous setting,
otherwise a register read error would occur. This patch fixes this
issue.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Guinan Sun <guinanx.sun@intel.com>
Tested-by: Tomasz Konieczny <tomaszx.konieczny@intel.com>
Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 76 +++++++++++++++++++++-----------
 drivers/net/ixgbe/ixgbe_ethdev.h |  1 +
 2 files changed, 51 insertions(+), 26 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index e06cc433c7..2d49ea011b 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -1155,6 +1155,6 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev, void *init_params __rte_unused)
 	ixgbe_dcb_init(hw, dcb_config);
 	/* Get Hardware Flow Control setting */
-	hw->fc.requested_mode = ixgbe_fc_full;
-	hw->fc.current_mode = ixgbe_fc_full;
+	hw->fc.requested_mode = ixgbe_fc_none;
+	hw->fc.current_mode = ixgbe_fc_none;
 	hw->fc.pause_time = IXGBE_FC_PAUSE;
 	for (i = 0; i < IXGBE_DCB_MAX_TRAFFIC_CLASS; i++) {
@@ -2574,4 +2574,37 @@ ixgbe_set_vf_rate_limit(struct rte_eth_dev *dev, uint16_t vf,
 }
 
+static int
+ixgbe_flow_ctrl_enable(struct rte_eth_dev *dev, struct ixgbe_hw *hw)
+{
+	struct ixgbe_adapter *adapter = dev->data->dev_private;
+	int err;
+	uint32_t mflcn;
+
+	err = ixgbe_fc_enable(hw);
+
+	/* Not negotiated is not an error case */
+	if (err == IXGBE_SUCCESS || err == IXGBE_ERR_FC_NOT_NEGOTIATED) {
+		/*
+		 *check if we want to forward MAC frames - driver doesn't
+		 *have native capability to do that,
+		 *so we'll write the registers ourselves
+		 */
+
+		mflcn = IXGBE_READ_REG(hw, IXGBE_MFLCN);
+
+		/* set or clear MFLCN.PMCF bit depending on configuration */
+		if (adapter->mac_ctrl_frame_fwd != 0)
+			mflcn |= IXGBE_MFLCN_PMCF;
+		else
+			mflcn &= ~IXGBE_MFLCN_PMCF;
+
+		IXGBE_WRITE_REG(hw, IXGBE_MFLCN, mflcn);
+		IXGBE_WRITE_FLUSH(hw);
+
+		return 0;
+	}
+	return err;
+}
+
 /*
  * Configure device link speed and setup link.
@@ -2710,4 +2743,10 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
 	ixgbe_restore_statistics_mapping(dev);
 
+	err = ixgbe_flow_ctrl_enable(dev, hw);
+	if (err < 0) {
+		PMD_INIT_LOG(ERR, "enable flow ctrl err");
+		goto error;
+	}
+
 	err = ixgbe_dev_rxtx_start(dev);
 	if (err < 0) {
@@ -2926,4 +2965,6 @@ ixgbe_dev_stop(struct rte_eth_dev *dev)
 
 	adapter->rss_reta_updated = 0;
+
+	adapter->mac_ctrl_frame_fwd = 0;
 }
 
@@ -4639,8 +4680,8 @@ ixgbe_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)
 {
 	struct ixgbe_hw *hw;
+	struct ixgbe_adapter *adapter = dev->data->dev_private;
 	int err;
 	uint32_t rx_buf_size;
 	uint32_t max_high_water;
-	uint32_t mflcn;
 	enum ixgbe_fc_mode rte_fcmode_2_ixgbe_fcmode[] = {
 		ixgbe_fc_none,
@@ -4674,29 +4715,12 @@ ixgbe_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)
 	hw->fc.send_xon       = fc_conf->send_xon;
 	hw->fc.disable_fc_autoneg = !fc_conf->autoneg;
+	adapter->mac_ctrl_frame_fwd = fc_conf->mac_ctrl_frame_fwd;
 
-	err = ixgbe_fc_enable(hw);
-
-	/* Not negotiated is not an error case */
-	if ((err == IXGBE_SUCCESS) || (err == IXGBE_ERR_FC_NOT_NEGOTIATED)) {
-
-		/* check if we want to forward MAC frames - driver doesn't have native
-		 * capability to do that, so we'll write the registers ourselves */
-
-		mflcn = IXGBE_READ_REG(hw, IXGBE_MFLCN);
-
-		/* set or clear MFLCN.PMCF bit depending on configuration */
-		if (fc_conf->mac_ctrl_frame_fwd != 0)
-			mflcn |= IXGBE_MFLCN_PMCF;
-		else
-			mflcn &= ~IXGBE_MFLCN_PMCF;
-
-		IXGBE_WRITE_REG(hw, IXGBE_MFLCN, mflcn);
-		IXGBE_WRITE_FLUSH(hw);
-
-		return 0;
+	err = ixgbe_flow_ctrl_enable(dev, hw);
+	if (err < 0) {
+		PMD_INIT_LOG(ERR, "ixgbe_flow_ctrl_enable = 0x%x", err);
+		return -EIO;
 	}
-
-	PMD_INIT_LOG(ERR, "ixgbe_fc_enable = 0x%x", err);
-	return -EIO;
+	return err;
 }
 
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.h b/drivers/net/ixgbe/ixgbe_ethdev.h
index 752d7981e4..2177d37060 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.h
+++ b/drivers/net/ixgbe/ixgbe_ethdev.h
@@ -506,4 +506,5 @@ struct ixgbe_adapter {
 	 */
 	uint8_t pflink_fullchk;
+	uint8_t mac_ctrl_frame_fwd;
 };
 
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:24.085609083 +0000
+++ 0007-net-ixgbe-fix-flow-control-mode-setting.patch	2020-02-27 17:26:23.641831285 +0000
@@ -1 +1 @@
-From a524f550da6e6c7a308ce7c2f4b6c3be60b5cbfa Mon Sep 17 00:00:00 2001
+From 1fa4864cd8691ca86e04a68fbec6536caa8e304e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a524f550da6e6c7a308ce7c2f4b6c3be60b5cbfa ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 0ef84a2861..23b3f5b0cd 100644
+index e06cc433c7..2d49ea011b 100644
@@ -26 +27 @@
-@@ -1177,6 +1177,6 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev, void *init_params __rte_unused)
+@@ -1155,6 +1155,6 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev, void *init_params __rte_unused)
@@ -35 +36 @@
-@@ -2539,4 +2539,37 @@ ixgbe_set_vf_rate_limit(struct rte_eth_dev *dev, uint16_t vf,
+@@ -2574,4 +2574,37 @@ ixgbe_set_vf_rate_limit(struct rte_eth_dev *dev, uint16_t vf,
@@ -73 +74 @@
-@@ -2665,4 +2698,10 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
+@@ -2710,4 +2743,10 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
@@ -84,2 +85 @@
-@@ -2901,4 +2940,6 @@ ixgbe_dev_stop(struct rte_eth_dev *dev)
- 	adapter->rss_reta_updated = 0;
+@@ -2926,4 +2965,6 @@ ixgbe_dev_stop(struct rte_eth_dev *dev)
@@ -87 +87 @@
-+	adapter->mac_ctrl_frame_fwd = 0;
+ 	adapter->rss_reta_updated = 0;
@@ -89 +89 @@
- 	hw->adapter_stopped = true;
++	adapter->mac_ctrl_frame_fwd = 0;
@@ -91 +91,2 @@
-@@ -4719,8 +4760,8 @@ ixgbe_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)
+ 
+@@ -4639,8 +4680,8 @@ ixgbe_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)
@@ -101 +102 @@
-@@ -4755,29 +4796,12 @@ ixgbe_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)
+@@ -4674,29 +4715,12 @@ ixgbe_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf)
@@ -138 +139 @@
-index 5089347a7e..b8df756575 100644
+index 752d7981e4..2177d37060 100644
@@ -141 +142 @@
-@@ -512,4 +512,5 @@ struct ixgbe_adapter {
+@@ -506,4 +506,5 @@ struct ixgbe_adapter {
@@ -145,2 +146,2 @@
- 	rte_atomic32_t link_thread_running;
- 	pthread_t link_thread_tid;
+ };
+ 


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

* [dpdk-stable] patch 'net/vhost: allocate interface name from heap' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
                   ` (5 preceding siblings ...)
  2020-02-27 17:37 ` [dpdk-stable] patch 'net/ixgbe: fix flow control mode setting' " Kevin Traynor
@ 2020-02-27 17:37 ` Kevin Traynor
  2020-02-27 17:38 ` [dpdk-stable] patch 'net/vhost: fix probing in secondary process' " Kevin Traynor
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:37 UTC (permalink / raw)
  To: Itsuro Oda; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/68a347bf099a80eb7e4e4ddc756c6e8d89440f02

Thanks.

Kevin.

---
From 68a347bf099a80eb7e4e4ddc756c6e8d89440f02 Mon Sep 17 00:00:00 2001
From: Itsuro Oda <oda@valinux.co.jp>
Date: Thu, 6 Feb 2020 10:39:33 +0900
Subject: [PATCH] net/vhost: allocate interface name from heap

[ upstream commit e045e858444349323cb02e0951cd977d4a0edd0d ]

This patch allocates iface_name of pmd_internal from heap
in order to be able to refer from secondary processes.

Fixes: 4852aa8f6e21 ("drivers/net: enable hotplug on secondary process")

Signed-off-by: Itsuro Oda <oda@valinux.co.jp>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/net/vhost/rte_eth_vhost.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index 47d0102e0e..45e9d5cae4 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -1006,5 +1006,5 @@ eth_dev_close(struct rte_eth_dev *dev)
 
 	free(internal->dev_name);
-	free(internal->iface_name);
+	rte_free(internal->iface_name);
 	rte_free(internal);
 
@@ -1247,7 +1247,9 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
 	if (internal->dev_name == NULL)
 		goto error;
-	internal->iface_name = strdup(iface_name);
+	internal->iface_name = rte_malloc_socket(name, strlen(iface_name) + 1,
+						 0, numa_node);
 	if (internal->iface_name == NULL)
 		goto error;
+	strcpy(internal->iface_name, iface_name);
 
 	list->eth_dev = eth_dev;
@@ -1291,5 +1293,5 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
 error:
 	if (internal) {
-		free(internal->iface_name);
+		rte_free(internal->iface_name);
 		free(internal->dev_name);
 	}
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:24.144104345 +0000
+++ 0008-net-vhost-allocate-interface-name-from-heap.patch	2020-02-27 17:26:23.643831243 +0000
@@ -1 +1 @@
-From e045e858444349323cb02e0951cd977d4a0edd0d Mon Sep 17 00:00:00 2001
+From 68a347bf099a80eb7e4e4ddc756c6e8d89440f02 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e045e858444349323cb02e0951cd977d4a0edd0d ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index a63588986f..cea2ead2da 100644
+index 47d0102e0e..45e9d5cae4 100644
@@ -22 +23 @@
-@@ -1010,5 +1010,5 @@ eth_dev_close(struct rte_eth_dev *dev)
+@@ -1006,5 +1006,5 @@ eth_dev_close(struct rte_eth_dev *dev)
@@ -29 +30 @@
-@@ -1257,7 +1257,9 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
+@@ -1247,7 +1247,9 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
@@ -40 +41 @@
-@@ -1307,5 +1309,5 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
+@@ -1291,5 +1293,5 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,


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

* [dpdk-stable] patch 'net/vhost: fix probing in secondary process' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
                   ` (6 preceding siblings ...)
  2020-02-27 17:37 ` [dpdk-stable] patch 'net/vhost: allocate interface name from heap' " Kevin Traynor
@ 2020-02-27 17:38 ` Kevin Traynor
  2020-02-27 17:38 ` [dpdk-stable] patch 'net/mlx5: fix L3 VXLAN RSS expansion' " Kevin Traynor
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:38 UTC (permalink / raw)
  To: Itsuro Oda; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/8fc008aa3fb1c1ace132bf0776ebf9735ff8a3a1

Thanks.

Kevin.

---
From 8fc008aa3fb1c1ace132bf0776ebf9735ff8a3a1 Mon Sep 17 00:00:00 2001
From: Itsuro Oda <oda@valinux.co.jp>
Date: Thu, 6 Feb 2020 10:39:35 +0900
Subject: [PATCH] net/vhost: fix probing in secondary process

[ upstream commit 75ad5aadbd64fa89d35fa4a38d54e10cdd8e838e ]

This patch adds lacking member setting and makes secondary
probe complete.

Fixes: 4852aa8f6e21 ("drivers/net: enable hotplug on secondary process")

Signed-off-by: Itsuro Oda <oda@valinux.co.jp>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/net/vhost/rte_eth_vhost.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index 45e9d5cae4..52b9e0c102 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -1354,6 +1354,9 @@ rte_pmd_vhost_probe(struct rte_vdev_device *dev)
 			return -1;
 		}
-		/* TODO: request info from primary to set up Rx and Tx */
+		eth_dev->rx_pkt_burst = eth_vhost_rx;
+		eth_dev->tx_pkt_burst = eth_vhost_tx;
 		eth_dev->dev_ops = &ops;
+		if (dev->device.numa_node == SOCKET_ID_ANY)
+			dev->device.numa_node = rte_socket_id();
 		eth_dev->device = &dev->device;
 		rte_eth_dev_probing_finish(eth_dev);
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:24.195379370 +0000
+++ 0009-net-vhost-fix-probing-in-secondary-process.patch	2020-02-27 17:26:23.646831181 +0000
@@ -1 +1 @@
-From 75ad5aadbd64fa89d35fa4a38d54e10cdd8e838e Mon Sep 17 00:00:00 2001
+From 8fc008aa3fb1c1ace132bf0776ebf9735ff8a3a1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 75ad5aadbd64fa89d35fa4a38d54e10cdd8e838e ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index d7bba5c6e2..307de2c682 100644
+index 45e9d5cae4..52b9e0c102 100644
@@ -22 +23 @@
-@@ -1398,6 +1398,9 @@ rte_pmd_vhost_probe(struct rte_vdev_device *dev)
+@@ -1354,6 +1354,9 @@ rte_pmd_vhost_probe(struct rte_vdev_device *dev)


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

* [dpdk-stable] patch 'net/mlx5: fix L3 VXLAN RSS expansion' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
                   ` (7 preceding siblings ...)
  2020-02-27 17:38 ` [dpdk-stable] patch 'net/vhost: fix probing in secondary process' " Kevin Traynor
@ 2020-02-27 17:38 ` Kevin Traynor
  2020-02-27 17:38 ` [dpdk-stable] patch 'net/sfc: fix log format specifiers' " Kevin Traynor
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:38 UTC (permalink / raw)
  To: Matan Azrad; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/a9151f2984adcc680e842cc41e34885d3dc8cbee

Thanks.

Kevin.

---
From a9151f2984adcc680e842cc41e34885d3dc8cbee Mon Sep 17 00:00:00 2001
From: Matan Azrad <matan@mellanox.com>
Date: Wed, 19 Feb 2020 08:29:36 +0000
Subject: [PATCH] net/mlx5: fix L3 VXLAN RSS expansion

[ upstream commit cd04052475995caffc1d59a199260b86f32242cc ]

The RSS expansion feature was introduced to split RSS flows according to
the adjustment between the RSS types and the flow items.

The expansion function gets an item tree for the above adjustment from
the caller which reflects the HW needs.

The standard vxlan header next protocol is always Ethernet while there
are some Mellanox customers who use their own method to allow L3
headers after the vxlan tunnel header.

The expansion tree of mlx5 PMD didn't expect to get L3 headers after the
vxlan header what caused a failure in flow creation when inner RSS is
requested on L3 after vxlan flow.

Add IPV4 and IPV6 as optional headers after vxlan in the RSS expansion
tree to allow L3 tunnel support for vxlan.

Fixes: f4f06e361516 ("net/mlx5: add flow VXLAN item")

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 28a29d0ebd..7f518fcd26 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -164,5 +164,7 @@ static const struct rte_flow_expand_node mlx5_support_expansion[] = {
 	},
 	[MLX5_EXPANSION_VXLAN] = {
-		.next = RTE_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH),
+		.next = RTE_FLOW_EXPAND_RSS_NEXT(MLX5_EXPANSION_ETH,
+						 MLX5_EXPANSION_IPV4,
+						 MLX5_EXPANSION_IPV6),
 		.type = RTE_FLOW_ITEM_TYPE_VXLAN,
 	},
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:24.255550829 +0000
+++ 0010-net-mlx5-fix-L3-VXLAN-RSS-expansion.patch	2020-02-27 17:26:23.650831098 +0000
@@ -1 +1 @@
-From cd04052475995caffc1d59a199260b86f32242cc Mon Sep 17 00:00:00 2001
+From a9151f2984adcc680e842cc41e34885d3dc8cbee Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cd04052475995caffc1d59a199260b86f32242cc ]
+
@@ -24 +25,0 @@
-Cc: stable@dpdk.org
@@ -33 +34 @@
-index eb6bd274e5..ce5adede30 100644
+index 28a29d0ebd..7f518fcd26 100644
@@ -36 +37 @@
-@@ -168,5 +168,7 @@ static const struct rte_flow_expand_node mlx5_support_expansion[] = {
+@@ -164,5 +164,7 @@ static const struct rte_flow_expand_node mlx5_support_expansion[] = {


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

* [dpdk-stable] patch 'net/sfc: fix log format specifiers' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
                   ` (8 preceding siblings ...)
  2020-02-27 17:38 ` [dpdk-stable] patch 'net/mlx5: fix L3 VXLAN RSS expansion' " Kevin Traynor
@ 2020-02-27 17:38 ` Kevin Traynor
  2020-02-27 17:38 ` [dpdk-stable] patch 'net/fm10k: fix non-x86 build' " Kevin Traynor
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:38 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/c3355d30cafe3494b8a3b437b4261572c041be7b

Thanks.

Kevin.

---
From c3355d30cafe3494b8a3b437b4261572c041be7b Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Wed, 19 Feb 2020 14:04:57 +0000
Subject: [PATCH] net/sfc: fix log format specifiers

[ upstream commit 6b9a30d9e93da9f6c167249ba4d79fd5470b7e17 ]

The format specifier for the 'size_t' format should be '%z'.

Also this fix enables compiling PMD for 32bit architecture.

Fixes: ba641f207642 ("net/sfc: add init on attach")
Fixes: 82faef507608 ("net/sfc: set RSS key and hash types config")
Fixes: 7803554a9e38 ("net/sfc: process RSS settings on Rx configure step")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 drivers/net/sfc/sfc.c        | 2 +-
 drivers/net/sfc/sfc_ethdev.c | 2 +-
 drivers/net/sfc/sfc_rx.c     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/sfc/sfc.c b/drivers/net/sfc/sfc.c
index 0d7311d687..d056d12164 100644
--- a/drivers/net/sfc/sfc.c
+++ b/drivers/net/sfc/sfc.c
@@ -31,5 +31,5 @@ sfc_dma_alloc(const struct sfc_adapter *sa, const char *name, uint16_t id,
 	const struct rte_memzone *mz;
 
-	sfc_log_init(sa, "name=%s id=%u len=%lu socket_id=%d",
+	sfc_log_init(sa, "name=%s id=%u len=%zu socket_id=%d",
 		     name, id, len, socket_id);
 
diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
index 8c7d224300..fa38417b7c 100644
--- a/drivers/net/sfc/sfc_ethdev.c
+++ b/drivers/net/sfc/sfc_ethdev.c
@@ -1461,5 +1461,5 @@ sfc_dev_rss_hash_update(struct rte_eth_dev *dev,
 	if ((rss_conf->rss_key != NULL) &&
 	    (rss_conf->rss_key_len != sizeof(rss->key))) {
-		sfc_err(sa, "RSS key size is wrong (should be %lu)",
+		sfc_err(sa, "RSS key size is wrong (should be %zu)",
 			sizeof(rss->key));
 		return -EINVAL;
diff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c
index 630f6b455a..960ab62c19 100644
--- a/drivers/net/sfc/sfc_rx.c
+++ b/drivers/net/sfc/sfc_rx.c
@@ -1323,5 +1323,5 @@ sfc_rx_process_adv_conf_rss(struct sfc_adapter *sa,
 	if (conf->rss_key != NULL) {
 		if (conf->rss_key_len != sizeof(rss->key)) {
-			sfc_err(sa, "RSS key size is wrong (should be %lu)",
+			sfc_err(sa, "RSS key size is wrong (should be %zu)",
 				sizeof(rss->key));
 			return EINVAL;
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:24.325565665 +0000
+++ 0011-net-sfc-fix-log-format-specifiers.patch	2020-02-27 17:26:23.658830932 +0000
@@ -1 +1 @@
-From 6b9a30d9e93da9f6c167249ba4d79fd5470b7e17 Mon Sep 17 00:00:00 2001
+From c3355d30cafe3494b8a3b437b4261572c041be7b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6b9a30d9e93da9f6c167249ba4d79fd5470b7e17 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 141c767f09..c6b514ac2f 100644
+index 0d7311d687..d056d12164 100644
@@ -35 +36 @@
-index 454b8956a2..098038fbc0 100644
+index 8c7d224300..fa38417b7c 100644
@@ -38 +39 @@
-@@ -1521,5 +1521,5 @@ sfc_dev_rss_hash_update(struct rte_eth_dev *dev,
+@@ -1461,5 +1461,5 @@ sfc_dev_rss_hash_update(struct rte_eth_dev *dev,
@@ -46 +47 @@
-index 74218296cd..7afd2c8b33 100644
+index 630f6b455a..960ab62c19 100644
@@ -49 +50 @@
-@@ -1404,5 +1404,5 @@ sfc_rx_process_adv_conf_rss(struct sfc_adapter *sa,
+@@ -1323,5 +1323,5 @@ sfc_rx_process_adv_conf_rss(struct sfc_adapter *sa,


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

* [dpdk-stable] patch 'net/fm10k: fix non-x86 build' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
                   ` (9 preceding siblings ...)
  2020-02-27 17:38 ` [dpdk-stable] patch 'net/sfc: fix log format specifiers' " Kevin Traynor
@ 2020-02-27 17:38 ` Kevin Traynor
  2020-02-27 17:38 ` [dpdk-stable] patch 'examples/tep_term: remove redundant info get' " Kevin Traynor
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:38 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Xiao Wang, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/1ad69246955323beb5f0a7e8ab84e72cf4a552c6

Thanks.

Kevin.

---
From 1ad69246955323beb5f0a7e8ab84e72cf4a552c6 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Wed, 19 Feb 2020 14:16:42 +0000
Subject: [PATCH] net/fm10k: fix non-x86 build

[ upstream commit b565280d45022292e566cf98f8ccf926d8048d2c ]

'fm10k_rxtx_vec.c' is SSE vector instructions implementation and should
be compiled only for x86.

The vector PMD support controlled by
'CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR' config option, but it is enabled by
default, safer to add x86 checks too.

Fixes: 10eb9ce8dccd ("fm10k: allow to disable vector driver")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Xiao Wang <xiao.w.wang@intel.com>
---
 drivers/net/fm10k/Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/fm10k/Makefile b/drivers/net/fm10k/Makefile
index d657dff8a1..24f3c0b453 100644
--- a/drivers/net/fm10k/Makefile
+++ b/drivers/net/fm10k/Makefile
@@ -75,5 +75,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_mbx.c
 SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_vf.c
 SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_api.c
+ifeq ($(CONFIG_RTE_ARCH_X86), y)
 SRCS-$(CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR) += fm10k_rxtx_vec.c
+endif
 
 include $(RTE_SDK)/mk/rte.lib.mk
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:24.400935277 +0000
+++ 0012-net-fm10k-fix-non-x86-build.patch	2020-02-27 17:26:23.659830911 +0000
@@ -1 +1 @@
-From b565280d45022292e566cf98f8ccf926d8048d2c Mon Sep 17 00:00:00 2001
+From 1ad69246955323beb5f0a7e8ab84e72cf4a552c6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b565280d45022292e566cf98f8ccf926d8048d2c ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 0271bcb15e..29e659da8a 100644
+index d657dff8a1..24f3c0b453 100644
@@ -26 +27 @@
-@@ -72,5 +72,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_mbx.c
+@@ -75,5 +75,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_mbx.c


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

* [dpdk-stable] patch 'examples/tep_term: remove redundant info get' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
                   ` (10 preceding siblings ...)
  2020-02-27 17:38 ` [dpdk-stable] patch 'net/fm10k: fix non-x86 build' " Kevin Traynor
@ 2020-02-27 17:38 ` Kevin Traynor
  2020-02-27 17:38 ` [dpdk-stable] patch 'app/testpmd: fix identifier size for port attach' " Kevin Traynor
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:38 UTC (permalink / raw)
  To: Xiaoyun Li; +Cc: Xiaolong Ye, David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/29355ff65d0e40efc5a0edf3cb19223091575296

Thanks.

Kevin.

---
From 29355ff65d0e40efc5a0edf3cb19223091575296 Mon Sep 17 00:00:00 2001
From: Xiaoyun Li <xiaoyun.li@intel.com>
Date: Mon, 17 Feb 2020 09:41:15 +0800
Subject: [PATCH] examples/tep_term: remove redundant info get

[ upstream commit d0e160a00233b00ba6d242d5fc054438caae6873 ]

Removed redundant function call of 'rte_eth_dev_info_get()' since it has
already been called earlier.

Coverity issue: 349922
Fixes: 2bb43bd4350a ("examples/tep_term: add TSO offload configuration")

Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
Acked-by: David Marchand <david.marchand@redhat.com>
---
 examples/tep_termination/vxlan_setup.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/examples/tep_termination/vxlan_setup.c b/examples/tep_termination/vxlan_setup.c
index ad7fbe9c61..5187a7d41f 100644
--- a/examples/tep_termination/vxlan_setup.c
+++ b/examples/tep_termination/vxlan_setup.c
@@ -191,6 +191,4 @@ vxlan_port_init(uint16_t port, struct rte_mempool *mbuf_pool)
 
 	if (tso_segsz != 0) {
-		struct rte_eth_dev_info dev_info;
-		rte_eth_dev_info_get(port, &dev_info);
 		if ((dev_info.tx_offload_capa & DEV_TX_OFFLOAD_TCP_TSO) == 0)
 			RTE_LOG(WARNING, PORT,
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:24.460908852 +0000
+++ 0013-examples-tep_term-remove-redundant-info-get.patch	2020-02-27 17:26:23.660830890 +0000
@@ -1 +1 @@
-From d0e160a00233b00ba6d242d5fc054438caae6873 Mon Sep 17 00:00:00 2001
+From 29355ff65d0e40efc5a0edf3cb19223091575296 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d0e160a00233b00ba6d242d5fc054438caae6873 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index eca119a728..4b44ccc143 100644
+index ad7fbe9c61..5187a7d41f 100644
@@ -24 +25 @@
-@@ -195,6 +195,4 @@ vxlan_port_init(uint16_t port, struct rte_mempool *mbuf_pool)
+@@ -191,6 +191,4 @@ vxlan_port_init(uint16_t port, struct rte_mempool *mbuf_pool)


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

* [dpdk-stable] patch 'app/testpmd: fix identifier size for port attach' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
                   ` (11 preceding siblings ...)
  2020-02-27 17:38 ` [dpdk-stable] patch 'examples/tep_term: remove redundant info get' " Kevin Traynor
@ 2020-02-27 17:38 ` Kevin Traynor
  2020-02-27 17:38 ` [dpdk-stable] patch 'net/mlx5: fix match on ethertype and CVLAN tag' " Kevin Traynor
  2020-02-27 17:38 ` [dpdk-stable] patch 'doc: fix multi-producer enqueue figure in ring guide' " Kevin Traynor
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:38 UTC (permalink / raw)
  To: Wisam Jaddo; +Cc: Bernard Iremonger, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/7c18f03d0856719b3d80cc81812b7af28b5f6b66

Thanks.

Kevin.

---
From 7c18f03d0856719b3d80cc81812b7af28b5f6b66 Mon Sep 17 00:00:00 2001
From: Wisam Jaddo <wisamm@mellanox.com>
Date: Wed, 19 Feb 2020 18:47:30 +0200
Subject: [PATCH] app/testpmd: fix identifier size for port attach

[ upstream commit f1cfa5687f2c7641e89cba60d1c2fb774e591cc7 ]

Identifier for new port may contain white list options,
and white list options will not fit into 128 from STR_TOKEN_SIZE,
instead having 4096 char from STR_MULTI_TOKEN_SIZE will provide
better and more options

Fixes: edab33b1c01d ("app/testpmd: support port hotplug")

Signed-off-by: Wisam Jaddo <wisamm@mellanox.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 app/test-pmd/cmdline.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 27ce5d1880..26295130c5 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -1411,5 +1411,5 @@ struct cmd_operate_attach_port_result {
 	cmdline_fixed_string_t port;
 	cmdline_fixed_string_t keyword;
-	cmdline_fixed_string_t identifier;
+	cmdline_multi_string_t identifier;
 };
 
@@ -1434,5 +1434,5 @@ cmdline_parse_token_string_t cmd_operate_attach_port_keyword =
 cmdline_parse_token_string_t cmd_operate_attach_port_identifier =
 	TOKEN_STRING_INITIALIZER(struct cmd_operate_attach_port_result,
-			identifier, NULL);
+			identifier, TOKEN_STRING_MULTI);
 
 cmdline_parse_inst_t cmd_operate_attach_port = {
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:24.532231997 +0000
+++ 0014-app-testpmd-fix-identifier-size-for-port-attach.patch	2020-02-27 17:26:23.685830371 +0000
@@ -1 +1 @@
-From f1cfa5687f2c7641e89cba60d1c2fb774e591cc7 Mon Sep 17 00:00:00 2001
+From 7c18f03d0856719b3d80cc81812b7af28b5f6b66 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f1cfa5687f2c7641e89cba60d1c2fb774e591cc7 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 38b6d804c6..a037a55c6a 100644
+index 27ce5d1880..26295130c5 100644
@@ -24 +25 @@
-@@ -1447,5 +1447,5 @@ struct cmd_operate_attach_port_result {
+@@ -1411,5 +1411,5 @@ struct cmd_operate_attach_port_result {
@@ -31 +32 @@
-@@ -1470,5 +1470,5 @@ cmdline_parse_token_string_t cmd_operate_attach_port_keyword =
+@@ -1434,5 +1434,5 @@ cmdline_parse_token_string_t cmd_operate_attach_port_keyword =


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

* [dpdk-stable] patch 'net/mlx5: fix match on ethertype and CVLAN tag' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
                   ` (12 preceding siblings ...)
  2020-02-27 17:38 ` [dpdk-stable] patch 'app/testpmd: fix identifier size for port attach' " Kevin Traynor
@ 2020-02-27 17:38 ` Kevin Traynor
  2020-02-27 17:38 ` [dpdk-stable] patch 'doc: fix multi-producer enqueue figure in ring guide' " Kevin Traynor
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:38 UTC (permalink / raw)
  To: Dekel Peled; +Cc: Matan Azrad, Raslan Darawsheh, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/b55eb609d7cb2a7c2dd0951c9b341847252ef77f

Thanks.

Kevin.

---
From b55eb609d7cb2a7c2dd0951c9b341847252ef77f Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Thu, 20 Feb 2020 13:33:25 +0200
Subject: [PATCH] net/mlx5: fix match on ethertype and CVLAN tag

[ upstream commit 797329d6c4a1d054a6fce38c960811cb7878283d ]

HW supports match on one Ethertype, the Ethertype following the last
VLAN tag of the packet (see PRM).
Previous patch added specific handling for packets with VLAN tag,
after setting match on Ethertype.

This patch moves the handling of packets with VLAN tag, to be done
before and instead of setting match on Ethertype.

Previous patch also added, as part of specific handling for packets
with VLAN tag, the setting of cvlan_tag mask bit in translation of
L3 items.
In case of L3 tunnel there is no inner L2 header, so setting this
mask bit is wrong and causes match failures.

This patch adds check to make sure L2 header exists before setting
cvlan_tag mask bit for L3 items.

Fixes: 00f75a40576b ("net/mlx5: fix VLAN match for DV mode")

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
Tested-by: Raslan Darawsheh <rasland@mellanox.com>
---
 drivers/net/mlx5/mlx5_flow_dv.c | 44 ++++++++++++++++++++++++++-------
 1 file changed, 35 insertions(+), 9 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index bc24c7cd56..18b37b7f6e 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -1185,8 +1185,4 @@ flow_dv_translate_item_eth(void *matcher, void *key,
 	for (i = 0; i < sizeof(eth_m->dst); ++i)
 		l24_v[i] = eth_m->src.addr_bytes[i] & eth_v->src.addr_bytes[i];
-	MLX5_SET(fte_match_set_lyr_2_4, headers_m, ethertype,
-		 rte_be_to_cpu_16(eth_m->type));
-	l24_v = MLX5_ADDR_OF(fte_match_set_lyr_2_4, headers_v, ethertype);
-	*(uint16_t *)(l24_v) = eth_m->type & eth_v->type;
 	if (eth_v->type) {
 		/* When ethertype is present set mask for tagged VLAN. */
@@ -1194,8 +1190,20 @@ flow_dv_translate_item_eth(void *matcher, void *key,
 		/* Set value for tagged VLAN if ethertype is 802.1Q. */
 		if (eth_v->type == RTE_BE16(ETHER_TYPE_VLAN) ||
-		    eth_v->type == RTE_BE16(ETHER_TYPE_QINQ))
+		    eth_v->type == RTE_BE16(ETHER_TYPE_QINQ)) {
 			MLX5_SET(fte_match_set_lyr_2_4, headers_v, cvlan_tag,
 				 1);
+			/* Return here to avoid setting match on ethertype. */
+			return;
+		}
 	}
+	/*
+	 * HW supports match on one Ethertype, the Ethertype following the last
+	 * VLAN tag of the packet (see PRM).
+	 * Set match on ethertype only if ETH header is not followed by VLAN.
+	 */
+	MLX5_SET(fte_match_set_lyr_2_4, headers_m, ethertype,
+		 rte_be_to_cpu_16(eth_m->type));
+	l24_v = MLX5_ADDR_OF(fte_match_set_lyr_2_4, headers_v, ethertype);
+	*(uint16_t *)(l24_v) = eth_m->type & eth_v->type;
 }
 
@@ -1262,4 +1270,6 @@ flow_dv_translate_item_vlan(void *matcher, void *key,
  * @param[in] item
  *   Flow pattern to translate.
+ * @param[in] item_flags
+ *   Bit-fields that holds the items detected until now.
  * @param[in] inner
  *   Item is inner pattern.
@@ -1268,4 +1278,5 @@ static void
 flow_dv_translate_item_ipv4(void *matcher, void *key,
 			    const struct rte_flow_item *item,
+			    const uint64_t item_flags,
 			    int inner)
 {
@@ -1324,5 +1335,10 @@ flow_dv_translate_item_ipv4(void *matcher, void *key,
 	MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol,
 		 ipv4_v->hdr.next_proto_id & ipv4_m->hdr.next_proto_id);
-	MLX5_SET(fte_match_set_lyr_2_4, headers_m, cvlan_tag, 1);
+	/*
+	 * On outer header (which must contains L2), or inner header with L2,
+	 * set cvlan_tag mask bit to mark this packet as untagged.
+	 */
+	if (!inner || item_flags & MLX5_FLOW_LAYER_INNER_L2)
+		MLX5_SET(fte_match_set_lyr_2_4, headers_m, cvlan_tag, 1);
 }
 
@@ -1336,4 +1352,6 @@ flow_dv_translate_item_ipv4(void *matcher, void *key,
  * @param[in] item
  *   Flow pattern to translate.
+ * @param[in] item_flags
+ *   Bit-fields that holds the items detected until now.
  * @param[in] inner
  *   Item is inner pattern.
@@ -1342,4 +1360,5 @@ static void
 flow_dv_translate_item_ipv6(void *matcher, void *key,
 			    const struct rte_flow_item *item,
+			    const uint64_t item_flags,
 			    int inner)
 {
@@ -1424,5 +1443,10 @@ flow_dv_translate_item_ipv6(void *matcher, void *key,
 	MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol,
 		 ipv6_v->hdr.proto & ipv6_m->hdr.proto);
-	MLX5_SET(fte_match_set_lyr_2_4, headers_m, cvlan_tag, 1);
+	/*
+	 * On outer header (which must contains L2), or inner header with L2,
+	 * set cvlan_tag mask bit to mark this packet as untagged.
+	 */
+	if (!inner || item_flags & MLX5_FLOW_LAYER_INNER_L2)
+		MLX5_SET(fte_match_set_lyr_2_4, headers_m, cvlan_tag, 1);
 }
 
@@ -2170,5 +2194,6 @@ flow_dv_translate(struct rte_eth_dev *dev,
 		case RTE_FLOW_ITEM_TYPE_IPV4:
 			flow_dv_translate_item_ipv4(match_mask, match_value,
-						    items, tunnel);
+						    items, item_flags,
+						    tunnel);
 			matcher.priority = MLX5_PRIORITY_MAP_L3;
 			dev_flow->dv.hash_fields |=
@@ -2182,5 +2207,6 @@ flow_dv_translate(struct rte_eth_dev *dev,
 		case RTE_FLOW_ITEM_TYPE_IPV6:
 			flow_dv_translate_item_ipv6(match_mask, match_value,
-						    items, tunnel);
+						    items, item_flags,
+						    tunnel);
 			matcher.priority = MLX5_PRIORITY_MAP_L3;
 			dev_flow->dv.hash_fields |=
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:24.609380356 +0000
+++ 0015-net-mlx5-fix-match-on-ethertype-and-CVLAN-tag.patch	2020-02-27 17:26:23.689830288 +0000
@@ -1 +1 @@
-From 797329d6c4a1d054a6fce38c960811cb7878283d Mon Sep 17 00:00:00 2001
+From b55eb609d7cb2a7c2dd0951c9b341847252ef77f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 797329d6c4a1d054a6fce38c960811cb7878283d ]
+
@@ -24 +25,0 @@
-Cc: stable@dpdk.org
@@ -30,2 +31,2 @@
- drivers/net/mlx5/mlx5_flow_dv.c | 42 ++++++++++++++++++++++++++-------
- 1 file changed, 33 insertions(+), 9 deletions(-)
+ drivers/net/mlx5/mlx5_flow_dv.c | 44 ++++++++++++++++++++++++++-------
+ 1 file changed, 35 insertions(+), 9 deletions(-)
@@ -34 +35 @@
-index 3c6d90e349..06592b5340 100644
+index bc24c7cd56..18b37b7f6e 100644
@@ -37 +38 @@
-@@ -5307,8 +5307,4 @@ flow_dv_translate_item_eth(void *matcher, void *key,
+@@ -1185,8 +1185,4 @@ flow_dv_translate_item_eth(void *matcher, void *key,
@@ -46 +47 @@
-@@ -5316,8 +5312,20 @@ flow_dv_translate_item_eth(void *matcher, void *key,
+@@ -1194,8 +1190,20 @@ flow_dv_translate_item_eth(void *matcher, void *key,
@@ -48,3 +49,3 @@
- 		if (eth_v->type == RTE_BE16(RTE_ETHER_TYPE_VLAN) ||
--		    eth_v->type == RTE_BE16(RTE_ETHER_TYPE_QINQ))
-+		    eth_v->type == RTE_BE16(RTE_ETHER_TYPE_QINQ)) {
+ 		if (eth_v->type == RTE_BE16(ETHER_TYPE_VLAN) ||
+-		    eth_v->type == RTE_BE16(ETHER_TYPE_QINQ))
++		    eth_v->type == RTE_BE16(ETHER_TYPE_QINQ)) {
@@ -68 +69 @@
-@@ -5393,4 +5401,6 @@ flow_dv_translate_item_vlan(struct mlx5_flow *dev_flow,
+@@ -1262,4 +1270,6 @@ flow_dv_translate_item_vlan(void *matcher, void *key,
@@ -75 +76 @@
-@@ -5401,4 +5411,5 @@ static void
+@@ -1268,4 +1278,5 @@ static void
@@ -79 +80 @@
- 			    int inner, uint32_t group)
+ 			    int inner)
@@ -81 +82 @@
-@@ -5460,5 +5471,10 @@ flow_dv_translate_item_ipv4(void *matcher, void *key,
+@@ -1324,5 +1335,10 @@ flow_dv_translate_item_ipv4(void *matcher, void *key,
@@ -93 +94 @@
-@@ -5472,4 +5488,6 @@ flow_dv_translate_item_ipv4(void *matcher, void *key,
+@@ -1336,4 +1352,6 @@ flow_dv_translate_item_ipv4(void *matcher, void *key,
@@ -100 +101 @@
-@@ -5480,4 +5498,5 @@ static void
+@@ -1342,4 +1360,5 @@ static void
@@ -104 +105 @@
- 			    int inner, uint32_t group)
+ 			    int inner)
@@ -106 +107 @@
-@@ -5565,5 +5584,10 @@ flow_dv_translate_item_ipv6(void *matcher, void *key,
+@@ -1424,5 +1443,10 @@ flow_dv_translate_item_ipv6(void *matcher, void *key,
@@ -118,2 +119,2 @@
-@@ -7672,5 +7696,5 @@ cnt_err:
- 						  &item_flags, &tunnel);
+@@ -2170,5 +2194,6 @@ flow_dv_translate(struct rte_eth_dev *dev,
+ 		case RTE_FLOW_ITEM_TYPE_IPV4:
@@ -121,3 +122,3 @@
--						    items, tunnel,
-+						    items, item_flags, tunnel,
- 						    dev_flow->group);
+-						    items, tunnel);
++						    items, item_flags,
++						    tunnel);
@@ -125,2 +126,3 @@
-@@ -7695,5 +7719,5 @@ cnt_err:
- 						  &item_flags, &tunnel);
+ 			dev_flow->dv.hash_fields |=
+@@ -2182,5 +2207,6 @@ flow_dv_translate(struct rte_eth_dev *dev,
+ 		case RTE_FLOW_ITEM_TYPE_IPV6:
@@ -128,3 +130,3 @@
--						    items, tunnel,
-+						    items, item_flags, tunnel,
- 						    dev_flow->group);
+-						    items, tunnel);
++						    items, item_flags,
++						    tunnel);
@@ -131,0 +134 @@
+ 			dev_flow->dv.hash_fields |=


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

* [dpdk-stable] patch 'doc: fix multi-producer enqueue figure in ring guide' has been queued to LTS release 18.11.7
  2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
                   ` (13 preceding siblings ...)
  2020-02-27 17:38 ` [dpdk-stable] patch 'net/mlx5: fix match on ethertype and CVLAN tag' " Kevin Traynor
@ 2020-02-27 17:38 ` Kevin Traynor
  14 siblings, 0 replies; 16+ messages in thread
From: Kevin Traynor @ 2020-02-27 17:38 UTC (permalink / raw)
  To: Prateek Agarwal; +Cc: Honnappa Nagarahalli, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.7

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

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/1050ff089a94229165996c618fff440dfcc3d4c7

Thanks.

Kevin.

---
From 1050ff089a94229165996c618fff440dfcc3d4c7 Mon Sep 17 00:00:00 2001
From: Prateek Agarwal <prateekag@cse.iitb.ac.in>
Date: Wed, 19 Feb 2020 15:05:30 -0600
Subject: [PATCH] doc: fix multi-producer enqueue figure in ring guide

[ upstream commit fa00525b9a546e166cca31f49f2512187ebe0db2 ]

The producer head pointer in multi producer enqueue fig.6.10
points to incorrect object in the ring array.

Fixes: fc1f2750a3ec ("doc: programmers guide")

Signed-off-by: Prateek Agarwal <prateekag@cse.iitb.ac.in>
Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
---
 .../prog_guide/img/ring-mp-enqueue3.svg       | 193 +++++++++---------
 1 file changed, 99 insertions(+), 94 deletions(-)

diff --git a/doc/guides/prog_guide/img/ring-mp-enqueue3.svg b/doc/guides/prog_guide/img/ring-mp-enqueue3.svg
index da483b031e..83ef7dba13 100644
--- a/doc/guides/prog_guide/img/ring-mp-enqueue3.svg
+++ b/doc/guides/prog_guide/img/ring-mp-enqueue3.svg
@@ -17,5 +17,5 @@
    id="svg3388"
    version="1.1"
-   inkscape:version="0.48.4 r9939"
+   inkscape:version="0.92.4 (f8dce91, 2019-08-02)"
    sodipodi:docname="ring-mp-enqueue3.svg">
   <defs
@@ -360,13 +360,13 @@
      inkscape:zoom="1.4"
      inkscape:cx="201.35119"
-     inkscape:cy="221.79811"
+     inkscape:cy="107.5124"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="false"
-     inkscape:window-width="958"
-     inkscape:window-height="1002"
-     inkscape:window-x="223"
-     inkscape:window-y="22"
-     inkscape:window-maximized="0"
+     inkscape:window-width="1313"
+     inkscape:window-height="713"
+     inkscape:window-x="53"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
      inkscape:snap-grids="false"
      inkscape:snap-to-guides="true"
@@ -383,6 +383,8 @@
        enabled="true"
        snapvisiblegridlinesonly="true"
-       originx="-162.97143px"
-       originy="-370.03525px" />
+       originx="-162.97143"
+       originy="-370.03525"
+       spacingx="1"
+       spacingy="1" />
   </sodipodi:namedview>
   <metadata
@@ -394,5 +396,5 @@
         <dc:type
            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title />
+        <dc:title></dc:title>
       </cc:Work>
     </rdf:RDF>
@@ -491,35 +493,35 @@
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="313.90488"
        y="495.49646"
-       id="text4269"
-       sodipodi:linespacing="125%"><tspan
+       id="text4269"><tspan
          sodipodi:role="line"
          id="tspan4271"
          x="313.90488"
-         y="495.49646">obj1</tspan></text>
+         y="495.49646"
+         style="font-size:14px;line-height:1.25">obj1</tspan></text>
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="368.95203"
        y="495.49646"
-       id="text4269-4"
-       sodipodi:linespacing="125%"><tspan
+       id="text4269-4"><tspan
          sodipodi:role="line"
          id="tspan4271-5"
          x="368.95203"
-         y="495.49646">obj2</tspan></text>
+         y="495.49646"
+         style="font-size:14px;line-height:1.25">obj2</tspan></text>
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="422.99518"
        y="495.49646"
-       id="text4269-5"
-       sodipodi:linespacing="125%"><tspan
+       id="text4269-5"><tspan
          sodipodi:role="line"
          id="tspan4271-4"
          x="422.99518"
-         y="495.49646">obj3</tspan></text>
+         y="495.49646"
+         style="font-size:14px;line-height:1.25">obj3</tspan></text>
     <path
        style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
@@ -534,46 +536,46 @@
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="289.85715"
        y="589.505"
-       id="text4787"
-       sodipodi:linespacing="125%"><tspan
+       id="text4787"><tspan
          sodipodi:role="line"
          id="tspan4789"
          x="289.85715"
-         y="589.505">cons_head</tspan></text>
+         y="589.505"
+         style="font-size:14px;line-height:1.25">cons_head</tspan></text>
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="293.45334"
        y="603.41034"
-       id="text4787-3"
-       sodipodi:linespacing="125%"><tspan
+       id="text4787-3"><tspan
          sodipodi:role="line"
          id="tspan4789-0"
          x="293.45334"
-         y="603.41034">cons_tail</tspan></text>
+         y="603.41034"
+         style="font-size:14px;line-height:1.25">cons_tail</tspan></text>
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
-       x="527.01239"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
+       x="567.01239"
        y="587.9577"
-       id="text4787-7"
-       sodipodi:linespacing="125%"><tspan
+       id="text4787-7"><tspan
          sodipodi:role="line"
          id="tspan4789-8"
-         x="527.01239"
-         y="587.9577">prod_head</tspan></text>
+         x="567.01239"
+         y="587.9577"
+         style="font-size:14px;line-height:1.25">prod_head</tspan></text>
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="460.7514"
        y="602.57739"
-       id="text4787-3-6"
-       sodipodi:linespacing="125%"><tspan
+       id="text4787-3-6"><tspan
          sodipodi:role="line"
          id="tspan4789-0-8"
          x="460.7514"
-         y="602.57739">prod_tail</tspan></text>
+         y="602.57739"
+         style="font-size:14px;line-height:1.25">prod_tail</tspan></text>
     <rect
        style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0;font-family:Arial;-inkscape-font-specification:Arial"
@@ -587,17 +589,18 @@
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="174.28571"
        y="328.93362"
-       id="text4891"
-       sodipodi:linespacing="125%"><tspan
+       id="text4891"><tspan
          sodipodi:role="line"
          id="tspan4893"
          x="174.28571"
-         y="328.93362">local variables</tspan><tspan
+         y="328.93362"
+         style="font-size:14px;line-height:1.25">local variables</tspan><tspan
          sodipodi:role="line"
          x="174.28571"
          y="346.43362"
-         id="tspan4150">core 2</tspan></text>
+         id="tspan4150"
+         style="font-size:14px;line-height:1.25">core 2</tspan></text>
     <rect
        style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1, 1;stroke-dashoffset:0;font-family:Arial;-inkscape-font-specification:Arial"
@@ -611,13 +614,13 @@
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="170.89287"
-       y="682.09021"
-       id="text4891-4"
-       sodipodi:linespacing="125%"><tspan
+       y="664.09021"
+       id="text4891-4"><tspan
          sodipodi:role="line"
          id="tspan4893-3"
          x="170.89287"
-         y="682.09021">structure state</tspan></text>
+         y="664.09021"
+         style="font-size:14px;line-height:1.25">structure state</tspan></text>
     <path
        style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
@@ -632,35 +635,35 @@
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="296.992"
        y="401.48123"
-       id="text4787-3-64"
-       sodipodi:linespacing="125%"><tspan
+       id="text4787-3-64"><tspan
          sodipodi:role="line"
          id="tspan4789-0-9"
          x="296.992"
-         y="401.48123">cons_tail</tspan></text>
+         y="401.48123"
+         style="font-size:14px;line-height:1.25">cons_tail</tspan></text>
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="440.26532"
        y="401.48123"
-       id="text4787-7-5"
-       sodipodi:linespacing="125%"><tspan
+       id="text4787-7-5"><tspan
          sodipodi:role="line"
          id="tspan4789-8-0"
          x="440.26532"
-         y="401.48123">prod_head</tspan></text>
+         y="401.48123"
+         style="font-size:14px;line-height:1.25">prod_head</tspan></text>
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="522.43298"
        y="401.48123"
-       id="text4787-3-6-4"
-       sodipodi:linespacing="125%"><tspan
+       id="text4787-3-6-4"><tspan
          sodipodi:role="line"
          id="tspan4789-0-8-8"
          x="522.43298"
-         y="401.48123">prod_next</tspan></text>
+         y="401.48123"
+         style="font-size:14px;line-height:1.25">prod_next</tspan></text>
     <path
        style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
@@ -679,17 +682,18 @@
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="174.65646"
        y="398.23306"
-       id="text4891-3"
-       sodipodi:linespacing="125%"><tspan
+       id="text4891-3"><tspan
          sodipodi:role="line"
          id="tspan4893-1"
          x="174.65646"
-         y="398.23306">local variables</tspan><tspan
+         y="398.23306"
+         style="font-size:14px;line-height:1.25">local variables</tspan><tspan
          sodipodi:role="line"
          x="174.65646"
          y="415.73306"
-         id="tspan4152">core 1</tspan></text>
+         id="tspan4152"
+         style="font-size:14px;line-height:1.25">core 1</tspan></text>
     <path
        style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
@@ -704,35 +708,35 @@
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="298.47"
        y="328.57767"
-       id="text4787-3-64-5"
-       sodipodi:linespacing="125%"><tspan
+       id="text4787-3-64-5"><tspan
          sodipodi:role="line"
          id="tspan4789-0-9-0"
          x="298.47"
-         y="328.57767">cons_tail</tspan></text>
+         y="328.57767"
+         style="font-size:14px;line-height:1.25">cons_tail</tspan></text>
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="489.02905"
        y="328.57767"
-       id="text4787-7-5-3"
-       sodipodi:linespacing="125%"><tspan
+       id="text4787-7-5-3"><tspan
          sodipodi:role="line"
          id="tspan4789-8-0-6"
          x="489.02905"
-         y="328.57767">prod_head</tspan></text>
+         y="328.57767"
+         style="font-size:14px;line-height:1.25">prod_head</tspan></text>
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="571.19672"
        y="328.57767"
-       id="text4787-3-6-4-1"
-       sodipodi:linespacing="125%"><tspan
+       id="text4787-3-6-4-1"><tspan
          sodipodi:role="line"
          id="tspan4789-0-8-8-0"
          x="571.19672"
-         y="328.57767">prod_next</tspan></text>
+         y="328.57767"
+         style="font-size:14px;line-height:1.25">prod_next</tspan></text>
     <path
        style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
@@ -742,44 +746,45 @@
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="447.85715"
        y="289.505"
-       id="text3320"
-       sodipodi:linespacing="125%"><tspan
+       id="text3320"><tspan
          sodipodi:role="line"
          id="tspan3322"
          x="447.85715"
-         y="289.505">compare and swap succeeds</tspan><tspan
+         y="289.505"
+         style="font-size:14px;line-height:1.25">compare and swap succeeds</tspan><tspan
          sodipodi:role="line"
          x="447.85715"
          y="307.005"
-         id="tspan3324">on core 2</tspan></text>
+         id="tspan3324"
+         style="font-size:14px;line-height:1.25">on core 2</tspan></text>
     <path
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend);font-family:Arial;-inkscape-font-specification:Arial"
-       d="m 542.85715,575.57647 0,-42.14286"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14px;line-height:125%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 602.85715,575.57647 V 533.43361"
        id="path4309-4-0"
        inkscape:connector-curvature="0" />
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="477.22983"
        y="495.49646"
-       id="text4269-5-5"
-       sodipodi:linespacing="125%"><tspan
+       id="text4269-5-5"><tspan
          sodipodi:role="line"
          id="tspan4271-4-5"
          x="477.22983"
-         y="495.49646">obj4</tspan></text>
+         y="495.49646"
+         style="font-size:14px;line-height:1.25">obj4</tspan></text>
     <text
        xml:space="preserve"
-       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:Arial;-inkscape-font-specification:Arial;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
        x="531.27301"
        y="496.00156"
-       id="text4269-5-7"
-       sodipodi:linespacing="125%"><tspan
+       id="text4269-5-7"><tspan
          sodipodi:role="line"
          id="tspan4271-4-6"
          x="531.27301"
-         y="496.00156">obj5</tspan></text>
+         y="496.00156"
+         style="font-size:14px;line-height:1.25">obj5</tspan></text>
   </g>
 </svg>
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-27 17:26:24.673064749 +0000
+++ 0016-doc-fix-multi-producer-enqueue-figure-in-ring-guide.patch	2020-02-27 17:26:23.690830267 +0000
@@ -1 +1 @@
-From fa00525b9a546e166cca31f49f2512187ebe0db2 Mon Sep 17 00:00:00 2001
+From 1050ff089a94229165996c618fff440dfcc3d4c7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fa00525b9a546e166cca31f49f2512187ebe0db2 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org


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

end of thread, other threads:[~2020-02-27 17:39 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-27 17:37 [dpdk-stable] patch 'examples/fips_validation: fix AES-GCM cipher length parsing' has been queued to LTS release 18.11.7 Kevin Traynor
2020-02-27 17:37 ` [dpdk-stable] patch 'examples/fips_validation: fix string token for CT length' " Kevin Traynor
2020-02-27 17:37 ` [dpdk-stable] patch 'net/qede: fix VF reload' " Kevin Traynor
2020-02-27 17:37 ` [dpdk-stable] patch 'net/qede: do not stop vport if not started' " Kevin Traynor
2020-02-27 17:37 ` [dpdk-stable] patch 'net/ixgbe: check for illegal Tx packets' " Kevin Traynor
2020-02-27 17:37 ` [dpdk-stable] patch 'net/mlx5: fix tunnel flow priority' " Kevin Traynor
2020-02-27 17:37 ` [dpdk-stable] patch 'net/ixgbe: fix flow control mode setting' " Kevin Traynor
2020-02-27 17:37 ` [dpdk-stable] patch 'net/vhost: allocate interface name from heap' " Kevin Traynor
2020-02-27 17:38 ` [dpdk-stable] patch 'net/vhost: fix probing in secondary process' " Kevin Traynor
2020-02-27 17:38 ` [dpdk-stable] patch 'net/mlx5: fix L3 VXLAN RSS expansion' " Kevin Traynor
2020-02-27 17:38 ` [dpdk-stable] patch 'net/sfc: fix log format specifiers' " Kevin Traynor
2020-02-27 17:38 ` [dpdk-stable] patch 'net/fm10k: fix non-x86 build' " Kevin Traynor
2020-02-27 17:38 ` [dpdk-stable] patch 'examples/tep_term: remove redundant info get' " Kevin Traynor
2020-02-27 17:38 ` [dpdk-stable] patch 'app/testpmd: fix identifier size for port attach' " Kevin Traynor
2020-02-27 17:38 ` [dpdk-stable] patch 'net/mlx5: fix match on ethertype and CVLAN tag' " Kevin Traynor
2020-02-27 17:38 ` [dpdk-stable] patch 'doc: fix multi-producer enqueue figure in ring guide' " Kevin Traynor

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