* [dpdk-stable] patch 'kni: fix segmented mbuf data overflow' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'crypto/dpaa2_sec: fix handling of session init failure' " Kevin Traynor
` (55 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Ferruh Yigit; +Cc: Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/8f00090d03437ad9583389f9782032d65e90eacc
Thanks.
Kevin Traynor
---
From 8f00090d03437ad9583389f9782032d65e90eacc Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Thu, 11 Jul 2019 13:35:07 +0100
Subject: [PATCH] kni: fix segmented mbuf data overflow
[ upstream commit 60d7debe922b14dcda96766fabbe7ad3f012800c ]
'kni_net_rx_lo_fifo()' can get segmented buffers, using 'pkt_len' for
that case will be wrong and some values can cause buffer overflow
in destination mbuf data.
Fixes: d89a58dfe90b ("kni: support chained mbufs")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
kernel/linux/kni/kni_net.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/linux/kni/kni_net.c b/kernel/linux/kni/kni_net.c
index 96dc93949..432d56a19 100644
--- a/kernel/linux/kni/kni_net.c
+++ b/kernel/linux/kni/kni_net.c
@@ -441,5 +441,5 @@ kni_net_rx_lo_fifo(struct kni_dev *kni)
for (i = 0; i < num; i++) {
kva = pa2kva(kni->pa[i]);
- len = kva->pkt_len;
+ len = kva->data_len;
data_kva = kva2data_kva(kva);
kni->va[i] = pa2va(kni->pa[i], kva);
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:31.898824263 +0100
+++ 0003-kni-fix-segmented-mbuf-data-overflow.patch 2019-08-28 14:32:31.580958720 +0100
@@ -1 +1 @@
-From 60d7debe922b14dcda96766fabbe7ad3f012800c Mon Sep 17 00:00:00 2001
+From 8f00090d03437ad9583389f9782032d65e90eacc Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 60d7debe922b14dcda96766fabbe7ad3f012800c ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index a736407e6..7bd3a9f1e 100644
+index 96dc93949..432d56a19 100644
@@ -23 +24 @@
-@@ -439,5 +439,5 @@ kni_net_rx_lo_fifo(struct kni_dev *kni)
+@@ -441,5 +441,5 @@ kni_net_rx_lo_fifo(struct kni_dev *kni)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'crypto/dpaa2_sec: fix handling of session init failure' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'kni: fix segmented mbuf data overflow' " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'mk: fix custom kernel directory name' " Kevin Traynor
` (54 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Hemant Agrawal; +Cc: Akhil Goyal, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/9e832db0f96f722ab085733f7c98abb179f2d11b
Thanks.
Kevin Traynor
---
From 9e832db0f96f722ab085733f7c98abb179f2d11b Mon Sep 17 00:00:00 2001
From: Hemant Agrawal <hemant.agrawal@nxp.com>
Date: Wed, 17 Jul 2019 21:52:42 +0530
Subject: [PATCH] crypto/dpaa2_sec: fix handling of session init failure
[ upstream commit c0ed103a027385f14f352d46ff5450826b2746b7 ]
The session init shall return failure if the internal
session create fails for any reasons.
Fixes: 13273250eec5 ("crypto/dpaa2_sec: support AES-GCM and CTR")
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
---
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index a7973cc04..ae06438d4 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
@@ -2194,4 +2194,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
{
dpaa2_sec_session *session = sess;
+ int ret;
PMD_INIT_FUNC_TRACE();
@@ -2209,5 +2210,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
if (xform->type == RTE_CRYPTO_SYM_XFORM_CIPHER && xform->next == NULL) {
session->ctxt_type = DPAA2_SEC_CIPHER;
- dpaa2_sec_cipher_init(dev, xform, session);
+ ret = dpaa2_sec_cipher_init(dev, xform, session);
/* Authentication Only */
@@ -2215,5 +2216,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
xform->next == NULL) {
session->ctxt_type = DPAA2_SEC_AUTH;
- dpaa2_sec_auth_init(dev, xform, session);
+ ret = dpaa2_sec_auth_init(dev, xform, session);
/* Cipher then Authenticate */
@@ -2221,5 +2222,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
xform->next->type == RTE_CRYPTO_SYM_XFORM_AUTH) {
session->ext_params.aead_ctxt.auth_cipher_text = true;
- dpaa2_sec_aead_chain_init(dev, xform, session);
+ ret = dpaa2_sec_aead_chain_init(dev, xform, session);
/* Authenticate then Cipher */
@@ -2227,10 +2228,10 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
xform->next->type == RTE_CRYPTO_SYM_XFORM_CIPHER) {
session->ext_params.aead_ctxt.auth_cipher_text = false;
- dpaa2_sec_aead_chain_init(dev, xform, session);
+ ret = dpaa2_sec_aead_chain_init(dev, xform, session);
/* AEAD operation for AES-GCM kind of Algorithms */
} else if (xform->type == RTE_CRYPTO_SYM_XFORM_AEAD &&
xform->next == NULL) {
- dpaa2_sec_aead_init(dev, xform, session);
+ ret = dpaa2_sec_aead_init(dev, xform, session);
} else {
@@ -2239,5 +2240,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
}
- return 0;
+ return ret;
}
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:31.957651850 +0100
+++ 0004-crypto-dpaa2_sec-fix-handling-of-session-init-failur.patch 2019-08-28 14:32:31.584958631 +0100
@@ -1 +1 @@
-From c0ed103a027385f14f352d46ff5450826b2746b7 Mon Sep 17 00:00:00 2001
+From 9e832db0f96f722ab085733f7c98abb179f2d11b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c0ed103a027385f14f352d46ff5450826b2746b7 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 0d273bb62..26458e5d1 100644
+index a7973cc04..ae06438d4 100644
@@ -22 +23 @@
-@@ -2166,4 +2166,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
+@@ -2194,4 +2194,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
@@ -28 +29 @@
-@@ -2181,5 +2182,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
+@@ -2209,5 +2210,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
@@ -35 +36 @@
-@@ -2187,5 +2188,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
+@@ -2215,5 +2216,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
@@ -42 +43 @@
-@@ -2193,5 +2194,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
+@@ -2221,5 +2222,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
@@ -49 +50 @@
-@@ -2199,10 +2200,10 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
+@@ -2227,10 +2228,10 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
@@ -62 +63 @@
-@@ -2211,5 +2212,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
+@@ -2239,5 +2240,5 @@ dpaa2_sec_set_session_parameters(struct rte_cryptodev *dev,
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'mk: fix custom kernel directory name' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'kni: fix segmented mbuf data overflow' " Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'crypto/dpaa2_sec: fix handling of session init failure' " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'examples/ip_frag: fix stale content of ethdev info' " Kevin Traynor
` (53 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Herakliusz Lipiec; +Cc: Thomas Monjalon, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/83412a759ab7d9d78293a0d8ec224bb85e91c14c
Thanks.
Kevin Traynor
---
From 83412a759ab7d9d78293a0d8ec224bb85e91c14c Mon Sep 17 00:00:00 2001
From: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
Date: Fri, 19 Jul 2019 18:05:43 +0100
Subject: [PATCH] mk: fix custom kernel directory name
[ upstream commit a3549d2716d66afaf345f1ae8ffd4eb838383189 ]
When building dpdk with different kernel headers by specifying
RTE_KERNELDIR igb_uio is compiled to directory with a name of the
version of kernel thats running on the system instead of the one that
dpdk is actually compiled against. Fixed by replacing hardcoded value
with value from RTE_KERNELDIR.
Fixes: 3967af352aeb ("mk: install kernel modules")
Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
---
mk/rte.sdkinstall.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
index 2d34b4e5a..e86253618 100644
--- a/mk/rte.sdkinstall.mk
+++ b/mk/rte.sdkinstall.mk
@@ -25,5 +25,5 @@ kerneldir ?= $(prefix)/kmod
else
ifeq ($(RTE_EXEC_ENV),linuxapp)
-kerneldir ?= /lib/modules/$(shell uname -r)/extra/dpdk
+kerneldir ?= $(RTE_KERNELDIR:/build=/extra/dpdk)
else
kerneldir ?= /boot/modules
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.019967063 +0100
+++ 0005-mk-fix-custom-kernel-directory-name.patch 2019-08-28 14:32:31.584958631 +0100
@@ -1 +1 @@
-From a3549d2716d66afaf345f1ae8ffd4eb838383189 Mon Sep 17 00:00:00 2001
+From 83412a759ab7d9d78293a0d8ec224bb85e91c14c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a3549d2716d66afaf345f1ae8ffd4eb838383189 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 5c4215cd7..32bed5d95 100644
+index 2d34b4e5a..e86253618 100644
@@ -25,3 +26,3 @@
-@@ -28,5 +28,5 @@ RTE_EXEC_ENV=linux
- endif
- ifeq ($(RTE_EXEC_ENV),linux)
+@@ -25,5 +25,5 @@ kerneldir ?= $(prefix)/kmod
+ else
+ ifeq ($(RTE_EXEC_ENV),linuxapp)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'examples/ip_frag: fix stale content of ethdev info' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (2 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'mk: fix custom kernel directory name' " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net/bnx2x: fix reading VF id' " Kevin Traynor
` (52 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Marcin Zapolski; +Cc: Konstantin Ananyev, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/769ccfd8683638e73fcaf7c51c35cc57a9fdbac7
Thanks.
Kevin Traynor
---
From 769ccfd8683638e73fcaf7c51c35cc57a9fdbac7 Mon Sep 17 00:00:00 2001
From: Marcin Zapolski <marcinx.a.zapolski@intel.com>
Date: Mon, 22 Jul 2019 13:47:01 +0200
Subject: [PATCH] examples/ip_frag: fix stale content of ethdev info
[ upstream commit f0f96b472ca72ede5cda905b38c0dd95d1948363 ]
The eth_dev_info was used with content that was obsolete. Added update
of struct content prior to use.
Fixes: 6b7780bfebe4 ("examples/ip_frag: fix use of ethdev internal device array")
Signed-off-by: Marcin Zapolski <marcinx.a.zapolski@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
examples/ip_fragmentation/main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c
index 1bcda4e52..ed78f0dd8 100644
--- a/examples/ip_fragmentation/main.c
+++ b/examples/ip_fragmentation/main.c
@@ -960,4 +960,5 @@ main(int argc, char **argv)
/* init one TX queue per couple (lcore,port) */
+ rte_eth_dev_info_get(portid, &dev_info);
queueid = 0;
for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) {
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.078574442 +0100
+++ 0006-examples-ip_frag-fix-stale-content-of-ethdev-info.patch 2019-08-28 14:32:31.586958586 +0100
@@ -1 +1 @@
-From f0f96b472ca72ede5cda905b38c0dd95d1948363 Mon Sep 17 00:00:00 2001
+From 769ccfd8683638e73fcaf7c51c35cc57a9fdbac7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f0f96b472ca72ede5cda905b38c0dd95d1948363 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index edf87a1a1..03be0c12e 100644
+index 1bcda4e52..ed78f0dd8 100644
@@ -22 +23 @@
-@@ -988,4 +988,5 @@ main(int argc, char **argv)
+@@ -960,4 +960,5 @@ main(int argc, char **argv)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnx2x: fix reading VF id' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (3 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'examples/ip_frag: fix stale content of ethdev info' " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net/bnx2x: fix link events polling for SRIOV' " Kevin Traynor
` (51 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Rasesh Mody; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/de6624dced7bdf2399a50b6396c18d482afa90a5
Thanks.
Kevin Traynor
---
From de6624dced7bdf2399a50b6396c18d482afa90a5 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rmody@marvell.com>
Date: Wed, 3 Jul 2019 16:43:11 -0700
Subject: [PATCH] net/bnx2x: fix reading VF id
[ upstream commit e0c103a79c0e9d72cf78e3643a85b6869599f79d ]
The logic to read vf_id used by ACQUIRE/TEARDOWN_Q/RELEASE TLVs,
multiplexed return value to convey vf_id value and status of read vf_id
API. This lets to segfault at dev_start() as resources are not properly
cleaned and re-allocated.
Fix read vf_id API to differentiate between vf_id value and return
status. Adjust the status checking accordingly.
Added bnx2x_vf_teardown_queue() API and moved relevant code from
bnx2x_vf_unload() to new API.
Fixes: 540a211084a7 ("bnx2x: driver core")
Signed-off-by: Rasesh Mody <rmody@marvell.com>
---
drivers/net/bnx2x/bnx2x.c | 2 +
drivers/net/bnx2x/bnx2x_vfpf.c | 148 ++++++++++++++++++++-------------
drivers/net/bnx2x/bnx2x_vfpf.h | 1 +
3 files changed, 91 insertions(+), 60 deletions(-)
diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index d3b260830..4ac5ea8d8 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -2016,4 +2016,6 @@ bnx2x_nic_unload(struct bnx2x_softc *sc, uint32_t unload_mode, uint8_t keep_link
uint32_t val;
+ PMD_INIT_FUNC_TRACE(sc);
+
PMD_DRV_LOG(DEBUG, sc, "Starting NIC unload...");
diff --git a/drivers/net/bnx2x/bnx2x_vfpf.c b/drivers/net/bnx2x/bnx2x_vfpf.c
index 048bf126f..6d966ff0a 100644
--- a/drivers/net/bnx2x/bnx2x_vfpf.c
+++ b/drivers/net/bnx2x/bnx2x_vfpf.c
@@ -163,5 +163,5 @@ static inline uint16_t bnx2x_check_me_flags(uint32_t val)
#define BNX2X_ME_ANSWER_TRIES 10
-static inline int bnx2x_read_vf_id(struct bnx2x_softc *sc)
+static inline int bnx2x_read_vf_id(struct bnx2x_softc *sc, uint32_t *vf_id)
{
uint32_t val;
@@ -170,6 +170,10 @@ static inline int bnx2x_read_vf_id(struct bnx2x_softc *sc)
while (i <= BNX2X_ME_ANSWER_TRIES) {
val = BNX2X_DB_READ(DOORBELL_ADDR(sc, 0));
- if (bnx2x_check_me_flags(val))
- return VF_ID(val);
+ if (bnx2x_check_me_flags(val)) {
+ PMD_DRV_LOG(DEBUG, sc,
+ "valid register value: 0x%08x", val);
+ *vf_id = VF_ID(val);
+ return 0;
+ }
DELAY_MS(BNX2X_ME_ANSWER_DELAY);
@@ -177,4 +181,6 @@ static inline int bnx2x_read_vf_id(struct bnx2x_softc *sc)
}
+ PMD_DRV_LOG(ERR, sc, "Invalid register value: 0x%08x", val);
+
return -EINVAL;
}
@@ -241,5 +247,5 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_
{
struct vf_acquire_tlv *acq = &sc->vf2pf_mbox->query[0].acquire;
- int vf_id;
+ uint32_t vf_id;
int rc;
@@ -247,6 +253,5 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_
bnx2x_vf_prep(sc, &acq->first_tlv, BNX2X_VF_TLV_ACQUIRE, sizeof(*acq));
- vf_id = bnx2x_read_vf_id(sc);
- if (vf_id < 0) {
+ if (bnx2x_read_vf_id(sc, &vf_id)) {
rc = -EAGAIN;
goto out;
@@ -319,23 +324,28 @@ bnx2x_vf_close(struct bnx2x_softc *sc)
struct vf_release_tlv *query;
struct vf_common_reply_tlv *reply = &sc->vf2pf_mbox->resp.common_reply;
- int vf_id = bnx2x_read_vf_id(sc);
+ uint32_t vf_id;
int rc;
- if (vf_id >= 0) {
- query = &sc->vf2pf_mbox->query[0].release;
- bnx2x_vf_prep(sc, &query->first_tlv, BNX2X_VF_TLV_RELEASE,
- sizeof(*query));
+ query = &sc->vf2pf_mbox->query[0].release;
+ bnx2x_vf_prep(sc, &query->first_tlv, BNX2X_VF_TLV_RELEASE,
+ sizeof(*query));
- query->vf_id = vf_id;
- bnx2x_add_tlv(sc, query, query->first_tlv.tl.length,
- BNX2X_VF_TLV_LIST_END,
- sizeof(struct channel_list_end_tlv));
-
- rc = bnx2x_do_req4pf(sc, sc->vf2pf_mbox_mapping.paddr);
- if (rc || reply->status != BNX2X_VF_STATUS_SUCCESS)
- PMD_DRV_LOG(ERR, sc, "Failed to release VF");
-
- bnx2x_vf_finalize(sc, &query->first_tlv);
+ if (bnx2x_read_vf_id(sc, &vf_id)) {
+ rc = -EAGAIN;
+ goto out;
}
+
+ query->vf_id = vf_id;
+
+ bnx2x_add_tlv(sc, query, query->first_tlv.tl.length,
+ BNX2X_VF_TLV_LIST_END,
+ sizeof(struct channel_list_end_tlv));
+
+ rc = bnx2x_do_req4pf(sc, sc->vf2pf_mbox_mapping.paddr);
+ if (rc || reply->status != BNX2X_VF_STATUS_SUCCESS)
+ PMD_DRV_LOG(ERR, sc, "Failed to release VF");
+
+out:
+ bnx2x_vf_finalize(sc, &query->first_tlv);
}
@@ -348,4 +358,6 @@ bnx2x_vf_init(struct bnx2x_softc *sc)
int i, rc;
+ PMD_INIT_FUNC_TRACE(sc);
+
query = &sc->vf2pf_mbox->query[0].init;
bnx2x_vf_prep(sc, &query->first_tlv, BNX2X_VF_TLV_INIT,
@@ -384,49 +396,36 @@ bnx2x_vf_unload(struct bnx2x_softc *sc)
struct vf_close_tlv *query;
struct vf_common_reply_tlv *reply = &sc->vf2pf_mbox->resp.common_reply;
- struct vf_q_op_tlv *query_op;
- int i, vf_id, rc;
+ uint32_t vf_id;
+ int i, rc;
- vf_id = bnx2x_read_vf_id(sc);
- if (vf_id > 0) {
- FOR_EACH_QUEUE(sc, i) {
- query_op = &sc->vf2pf_mbox->query[0].q_op;
- bnx2x_vf_prep(sc, &query_op->first_tlv,
- BNX2X_VF_TLV_TEARDOWN_Q,
- sizeof(*query_op));
+ PMD_INIT_FUNC_TRACE(sc);
- query_op->vf_qid = i;
+ FOR_EACH_QUEUE(sc, i)
+ bnx2x_vf_teardown_queue(sc, i);
- bnx2x_add_tlv(sc, query_op,
- query_op->first_tlv.tl.length,
- BNX2X_VF_TLV_LIST_END,
- sizeof(struct channel_list_end_tlv));
+ bnx2x_vf_set_mac(sc, false);
- rc = bnx2x_do_req4pf(sc, sc->vf2pf_mbox_mapping.paddr);
- if (rc || reply->status != BNX2X_VF_STATUS_SUCCESS)
- PMD_DRV_LOG(ERR, sc,
- "Bad reply for vf_q %d teardown", i);
+ query = &sc->vf2pf_mbox->query[0].close;
+ bnx2x_vf_prep(sc, &query->first_tlv, BNX2X_VF_TLV_CLOSE,
+ sizeof(*query));
- bnx2x_vf_finalize(sc, &query_op->first_tlv);
- }
-
- bnx2x_vf_set_mac(sc, false);
-
- query = &sc->vf2pf_mbox->query[0].close;
- bnx2x_vf_prep(sc, &query->first_tlv, BNX2X_VF_TLV_CLOSE,
- sizeof(*query));
-
- query->vf_id = vf_id;
-
- bnx2x_add_tlv(sc, query, query->first_tlv.tl.length,
- BNX2X_VF_TLV_LIST_END,
- sizeof(struct channel_list_end_tlv));
-
- rc = bnx2x_do_req4pf(sc, sc->vf2pf_mbox_mapping.paddr);
- if (rc || reply->status != BNX2X_VF_STATUS_SUCCESS)
- PMD_DRV_LOG(ERR, sc,
- "Bad reply from PF for close message");
-
- bnx2x_vf_finalize(sc, &query->first_tlv);
+ if (bnx2x_read_vf_id(sc, &vf_id)) {
+ rc = -EAGAIN;
+ goto out;
}
+
+ query->vf_id = vf_id;
+
+ bnx2x_add_tlv(sc, query, query->first_tlv.tl.length,
+ BNX2X_VF_TLV_LIST_END,
+ sizeof(struct channel_list_end_tlv));
+
+ rc = bnx2x_do_req4pf(sc, sc->vf2pf_mbox_mapping.paddr);
+ if (rc || reply->status != BNX2X_VF_STATUS_SUCCESS)
+ PMD_DRV_LOG(ERR, sc,
+ "Bad reply from PF for close message");
+
+out:
+ bnx2x_vf_finalize(sc, &query->first_tlv);
}
@@ -522,4 +521,33 @@ out:
}
+int
+bnx2x_vf_teardown_queue(struct bnx2x_softc *sc, int qid)
+{
+ struct vf_q_op_tlv *query_op;
+ struct vf_common_reply_tlv *reply = &sc->vf2pf_mbox->resp.common_reply;
+ int rc;
+
+ query_op = &sc->vf2pf_mbox->query[0].q_op;
+ bnx2x_vf_prep(sc, &query_op->first_tlv,
+ BNX2X_VF_TLV_TEARDOWN_Q,
+ sizeof(*query_op));
+
+ query_op->vf_qid = qid;
+
+ bnx2x_add_tlv(sc, query_op,
+ query_op->first_tlv.tl.length,
+ BNX2X_VF_TLV_LIST_END,
+ sizeof(struct channel_list_end_tlv));
+
+ rc = bnx2x_do_req4pf(sc, sc->vf2pf_mbox_mapping.paddr);
+ if (rc || reply->status != BNX2X_VF_STATUS_SUCCESS)
+ PMD_DRV_LOG(ERR, sc,
+ "Bad reply for vf_q %d teardown", qid);
+
+ bnx2x_vf_finalize(sc, &query_op->first_tlv);
+
+ return rc;
+}
+
int
bnx2x_vf_set_mac(struct bnx2x_softc *sc, int set)
diff --git a/drivers/net/bnx2x/bnx2x_vfpf.h b/drivers/net/bnx2x/bnx2x_vfpf.h
index cc6fef956..0030e1946 100644
--- a/drivers/net/bnx2x/bnx2x_vfpf.h
+++ b/drivers/net/bnx2x/bnx2x_vfpf.h
@@ -329,4 +329,5 @@ struct bnx2x_vf_mbx_msg {
};
+int bnx2x_vf_teardown_queue(struct bnx2x_softc *sc, int qid);
int bnx2x_vf_set_mac(struct bnx2x_softc *sc, int set);
int bnx2x_vf_config_rss(struct bnx2x_softc *sc, struct ecore_config_rss_params *params);
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.137473678 +0100
+++ 0007-net-bnx2x-fix-reading-VF-id.patch 2019-08-28 14:32:31.601958252 +0100
@@ -1 +1 @@
-From e0c103a79c0e9d72cf78e3643a85b6869599f79d Mon Sep 17 00:00:00 2001
+From de6624dced7bdf2399a50b6396c18d482afa90a5 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e0c103a79c0e9d72cf78e3643a85b6869599f79d ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index d523f4f2c..877f5b73d 100644
+index d3b260830..4ac5ea8d8 100644
@@ -38 +39 @@
-index 7cf738a82..8f7559c67 100644
+index 048bf126f..6d966ff0a 100644
@@ -245 +246 @@
-index 6964c9d98..ce0259adf 100644
+index cc6fef956..0030e1946 100644
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnx2x: fix link events polling for SRIOV' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (4 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net/bnx2x: fix reading VF id' " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net/bnx2x: fix fastpath SB allocation " Kevin Traynor
` (50 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Rasesh Mody; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/7e669a190758b490ab017739ccc2efb66680b256
Thanks.
Kevin Traynor
---
From 7e669a190758b490ab017739ccc2efb66680b256 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rmody@marvell.com>
Date: Wed, 3 Jul 2019 16:43:12 -0700
Subject: [PATCH] net/bnx2x: fix link events polling for SRIOV
[ upstream commit 3423521ba06791211264cae9de196c99424062be ]
We do not need to schedule periodic poll for slowpath link events
for SRIOV. The link events are handled by the PF driver.
Fixes: 6041aa619f9a ("net/bnx2x: fix poll link status")
Signed-off-by: Rasesh Mody <rmody@marvell.com>
---
drivers/net/bnx2x/bnx2x_ethdev.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
index d2ef8c953..5cff77337 100644
--- a/drivers/net/bnx2x/bnx2x_ethdev.c
+++ b/drivers/net/bnx2x/bnx2x_ethdev.c
@@ -218,7 +218,10 @@ bnx2x_dev_start(struct rte_eth_dev *dev)
/* start the periodic callout */
- if (atomic_load_acq_long(&sc->periodic_flags) == PERIODIC_STOP) {
- bnx2x_periodic_start(dev);
- PMD_DRV_LOG(DEBUG, sc, "Periodic poll re-started");
+ if (IS_PF(sc)) {
+ if (atomic_load_acq_long(&sc->periodic_flags) ==
+ PERIODIC_STOP) {
+ bnx2x_periodic_start(dev);
+ PMD_DRV_LOG(DEBUG, sc, "Periodic poll re-started");
+ }
}
@@ -258,8 +261,8 @@ bnx2x_dev_stop(struct rte_eth_dev *dev)
rte_intr_callback_unregister(&sc->pci_dev->intr_handle,
bnx2x_interrupt_handler, (void *)dev);
- }
- /* stop the periodic callout */
- bnx2x_periodic_stop(dev);
+ /* stop the periodic callout */
+ bnx2x_periodic_stop(dev);
+ }
ret = bnx2x_nic_unload(sc, UNLOAD_NORMAL, FALSE);
@@ -680,5 +683,7 @@ bnx2x_common_dev_init(struct rte_eth_dev *eth_dev, int is_vf)
out:
- bnx2x_periodic_stop(eth_dev);
+ if (IS_PF(sc))
+ bnx2x_periodic_stop(eth_dev);
+
return ret;
}
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.206506989 +0100
+++ 0008-net-bnx2x-fix-link-events-polling-for-SRIOV.patch 2019-08-28 14:32:31.602958229 +0100
@@ -1 +1 @@
-From 3423521ba06791211264cae9de196c99424062be Mon Sep 17 00:00:00 2001
+From 7e669a190758b490ab017739ccc2efb66680b256 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3423521ba06791211264cae9de196c99424062be ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 191a3ef6c..cda29e64f 100644
+index d2ef8c953..5cff77337 100644
@@ -21 +22 @@
-@@ -219,7 +219,10 @@ bnx2x_dev_start(struct rte_eth_dev *dev)
+@@ -218,7 +218,10 @@ bnx2x_dev_start(struct rte_eth_dev *dev)
@@ -35 +36 @@
-@@ -259,8 +262,8 @@ bnx2x_dev_stop(struct rte_eth_dev *dev)
+@@ -258,8 +261,8 @@ bnx2x_dev_stop(struct rte_eth_dev *dev)
@@ -47 +48 @@
-@@ -681,5 +684,7 @@ bnx2x_common_dev_init(struct rte_eth_dev *eth_dev, int is_vf)
+@@ -680,5 +683,7 @@ bnx2x_common_dev_init(struct rte_eth_dev *eth_dev, int is_vf)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnx2x: fix fastpath SB allocation for SRIOV' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (5 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net/bnx2x: fix link events polling for SRIOV' " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net/tap: remove redundant declarations' " Kevin Traynor
` (49 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Rasesh Mody; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/ae110478a3face082f270c58d430676064763ff2
Thanks.
Kevin Traynor
---
From ae110478a3face082f270c58d430676064763ff2 Mon Sep 17 00:00:00 2001
From: Rasesh Mody <rmody@marvell.com>
Date: Wed, 3 Jul 2019 16:43:13 -0700
Subject: [PATCH] net/bnx2x: fix fastpath SB allocation for SRIOV
[ upstream commit 0cdbc98f6ed48b769ed5b22a61c38fbe3c90538a ]
For SRIOV, fastpath status blocks are not allocated resulting in
segfault. Separate out fastpath DMA allocation/free from rest of
memory allocation/free. It is now done as part of NIC load/unload.
Comment indentation changes in bnx2x_alloc_hsi_mem() and
bnx2x_free_hsi_mem() APIs.
Fixes: f0219d98defd ("net/bnx2x: fix interrupt flood")
Signed-off-by: Rasesh Mody <rmody@marvell.com>
---
drivers/net/bnx2x/bnx2x.c | 117 +++++++++++++++++++-------------------
1 file changed, 60 insertions(+), 57 deletions(-)
diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index 4ac5ea8d8..3b034b1e9 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -2121,4 +2121,7 @@ bnx2x_nic_unload(struct bnx2x_softc *sc, uint32_t unload_mode, uint8_t keep_link
}
+ /* free the host hardware/software hsi structures */
+ bnx2x_free_hsi_mem(sc);
+
bnx2x_free_fw_stats_mem(sc);
@@ -2404,7 +2407,4 @@ static void bnx2x_free_mem(struct bnx2x_softc *sc)
bnx2x_free_ilt_lines_mem(sc);
-
- /* free the host hardware/software hsi structures */
- bnx2x_free_hsi_mem(sc);
}
@@ -2457,11 +2457,4 @@ static int bnx2x_alloc_mem(struct bnx2x_softc *sc)
}
- /* allocate the host hardware/software hsi structures */
- if (bnx2x_alloc_hsi_mem(sc) != 0) {
- PMD_DRV_LOG(ERR, sc, "bnx2x_alloc_hsi_mem was failed");
- bnx2x_free_mem(sc);
- return -ENXIO;
- }
-
return 0;
}
@@ -7243,4 +7236,12 @@ int bnx2x_nic_load(struct bnx2x_softc *sc)
}
+ /* allocate the host hardware/software hsi structures */
+ if (bnx2x_alloc_hsi_mem(sc) != 0) {
+ PMD_DRV_LOG(ERR, sc, "bnx2x_alloc_hsi_mem was failed");
+ sc->state = BNX2X_STATE_CLOSED;
+ rc = -ENOMEM;
+ goto bnx2x_nic_load_error0;
+ }
+
if (bnx2x_alloc_fw_stats_mem(sc) != 0) {
sc->state = BNX2X_STATE_CLOSED;
@@ -7458,4 +7459,5 @@ bnx2x_nic_load_error0:
bnx2x_free_fw_stats_mem(sc);
+ bnx2x_free_hsi_mem(sc);
bnx2x_free_mem(sc);
@@ -8903,7 +8905,7 @@ int bnx2x_alloc_hsi_mem(struct bnx2x_softc *sc)
if (IS_PF(sc)) {
-/************************/
-/* DEFAULT STATUS BLOCK */
-/************************/
+ /************************/
+ /* DEFAULT STATUS BLOCK */
+ /************************/
if (bnx2x_dma_alloc(sc, sizeof(struct host_sp_status_block),
@@ -8915,7 +8917,7 @@ int bnx2x_alloc_hsi_mem(struct bnx2x_softc *sc)
sc->def_sb =
(struct host_sp_status_block *)sc->def_sb_dma.vaddr;
-/***************/
-/* EVENT QUEUE */
-/***************/
+ /***************/
+ /* EVENT QUEUE */
+ /***************/
if (bnx2x_dma_alloc(sc, BNX2X_PAGE_SIZE,
@@ -8928,7 +8930,7 @@ int bnx2x_alloc_hsi_mem(struct bnx2x_softc *sc)
sc->eq = (union event_ring_elem *)sc->eq_dma.vaddr;
-/*************/
-/* SLOW PATH */
-/*************/
+ /*************/
+ /* SLOW PATH */
+ /*************/
if (bnx2x_dma_alloc(sc, sizeof(struct bnx2x_slowpath),
@@ -8942,7 +8944,7 @@ int bnx2x_alloc_hsi_mem(struct bnx2x_softc *sc)
sc->sp = (struct bnx2x_slowpath *)sc->sp_dma.vaddr;
-/*******************/
-/* SLOW PATH QUEUE */
-/*******************/
+ /*******************/
+ /* SLOW PATH QUEUE */
+ /*******************/
if (bnx2x_dma_alloc(sc, BNX2X_PAGE_SIZE,
@@ -8957,7 +8959,7 @@ int bnx2x_alloc_hsi_mem(struct bnx2x_softc *sc)
sc->spq = (struct eth_spe *)sc->spq_dma.vaddr;
-/***************************/
-/* FW DECOMPRESSION BUFFER */
-/***************************/
+ /***************************/
+ /* FW DECOMPRESSION BUFFER */
+ /***************************/
if (bnx2x_dma_alloc(sc, FW_BUF_SIZE, &sc->gz_buf_dma,
@@ -8983,7 +8985,7 @@ int bnx2x_alloc_hsi_mem(struct bnx2x_softc *sc)
fp->index = i;
-/*******************/
-/* FP STATUS BLOCK */
-/*******************/
+ /*******************/
+ /* FP STATUS BLOCK */
+ /*******************/
snprintf(buf, sizeof(buf), "fp_%d_sb", i);
@@ -9016,7 +9018,7 @@ void bnx2x_free_hsi_mem(struct bnx2x_softc *sc)
fp = &sc->fp[i];
-/*******************/
-/* FP STATUS BLOCK */
-/*******************/
+ /*******************/
+ /* FP STATUS BLOCK */
+ /*******************/
memset(&fp->status_block, 0, sizeof(fp->status_block));
@@ -9024,39 +9026,40 @@ void bnx2x_free_hsi_mem(struct bnx2x_softc *sc)
}
- /***************************/
- /* FW DECOMPRESSION BUFFER */
- /***************************/
+ if (IS_PF(sc)) {
+ /***************************/
+ /* FW DECOMPRESSION BUFFER */
+ /***************************/
- bnx2x_dma_free(&sc->gz_buf_dma);
- sc->gz_buf = NULL;
+ bnx2x_dma_free(&sc->gz_buf_dma);
+ sc->gz_buf = NULL;
- /*******************/
- /* SLOW PATH QUEUE */
- /*******************/
+ /*******************/
+ /* SLOW PATH QUEUE */
+ /*******************/
- bnx2x_dma_free(&sc->spq_dma);
- sc->spq = NULL;
+ bnx2x_dma_free(&sc->spq_dma);
+ sc->spq = NULL;
- /*************/
- /* SLOW PATH */
- /*************/
+ /*************/
+ /* SLOW PATH */
+ /*************/
- bnx2x_dma_free(&sc->sp_dma);
- sc->sp = NULL;
+ bnx2x_dma_free(&sc->sp_dma);
+ sc->sp = NULL;
- /***************/
- /* EVENT QUEUE */
- /***************/
+ /***************/
+ /* EVENT QUEUE */
+ /***************/
- bnx2x_dma_free(&sc->eq_dma);
- sc->eq = NULL;
+ bnx2x_dma_free(&sc->eq_dma);
+ sc->eq = NULL;
- /************************/
- /* DEFAULT STATUS BLOCK */
- /************************/
-
- bnx2x_dma_free(&sc->def_sb_dma);
- sc->def_sb = NULL;
+ /************************/
+ /* DEFAULT STATUS BLOCK */
+ /************************/
+ bnx2x_dma_free(&sc->def_sb_dma);
+ sc->def_sb = NULL;
+ }
}
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.264882681 +0100
+++ 0009-net-bnx2x-fix-fastpath-SB-allocation-for-SRIOV.patch 2019-08-28 14:32:31.615957940 +0100
@@ -1 +1 @@
-From 0cdbc98f6ed48b769ed5b22a61c38fbe3c90538a Mon Sep 17 00:00:00 2001
+From ae110478a3face082f270c58d430676064763ff2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0cdbc98f6ed48b769ed5b22a61c38fbe3c90538a ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 877f5b73d..1a088269f 100644
+index 4ac5ea8d8..3b034b1e9 100644
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/tap: remove redundant declarations' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (6 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net/bnx2x: fix fastpath SB allocation " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net/af_packet: remove redundant declaration' " Kevin Traynor
` (48 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Keith Wiles, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/92d9311bacda624854ebe0f00d390c824b1db9ca
Thanks.
Kevin Traynor
---
From 92d9311bacda624854ebe0f00d390c824b1db9ca Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 11 Jul 2019 13:03:01 -0700
Subject: [PATCH] net/tap: remove redundant declarations
[ upstream commit 0310fd25b4a9c3ebb604b1447c32149b085a548a ]
The rte_vdev_drivers are declared twice.
The first one is not necessary.
Fixes: 740feaf349b1 ("ethdev: remove driver name from device private data")
Fixes: 204d026a3922 ("net/tap: support tun")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Keith Wiles <keith.wiles@intel.com>
---
drivers/net/tap/rte_eth_tap.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index 867873683..37bd25011 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -71,6 +71,4 @@
static int tap_devices_count;
-static struct rte_vdev_driver pmd_tap_drv;
-static struct rte_vdev_driver pmd_tun_drv;
static const char *valid_arguments[] = {
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.330860442 +0100
+++ 0010-net-tap-remove-redundant-declarations.patch 2019-08-28 14:32:31.617957895 +0100
@@ -1 +1 @@
-From 0310fd25b4a9c3ebb604b1447c32149b085a548a Mon Sep 17 00:00:00 2001
+From 92d9311bacda624854ebe0f00d390c824b1db9ca Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0310fd25b4a9c3ebb604b1447c32149b085a548a ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 3841842f0..64bd04911 100644
+index 867873683..37bd25011 100644
@@ -23 +24 @@
-@@ -72,6 +72,4 @@
+@@ -71,6 +71,4 @@
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/af_packet: remove redundant declaration' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (7 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net/tap: remove redundant declarations' " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net/vhost: " Kevin Traynor
` (47 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/da09046fee26174b089b99cd6eb8db69be43300e
Thanks.
Kevin Traynor
---
From da09046fee26174b089b99cd6eb8db69be43300e Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 11 Jul 2019 13:03:02 -0700
Subject: [PATCH] net/af_packet: remove redundant declaration
[ upstream commit a239d86244c01ac06c7a597c58086020834df887 ]
The rte_vdev_driver is declared twice.
The first one is not necessary.
Fixes: 050fe6e9ff97 ("drivers/net: use ethdev allocation helper for vdev")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
drivers/net/af_packet/rte_eth_af_packet.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
index 264cfc08f..cca223952 100644
--- a/drivers/net/af_packet/rte_eth_af_packet.c
+++ b/drivers/net/af_packet/rte_eth_af_packet.c
@@ -528,6 +528,4 @@ open_packet_iface(const char *key __rte_unused,
}
-static struct rte_vdev_driver pmd_af_packet_drv;
-
static int
rte_pmd_init_internals(struct rte_vdev_device *dev,
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.391231739 +0100
+++ 0011-net-af_packet-remove-redundant-declaration.patch 2019-08-28 14:32:31.618957873 +0100
@@ -1 +1 @@
-From a239d86244c01ac06c7a597c58086020834df887 Mon Sep 17 00:00:00 2001
+From da09046fee26174b089b99cd6eb8db69be43300e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a239d86244c01ac06c7a597c58086020834df887 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index b349b386a..2f6508f68 100644
+index 264cfc08f..cca223952 100644
@@ -22 +23 @@
-@@ -533,6 +533,4 @@ open_packet_iface(const char *key __rte_unused,
+@@ -528,6 +528,4 @@ open_packet_iface(const char *key __rte_unused,
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/vhost: remove redundant declaration' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (8 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net/af_packet: remove redundant declaration' " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net/null: " Kevin Traynor
` (46 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/f8ad95949f709c45eaa061a09bc919aeff355ff5
Thanks.
Kevin Traynor
---
From f8ad95949f709c45eaa061a09bc919aeff355ff5 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 11 Jul 2019 13:03:03 -0700
Subject: [PATCH] net/vhost: remove redundant declaration
[ upstream commit fa119dc472aad5b2fbdcaf600786d396ad4f804c ]
The rte_vdev_driver is declared twice.
The first one is not necessary.
Fixes: 050fe6e9ff97 ("drivers/net: use ethdev allocation helper for vdev")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
drivers/net/vhost/rte_eth_vhost.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index b2cda0483..ad18b1bd5 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -1197,6 +1197,4 @@ static const struct eth_dev_ops ops = {
};
-static struct rte_vdev_driver pmd_vhost_drv;
-
static int
eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.449676095 +0100
+++ 0012-net-vhost-remove-redundant-declaration.patch 2019-08-28 14:32:31.620957828 +0100
@@ -1 +1 @@
-From fa119dc472aad5b2fbdcaf600786d396ad4f804c Mon Sep 17 00:00:00 2001
+From f8ad95949f709c45eaa061a09bc919aeff355ff5 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fa119dc472aad5b2fbdcaf600786d396ad4f804c ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 0b61e37a1..57f382c65 100644
+index b2cda0483..ad18b1bd5 100644
@@ -22 +23 @@
-@@ -1200,6 +1200,4 @@ static const struct eth_dev_ops ops = {
+@@ -1197,6 +1197,4 @@ static const struct eth_dev_ops ops = {
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/null: remove redundant declaration' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (9 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net/vhost: " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net/pcap: " Kevin Traynor
` (45 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/d8b58abdf1ba638b0a9367d35a092c89e2fe0f9d
Thanks.
Kevin Traynor
---
From d8b58abdf1ba638b0a9367d35a092c89e2fe0f9d Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 11 Jul 2019 13:03:04 -0700
Subject: [PATCH] net/null: remove redundant declaration
[ upstream commit c55cf945cf108be5f52a19a34345439abbdf366f ]
The rte_vdev_driver is declared twice.
The first one is not necessary.
Fixes: 050fe6e9ff97 ("drivers/net: use ethdev allocation helper for vdev")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
drivers/net/null/rte_eth_null.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/null/rte_eth_null.c b/drivers/net/null/rte_eth_null.c
index 159c1c1fd..da081362c 100644
--- a/drivers/net/null/rte_eth_null.c
+++ b/drivers/net/null/rte_eth_null.c
@@ -493,6 +493,4 @@ static const struct eth_dev_ops ops = {
};
-static struct rte_vdev_driver pmd_null_drv;
-
static int
eth_dev_null_create(struct rte_vdev_device *dev,
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.508441358 +0100
+++ 0013-net-null-remove-redundant-declaration.patch 2019-08-28 14:32:31.621957806 +0100
@@ -1 +1 @@
-From c55cf945cf108be5f52a19a34345439abbdf366f Mon Sep 17 00:00:00 2001
+From d8b58abdf1ba638b0a9367d35a092c89e2fe0f9d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c55cf945cf108be5f52a19a34345439abbdf366f ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index f1b521a75..31cbb84d0 100644
+index 159c1c1fd..da081362c 100644
@@ -22 +23 @@
-@@ -491,6 +491,4 @@ static const struct eth_dev_ops ops = {
+@@ -493,6 +493,4 @@ static const struct eth_dev_ops ops = {
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/pcap: remove redundant declaration' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (10 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net/null: " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net/ring: " Kevin Traynor
` (44 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/396f610725e7519d99f1ded098046df178c888ab
Thanks.
Kevin Traynor
---
From 396f610725e7519d99f1ded098046df178c888ab Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 11 Jul 2019 13:03:05 -0700
Subject: [PATCH] net/pcap: remove redundant declaration
[ upstream commit 22aeb6c706aa68823efb4e646406d42c59fe32b7 ]
The rte_vdev_driver is declared twice.
The first one is not necessary.
Fixes: 050fe6e9ff97 ("drivers/net: use ethdev allocation helper for vdev")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
drivers/net/pcap/rte_eth_pcap.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
index 65bbd7e2f..ccf07d433 100644
--- a/drivers/net/pcap/rte_eth_pcap.c
+++ b/drivers/net/pcap/rte_eth_pcap.c
@@ -909,6 +909,4 @@ select_phy_mac(const char *key __rte_unused, const char *value,
}
-static struct rte_vdev_driver pmd_pcap_drv;
-
static int
pmd_init_internals(struct rte_vdev_device *vdev,
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.567139374 +0100
+++ 0014-net-pcap-remove-redundant-declaration.patch 2019-08-28 14:32:31.622957784 +0100
@@ -1 +1 @@
-From 22aeb6c706aa68823efb4e646406d42c59fe32b7 Mon Sep 17 00:00:00 2001
+From 396f610725e7519d99f1ded098046df178c888ab Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 22aeb6c706aa68823efb4e646406d42c59fe32b7 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 26e85183e..7ff6dc38d 100644
+index 65bbd7e2f..ccf07d433 100644
@@ -22 +23 @@
-@@ -1086,6 +1086,4 @@ get_infinite_rx_arg(const char *key __rte_unused,
+@@ -909,6 +909,4 @@ select_phy_mac(const char *key __rte_unused, const char *value,
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/ring: remove redundant declaration' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (11 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net/pcap: " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net/virtio_user: " Kevin Traynor
` (43 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/293cd198d673b6a7b0e337b232f6ef08cfe33a3e
Thanks.
Kevin Traynor
---
From 293cd198d673b6a7b0e337b232f6ef08cfe33a3e Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 11 Jul 2019 13:03:06 -0700
Subject: [PATCH] net/ring: remove redundant declaration
[ upstream commit d10b972e25708aecbbca639abded877561b267d2 ]
The rte_vdev_driver is declared twice.
The first one is not necessary.
Fixes: 740feaf349b1 ("ethdev: remove driver name from device private data")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/ring/rte_eth_ring.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index c438da51c..452114d0c 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -250,6 +250,4 @@ static const struct eth_dev_ops ops = {
};
-static struct rte_vdev_driver pmd_ring_drv;
-
static int
do_eth_dev_ring_create(const char *name,
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.627790070 +0100
+++ 0015-net-ring-remove-redundant-declaration.patch 2019-08-28 14:32:31.623957761 +0100
@@ -1 +1 @@
-From d10b972e25708aecbbca639abded877561b267d2 Mon Sep 17 00:00:00 2001
+From 293cd198d673b6a7b0e337b232f6ef08cfe33a3e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d10b972e25708aecbbca639abded877561b267d2 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 65c2813ba..eb347bce6 100644
+index c438da51c..452114d0c 100644
@@ -22 +23 @@
-@@ -249,6 +249,4 @@ static const struct eth_dev_ops ops = {
+@@ -250,6 +250,4 @@ static const struct eth_dev_ops ops = {
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/virtio_user: remove redundant declaration' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (12 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net/ring: " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'raw/skeleton: " Kevin Traynor
` (42 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/5302e07e4b62ba2cc8474898334dd662d9b20fba
Thanks.
Kevin Traynor
---
From 5302e07e4b62ba2cc8474898334dd662d9b20fba Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 11 Jul 2019 13:03:07 -0700
Subject: [PATCH] net/virtio_user: remove redundant declaration
[ upstream commit 939aa0df044d856d36b0eb44231f03dc28ede6aa ]
The rte_vdev_driver is declared twice.
The first one is not necessary.
Fixes: 050fe6e9ff97 ("drivers/net: use ethdev allocation helper for vdev")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
drivers/net/virtio/virtio_user_ethdev.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/virtio/virtio_user_ethdev.c b/drivers/net/virtio/virtio_user_ethdev.c
index 5781c0948..63b647dc5 100644
--- a/drivers/net/virtio/virtio_user_ethdev.c
+++ b/drivers/net/virtio/virtio_user_ethdev.c
@@ -397,6 +397,4 @@ get_integer_arg(const char *key __rte_unused,
}
-static struct rte_vdev_driver virtio_user_driver;
-
static struct rte_eth_dev *
virtio_user_eth_dev_alloc(struct rte_vdev_device *vdev)
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.685002706 +0100
+++ 0016-net-virtio_user-remove-redundant-declaration.patch 2019-08-28 14:32:31.624957739 +0100
@@ -1 +1 @@
-From 939aa0df044d856d36b0eb44231f03dc28ede6aa Mon Sep 17 00:00:00 2001
+From 5302e07e4b62ba2cc8474898334dd662d9b20fba Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 939aa0df044d856d36b0eb44231f03dc28ede6aa ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 0a57db730..3fc172573 100644
+index 5781c0948..63b647dc5 100644
@@ -22 +23 @@
-@@ -442,6 +442,4 @@ get_integer_arg(const char *key __rte_unused,
+@@ -397,6 +397,4 @@ get_integer_arg(const char *key __rte_unused,
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'raw/skeleton: remove redundant declaration' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (13 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net/virtio_user: " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'raw/dpaa2_cmdif: " Kevin Traynor
` (41 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/1c186ca20cd30cc372b6965596ddc9d38f33575b
Thanks.
Kevin Traynor
---
From 1c186ca20cd30cc372b6965596ddc9d38f33575b Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 11 Jul 2019 13:03:08 -0700
Subject: [PATCH] raw/skeleton: remove redundant declaration
[ upstream commit 9058047a53e1920697ecbadf52a832d743d01ad1 ]
The rte_vdev_driver is declared twice.
The first one is not necessary.
Fixes: 61c592a8d035 ("raw/skeleton: introduce skeleton rawdev driver")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
drivers/raw/skeleton_rawdev/skeleton_rawdev.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/raw/skeleton_rawdev/skeleton_rawdev.c b/drivers/raw/skeleton_rawdev/skeleton_rawdev.c
index 63f2b9a09..6eabd97ee 100644
--- a/drivers/raw/skeleton_rawdev/skeleton_rawdev.c
+++ b/drivers/raw/skeleton_rawdev/skeleton_rawdev.c
@@ -38,7 +38,4 @@ static uint16_t skeldev_init_once;
#define SKELETON_PMD_RAWDEV_NAME rawdev_skeleton
-/**< Skeleton rawdev driver object */
-static struct rte_vdev_driver skeleton_pmd_drv;
-
struct queue_buffers {
void *bufs[SKELETON_QUEUE_MAX_DEPTH];
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.744007777 +0100
+++ 0017-raw-skeleton-remove-redundant-declaration.patch 2019-08-28 14:32:31.625957717 +0100
@@ -1 +1 @@
-From 9058047a53e1920697ecbadf52a832d743d01ad1 Mon Sep 17 00:00:00 2001
+From 1c186ca20cd30cc372b6965596ddc9d38f33575b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9058047a53e1920697ecbadf52a832d743d01ad1 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 42471fbd1..586183a5b 100644
+index 63f2b9a09..6eabd97ee 100644
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'raw/dpaa2_cmdif: remove redundant declaration' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (14 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'raw/skeleton: " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net: adjust L2 length on soft VLAN insertion' " Kevin Traynor
` (40 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/3d9723426799b1899e7518e1e277ba6ff0af6487
Thanks.
Kevin Traynor
---
From 3d9723426799b1899e7518e1e277ba6ff0af6487 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 11 Jul 2019 13:03:09 -0700
Subject: [PATCH] raw/dpaa2_cmdif: remove redundant declaration
[ upstream commit 9d69e0bbddc1678b7afaf9cd7386eaef1df64fc6 ]
The rte_vdev_driver is declared twice.
The first one is not necessary.
Fixes: 3298fa4853b8 ("raw/dpaa2_cmdif: introduce DPAA2 command interface driver")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c b/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c
index 11951980f..55ded4645 100644
--- a/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c
+++ b/drivers/raw/dpaa2_cmdif/dpaa2_cmdif.c
@@ -27,7 +27,4 @@ int dpaa2_cmdif_logtype;
#define DPAA2_CMDIF_PMD_NAME dpaa2_dpci
-/* CMDIF driver object */
-static struct rte_vdev_driver dpaa2_cmdif_drv;
-
/*
* This API provides the DPCI device ID in 'attr_value'.
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.801835406 +0100
+++ 0018-raw-dpaa2_cmdif-remove-redundant-declaration.patch 2019-08-28 14:32:31.625957717 +0100
@@ -1 +1 @@
-From 9d69e0bbddc1678b7afaf9cd7386eaef1df64fc6 Mon Sep 17 00:00:00 2001
+From 3d9723426799b1899e7518e1e277ba6ff0af6487 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9d69e0bbddc1678b7afaf9cd7386eaef1df64fc6 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 05960cca9..3f42da1fe 100644
+index 11951980f..55ded4645 100644
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net: adjust L2 length on soft VLAN insertion' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (15 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'raw/dpaa2_cmdif: " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net/pcap: fix possible mbuf double freeing' " Kevin Traynor
` (39 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Dilshod Urazov; +Cc: Andrew Rybchenko, Olivier Matz, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/6426f92cf57b3ce5d81497e3d5e3e5eb811452a5
Thanks.
Kevin Traynor
---
From 6426f92cf57b3ce5d81497e3d5e3e5eb811452a5 Mon Sep 17 00:00:00 2001
From: Dilshod Urazov <dilshod.urazov@oktetlabs.ru>
Date: Mon, 24 Jun 2019 14:46:02 +0100
Subject: [PATCH] net: adjust L2 length on soft VLAN insertion
[ upstream commit 42caa11b370e17bdbba498766b0fbad0975d8fa9 ]
Layer 2 length must be updated after the prepend to mbuf to keep
the length right to be used by other Tx offloads.
If the packet has tunnel encapsulation, outer_l2_len should be
updated. Otherwise l2_len should be updated.
Fixes: c974021a5949 ("ether: add soft vlan encap/decap")
Signed-off-by: Dilshod Urazov <dilshod.urazov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
lib/librte_net/rte_ether.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h
index e0d831113..71299d9e9 100644
--- a/lib/librte_net/rte_ether.h
+++ b/lib/librte_net/rte_ether.h
@@ -411,4 +411,9 @@ static inline int rte_vlan_insert(struct rte_mbuf **m)
(*m)->ol_flags &= ~(PKT_RX_VLAN_STRIPPED | PKT_TX_VLAN);
+ if ((*m)->ol_flags & PKT_TX_TUNNEL_MASK)
+ (*m)->outer_l2_len += sizeof(struct vlan_hdr);
+ else
+ (*m)->l2_len += sizeof(struct vlan_hdr);
+
return 0;
}
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.851666991 +0100
+++ 0019-net-adjust-L2-length-on-soft-VLAN-insertion.patch 2019-08-28 14:32:31.626957694 +0100
@@ -1 +1 @@
-From 42caa11b370e17bdbba498766b0fbad0975d8fa9 Mon Sep 17 00:00:00 2001
+From 6426f92cf57b3ce5d81497e3d5e3e5eb811452a5 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 42caa11b370e17bdbba498766b0fbad0975d8fa9 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 8ac1afecc..8a040abf5 100644
+index e0d831113..71299d9e9 100644
@@ -26 +27 @@
-@@ -406,4 +406,9 @@ static inline int rte_vlan_insert(struct rte_mbuf **m)
+@@ -411,4 +411,9 @@ static inline int rte_vlan_insert(struct rte_mbuf **m)
@@ -30 +31 @@
-+ (*m)->outer_l2_len += sizeof(struct rte_vlan_hdr);
++ (*m)->outer_l2_len += sizeof(struct vlan_hdr);
@@ -32 +33 @@
-+ (*m)->l2_len += sizeof(struct rte_vlan_hdr);
++ (*m)->l2_len += sizeof(struct vlan_hdr);
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/pcap: fix possible mbuf double freeing' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (16 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net: adjust L2 length on soft VLAN insertion' " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net/iavf: fix driver crash when enable TSO' " Kevin Traynor
` (38 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Aideen McLoughlin; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/27c4b1fbef2e8eb46206b1ad76bf310d586f156e
Thanks.
Kevin Traynor
---
From 27c4b1fbef2e8eb46206b1ad76bf310d586f156e Mon Sep 17 00:00:00 2001
From: Aideen McLoughlin <aideen.mcloughlin@intel.com>
Date: Thu, 11 Jul 2019 14:59:46 +0100
Subject: [PATCH] net/pcap: fix possible mbuf double freeing
[ upstream commit 49a0a2ffd5db85f7bcc1de37391272f859aabbd4 ]
In the eth_pcap_tx() and eth_pcap_tx_dumper() functions mbufs were freed
without incrementing num_tx.
This may lead application also try to free or use invalid mbuf.
To fix the issue, the mbuf freeing was removed.
Fixes: 6db141c91e1f ("pcap: support jumbo frames")
Signed-off-by: Aideen McLoughlin <aideen.mcloughlin@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
drivers/net/pcap/rte_eth_pcap.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c
index ccf07d433..070124c86 100644
--- a/drivers/net/pcap/rte_eth_pcap.c
+++ b/drivers/net/pcap/rte_eth_pcap.c
@@ -298,5 +298,4 @@ eth_pcap_tx_dumper(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
ETHER_MAX_JUMBO_FRAME_LEN);
- rte_pktmbuf_free(mbuf);
break;
}
@@ -360,5 +359,4 @@ eth_pcap_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
ETHER_MAX_JUMBO_FRAME_LEN);
- rte_pktmbuf_free(mbuf);
break;
}
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.909636600 +0100
+++ 0020-net-pcap-fix-possible-mbuf-double-freeing.patch 2019-08-28 14:32:31.627957672 +0100
@@ -1 +1 @@
-From 49a0a2ffd5db85f7bcc1de37391272f859aabbd4 Mon Sep 17 00:00:00 2001
+From 27c4b1fbef2e8eb46206b1ad76bf310d586f156e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 49a0a2ffd5db85f7bcc1de37391272f859aabbd4 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 7ff6dc38d..d1dca2a38 100644
+index ccf07d433..070124c86 100644
@@ -25,2 +26,2 @@
-@@ -350,5 +350,4 @@ eth_pcap_tx_dumper(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
- RTE_ETHER_MAX_JUMBO_FRAME_LEN);
+@@ -298,5 +298,4 @@ eth_pcap_tx_dumper(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
+ ETHER_MAX_JUMBO_FRAME_LEN);
@@ -31,2 +32,2 @@
-@@ -436,5 +435,4 @@ eth_pcap_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
- RTE_ETHER_MAX_JUMBO_FRAME_LEN);
+@@ -360,5 +359,4 @@ eth_pcap_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
+ ETHER_MAX_JUMBO_FRAME_LEN);
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/iavf: fix driver crash when enable TSO' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (17 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net/pcap: fix possible mbuf double freeing' " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'app/testpmd: fix show port info routine' " Kevin Traynor
` (37 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Ting Xu; +Cc: Qi Zhang, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/6a1aa84302932d33774aa6492eae4002b6e674de
Thanks.
Kevin Traynor
---
From 6a1aa84302932d33774aa6492eae4002b6e674de Mon Sep 17 00:00:00 2001
From: Ting Xu <ting.xu@intel.com>
Date: Tue, 16 Jul 2019 16:12:25 +0000
Subject: [PATCH] net/iavf: fix driver crash when enable TSO
[ upstream commit e3258d02c21dd9c62797846db568806bf2a57f88 ]
The iavf driver crashes when forwarding packets with TSO
enabled. The reason is that the tx context descriptor
configuration is not transferred to tx-ring. This step is
added in this patch.
Fixes: a2b29a7733ef ("net/avf: enable basic Rx Tx")
Signed-off-by: Ting Xu <ting.xu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
drivers/net/avf/avf_rxtx.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/avf/avf_rxtx.c b/drivers/net/avf/avf_rxtx.c
index 52056c770..1073876e4 100644
--- a/drivers/net/avf/avf_rxtx.c
+++ b/drivers/net/avf/avf_rxtx.c
@@ -1584,4 +1584,7 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
uint64_t cd_type_cmd_tso_mss =
AVF_TX_DESC_DTYPE_CONTEXT;
+ volatile struct avf_tx_context_desc *ctx_txd =
+ (volatile struct avf_tx_context_desc *)
+ &txr[tx_id];
txn = &sw_ring[txe->next_id];
@@ -1597,4 +1600,7 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
avf_set_tso_ctx(tx_pkt, tx_offload);
+ ctx_txd->type_cmd_tso_mss =
+ rte_cpu_to_le_64(cd_type_cmd_tso_mss);
+
AVF_DUMP_TX_DESC(txq, &txr[tx_id], tx_id);
txe->last_id = tx_last;
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:32.968615501 +0100
+++ 0021-net-iavf-fix-driver-crash-when-enable-TSO.patch 2019-08-28 14:32:31.629957628 +0100
@@ -1 +1 @@
-From e3258d02c21dd9c62797846db568806bf2a57f88 Mon Sep 17 00:00:00 2001
+From 6a1aa84302932d33774aa6492eae4002b6e674de Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e3258d02c21dd9c62797846db568806bf2a57f88 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -17 +18 @@
- drivers/net/iavf/iavf_rxtx.c | 6 ++++++
+ drivers/net/avf/avf_rxtx.c | 6 ++++++
@@ -20,5 +21,5 @@
-diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
-index 2d37c1705..d8eb6d296 100644
---- a/drivers/net/iavf/iavf_rxtx.c
-+++ b/drivers/net/iavf/iavf_rxtx.c
-@@ -1581,4 +1581,7 @@ iavf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+diff --git a/drivers/net/avf/avf_rxtx.c b/drivers/net/avf/avf_rxtx.c
+index 52056c770..1073876e4 100644
+--- a/drivers/net/avf/avf_rxtx.c
++++ b/drivers/net/avf/avf_rxtx.c
+@@ -1584,4 +1584,7 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
@@ -26,3 +27,3 @@
- IAVF_TX_DESC_DTYPE_CONTEXT;
-+ volatile struct iavf_tx_context_desc *ctx_txd =
-+ (volatile struct iavf_tx_context_desc *)
+ AVF_TX_DESC_DTYPE_CONTEXT;
++ volatile struct avf_tx_context_desc *ctx_txd =
++ (volatile struct avf_tx_context_desc *)
@@ -32,2 +33,2 @@
-@@ -1594,4 +1597,7 @@ iavf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
- iavf_set_tso_ctx(tx_pkt, tx_offload);
+@@ -1597,4 +1600,7 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+ avf_set_tso_ctx(tx_pkt, tx_offload);
@@ -38 +39 @@
- IAVF_DUMP_TX_DESC(txq, &txr[tx_id], tx_id);
+ AVF_DUMP_TX_DESC(txq, &txr[tx_id], tx_id);
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'app/testpmd: fix show port info routine' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (18 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net/iavf: fix driver crash when enable TSO' " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net/ena: fix admin CQ polling for 32-bit' " Kevin Traynor
` (36 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Viacheslav Ovsiienko; +Cc: Bernard Iremonger, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/670186ca388665c07ecb7ee2052d0cc9276683b6
Thanks.
Kevin Traynor
---
From 670186ca388665c07ecb7ee2052d0cc9276683b6 Mon Sep 17 00:00:00 2001
From: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Date: Tue, 16 Jul 2019 10:34:34 +0000
Subject: [PATCH] app/testpmd: fix show port info routine
[ upstream commit a1be9d7dfc0c1ae6bf70fe234458ad4f90cf14f4 ]
This patch updates "show port info [port_id]" command to display
the tx_desc_lim.nb_seg_max and tx_desc_lim.nb_mtu_seg_max fields
of rte_eth_dev_info structure.
Fixes: 4fb7e803eb1a ("ethdev: add Tx preparation")
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
app/test-pmd/config.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 4004e3a49..4870b9004 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -511,4 +511,8 @@ port_infos_display(portid_t port_id)
dev_info.tx_desc_lim.nb_min);
printf("TXDs number alignment: %hu\n", dev_info.tx_desc_lim.nb_align);
+ printf("Max segment number per packet: %hu\n",
+ dev_info.tx_desc_lim.nb_seg_max);
+ printf("Max segment number per MTU/TSO: %hu\n",
+ dev_info.tx_desc_lim.nb_mtu_seg_max);
/* Show switch info only if valid switch domain and port id is set */
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.029764137 +0100
+++ 0022-app-testpmd-fix-show-port-info-routine.patch 2019-08-28 14:32:31.632957561 +0100
@@ -1 +1 @@
-From a1be9d7dfc0c1ae6bf70fe234458ad4f90cf14f4 Mon Sep 17 00:00:00 2001
+From 670186ca388665c07ecb7ee2052d0cc9276683b6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a1be9d7dfc0c1ae6bf70fe234458ad4f90cf14f4 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 1d804705d..ba43be52e 100644
+index 4004e3a49..4870b9004 100644
@@ -23 +24 @@
-@@ -510,4 +510,8 @@ port_infos_display(portid_t port_id)
+@@ -511,4 +511,8 @@ port_infos_display(portid_t port_id)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/ena: fix admin CQ polling for 32-bit' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (19 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'app/testpmd: fix show port info routine' " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:41 ` [dpdk-stable] patch 'net/bnxt: fix crash on probe failure' " Kevin Traynor
` (35 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: David Harton; +Cc: Michal Krawczyk, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/6cfe6eb590158326c0f191095953d44e4b0630a0
Thanks.
Kevin Traynor
---
From 6cfe6eb590158326c0f191095953d44e4b0630a0 Mon Sep 17 00:00:00 2001
From: David Harton <dharton@cisco.com>
Date: Fri, 12 Jul 2019 13:35:43 -0400
Subject: [PATCH] net/ena: fix admin CQ polling for 32-bit
[ upstream commit 8190a843ef9bce3696b74ad2b057b5d86cc7b0df ]
Recent modifications to admin command queue polling logic
did not support 32-bit applications. Updated the driver to
work for 32 or 64 bit applications
Fixes: 3adcba9a8987 ("net/ena: update HAL to the newer version")
Signed-off-by: David Harton <dharton@cisco.com>
Acked-by: Michal Krawczyk <mk@semihalf.com>
---
drivers/net/ena/base/ena_com.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ena/base/ena_com.c b/drivers/net/ena/base/ena_com.c
index 4abf1a28a..f22d67cd4 100644
--- a/drivers/net/ena/base/ena_com.c
+++ b/drivers/net/ena/base/ena_com.c
@@ -527,5 +527,5 @@ static int ena_com_wait_and_process_admin_cq_polling(struct ena_comp_ctx *comp_c
{
unsigned long flags = 0;
- unsigned long timeout;
+ uint64_t timeout;
int ret;
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.090988342 +0100
+++ 0023-net-ena-fix-admin-CQ-polling-for-32-bit.patch 2019-08-28 14:32:31.635957494 +0100
@@ -1 +1 @@
-From 8190a843ef9bce3696b74ad2b057b5d86cc7b0df Mon Sep 17 00:00:00 2001
+From 6cfe6eb590158326c0f191095953d44e4b0630a0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8190a843ef9bce3696b74ad2b057b5d86cc7b0df ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index b688067f7..e9b9be28d 100644
+index 4abf1a28a..f22d67cd4 100644
@@ -23 +24 @@
-@@ -548,5 +548,5 @@ static int ena_com_wait_and_process_admin_cq_polling(struct ena_comp_ctx *comp_c
+@@ -527,5 +527,5 @@ static int ena_com_wait_and_process_admin_cq_polling(struct ena_comp_ctx *comp_c
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix crash on probe failure' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (20 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net/ena: fix admin CQ polling for 32-bit' " Kevin Traynor
@ 2019-08-28 13:41 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix Tx hang after port stop/start' " Kevin Traynor
` (34 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:41 UTC (permalink / raw)
To: Kalesh AP; +Cc: Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/5c1b72f67e354bcde6f3dad0f791a9150ce4ac61
Thanks.
Kevin Traynor
---
From 5c1b72f67e354bcde6f3dad0f791a9150ce4ac61 Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Wed, 17 Jul 2019 16:11:26 +0530
Subject: [PATCH] net/bnxt: fix crash on probe failure
[ upstream commit 2c43b439e50df5e1ebf8f97c1e600825d9601ec9 ]
Fixed couple of possible segfaults due to NULL pointer
dereference in case of probe failure.
Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update operations")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_irq.c | 3 +++
drivers/net/bnxt/bnxt_vnic.c | 3 +++
2 files changed, 6 insertions(+)
diff --git a/drivers/net/bnxt/bnxt_irq.c b/drivers/net/bnxt/bnxt_irq.c
index e3aac7cbe..8ea17793e 100644
--- a/drivers/net/bnxt/bnxt_irq.c
+++ b/drivers/net/bnxt/bnxt_irq.c
@@ -53,4 +53,7 @@ void bnxt_free_int(struct bnxt *bp)
struct bnxt_irq *irq;
+ if (bp->irq_tbl == NULL)
+ return;
+
irq = bp->irq_tbl;
if (irq) {
diff --git a/drivers/net/bnxt/bnxt_vnic.c b/drivers/net/bnxt/bnxt_vnic.c
index aebfb1f1c..9ebe7c963 100644
--- a/drivers/net/bnxt/bnxt_vnic.c
+++ b/drivers/net/bnxt/bnxt_vnic.c
@@ -90,4 +90,7 @@ void bnxt_free_vnic_attributes(struct bnxt *bp)
unsigned int i;
+ if (bp->vnic_info == NULL)
+ return;
+
for (i = 0; i < bp->max_vnics; i++) {
vnic = &bp->vnic_info[i];
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.151776005 +0100
+++ 0024-net-bnxt-fix-crash-on-probe-failure.patch 2019-08-28 14:32:31.636957471 +0100
@@ -1 +1 @@
-From 2c43b439e50df5e1ebf8f97c1e600825d9601ec9 Mon Sep 17 00:00:00 2001
+From 5c1b72f67e354bcde6f3dad0f791a9150ce4ac61 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2c43b439e50df5e1ebf8f97c1e600825d9601ec9 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 0bb3eb4fa..61f7498a5 100644
+index e3aac7cbe..8ea17793e 100644
@@ -32 +33 @@
-index 262cfc18d..20e5bf2d1 100644
+index aebfb1f1c..9ebe7c963 100644
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix Tx hang after port stop/start' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (21 preceding siblings ...)
2019-08-28 13:41 ` [dpdk-stable] patch 'net/bnxt: fix crash on probe failure' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix L4 checksum error indication in Rx' " Kevin Traynor
` (33 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Lance Richardson; +Cc: Ajit Khaparde, Kalesh AP, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/98707f6e6012ab25bc2af187a37a4655f52411df
Thanks.
Kevin Traynor
---
From 98707f6e6012ab25bc2af187a37a4655f52411df Mon Sep 17 00:00:00 2001
From: Lance Richardson <lance.richardson@broadcom.com>
Date: Wed, 17 Jul 2019 16:11:28 +0530
Subject: [PATCH] net/bnxt: fix Tx hang after port stop/start
[ upstream commit 03934d93e19ce3b4609a3f1d9dbb5f3f28a34bbe ]
Initialize the state of the completion valid indicator
when a completion ring is freed, otherwise completions may
not be processed when a new ring is allocated.
Fixes: 5735eb241947 ("net/bnxt: support Tx batching")
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
---
drivers/net/bnxt/bnxt_hwrm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index fab4e16ba..c540c1bab 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -1898,4 +1898,5 @@ static void bnxt_free_cp_ring(struct bnxt *bp, struct bnxt_cp_ring_info *cpr)
sizeof(*cpr->cp_desc_ring));
cpr->cp_raw_cons = 0;
+ cpr->valid = 0;
}
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.210107858 +0100
+++ 0025-net-bnxt-fix-Tx-hang-after-port-stop-start.patch 2019-08-28 14:32:31.639957405 +0100
@@ -1 +1 @@
-From 03934d93e19ce3b4609a3f1d9dbb5f3f28a34bbe Mon Sep 17 00:00:00 2001
+From 98707f6e6012ab25bc2af187a37a4655f52411df Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 03934d93e19ce3b4609a3f1d9dbb5f3f28a34bbe ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index a9356c6b8..b6f9ec0a0 100644
+index fab4e16ba..c540c1bab 100644
@@ -24 +25 @@
-@@ -2090,4 +2090,5 @@ static void bnxt_free_cp_ring(struct bnxt *bp, struct bnxt_cp_ring_info *cpr)
+@@ -1898,4 +1898,5 @@ static void bnxt_free_cp_ring(struct bnxt *bp, struct bnxt_cp_ring_info *cpr)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix L4 checksum error indication in Rx' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (22 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix Tx hang after port stop/start' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: save the number of EM flow count' " Kevin Traynor
` (32 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Rahul Gupta; +Cc: Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/214d50b648eef163de3901d048ed4d4c3a7c92b3
Thanks.
Kevin Traynor
---
From 214d50b648eef163de3901d048ed4d4c3a7c92b3 Mon Sep 17 00:00:00 2001
From: Rahul Gupta <rahul.gupta@broadcom.com>
Date: Wed, 17 Jul 2019 16:11:30 +0530
Subject: [PATCH] net/bnxt: fix L4 checksum error indication in Rx
[ upstream commit 04a681426d4999f9ff5278a3cc2c8127d25b6f76 ]
Update ol_flags correctly for checksum errors in case of tunnel and
non-tunnel packet.
Fixes: 65ee636872eb ("net/bnxt: fix Rx checksum flags")
Signed-off-by: Rahul Gupta <rahul.gupta@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_rxr.c | 43 ++++++++++---
drivers/net/bnxt/bnxt_rxr.h | 118 ++++++++++++++++++++++++++++++------
2 files changed, 132 insertions(+), 29 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
index dc695e177..88ea94214 100644
--- a/drivers/net/bnxt/bnxt_rxr.c
+++ b/drivers/net/bnxt/bnxt_rxr.c
@@ -363,4 +363,5 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
uint8_t agg_buf = 0;
uint16_t cmp_type;
+ uint32_t flags2_f = 0;
rxcmp = (struct rx_pkt_cmpl *)
@@ -441,17 +442,39 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
}
- if (likely(RX_CMP_IP_CS_OK(rxcmp1)))
- mbuf->ol_flags |= PKT_RX_IP_CKSUM_GOOD;
- else if (likely(RX_CMP_IP_CS_UNKNOWN(rxcmp1)))
- mbuf->ol_flags |= PKT_RX_IP_CKSUM_UNKNOWN;
- else
+ flags2_f = flags2_0xf(rxcmp1);
+ /* IP Checksum */
+ if (unlikely(((IS_IP_NONTUNNEL_PKT(flags2_f)) &&
+ (RX_CMP_IP_CS_ERROR(rxcmp1))) ||
+ (IS_IP_TUNNEL_PKT(flags2_f) &&
+ (RX_CMP_IP_OUTER_CS_ERROR(rxcmp1))))) {
mbuf->ol_flags |= PKT_RX_IP_CKSUM_BAD;
+ } else if (unlikely(RX_CMP_IP_CS_UNKNOWN(rxcmp1))) {
+ mbuf->ol_flags |= PKT_RX_IP_CKSUM_UNKNOWN;
+ } else {
+ mbuf->ol_flags |= PKT_RX_IP_CKSUM_GOOD;
+ }
- if (likely(RX_CMP_L4_CS_OK(rxcmp1)))
- mbuf->ol_flags |= PKT_RX_L4_CKSUM_GOOD;
- else if (likely(RX_CMP_L4_CS_UNKNOWN(rxcmp1)))
+ /* L4 Checksum */
+ if (likely(IS_L4_NONTUNNEL_PKT(flags2_f))) {
+ if (unlikely(RX_CMP_L4_INNER_CS_ERR2(rxcmp1)))
+ mbuf->ol_flags |= PKT_RX_L4_CKSUM_BAD;
+ else
+ mbuf->ol_flags |= PKT_RX_L4_CKSUM_GOOD;
+ } else if (IS_L4_TUNNEL_PKT(flags2_f)) {
+ if (unlikely(RX_CMP_L4_INNER_CS_ERR2(rxcmp1)))
+ mbuf->ol_flags |= PKT_RX_L4_CKSUM_BAD;
+ else
+ mbuf->ol_flags |= PKT_RX_L4_CKSUM_GOOD;
+ if (unlikely(RX_CMP_L4_OUTER_CS_ERR2(rxcmp1))) {
+ mbuf->ol_flags |= PKT_RX_OUTER_L4_CKSUM_BAD;
+ } else if (unlikely(IS_L4_TUNNEL_PKT_ONLY_INNER_L4_CS
+ (flags2_f))) {
+ mbuf->ol_flags |= PKT_RX_OUTER_L4_CKSUM_UNKNOWN;
+ } else {
+ mbuf->ol_flags |= PKT_RX_OUTER_L4_CKSUM_GOOD;
+ }
+ } else if (unlikely(RX_CMP_L4_CS_UNKNOWN(rxcmp1))) {
mbuf->ol_flags |= PKT_RX_L4_CKSUM_UNKNOWN;
- else
- mbuf->ol_flags |= PKT_RX_L4_CKSUM_BAD;
+ }
mbuf->packet_type = bnxt_parse_pkt_type(rxcmp, rxcmp1);
diff --git a/drivers/net/bnxt/bnxt_rxr.h b/drivers/net/bnxt/bnxt_rxr.h
index 3815a2199..15986ef88 100644
--- a/drivers/net/bnxt/bnxt_rxr.h
+++ b/drivers/net/bnxt/bnxt_rxr.h
@@ -25,22 +25,48 @@
((hdr_info) & 0x1ff)
-#define RX_CMP_L4_CS_BITS \
- rte_cpu_to_le_32(RX_PKT_CMPL_FLAGS2_L4_CS_CALC | \
- RX_PKT_CMPL_FLAGS2_T_L4_CS_CALC)
+#define flags2_0xf(rxcmp1) \
+ (((rxcmp1)->flags2) & 0xf)
-#define RX_CMP_L4_CS_ERR_BITS \
- rte_cpu_to_le_32(RX_PKT_CMPL_ERRORS_L4_CS_ERROR | \
- RX_PKT_CMPL_ERRORS_T_L4_CS_ERROR)
+/* IP non tunnel can be with or without L4-
+ * Ether / (vlan) / IP|IP6 / UDP|TCP|SCTP Or
+ * Ether / (vlan) / outer IP|IP6 / ICMP
+ * we use '==' instead of '&' because tunnel pkts have all 4 fields set.
+ */
+#define IS_IP_NONTUNNEL_PKT(flags2_f) \
+ ( \
+ ((flags2_f) == \
+ (rte_cpu_to_le_32(RX_PKT_CMPL_FLAGS2_IP_CS_CALC))) || \
+ ((flags2_f) == \
+ (rte_cpu_to_le_32(RX_PKT_CMPL_FLAGS2_IP_CS_CALC | \
+ RX_PKT_CMPL_FLAGS2_L4_CS_CALC))) \
+ )
-#define RX_CMP_L4_CS_OK(rxcmp1) \
- (((rxcmp1)->flags2 & RX_CMP_L4_CS_BITS) && \
- !((rxcmp1)->errors_v2 & RX_CMP_L4_CS_ERR_BITS))
+/* IP Tunnel pkt must have atleast tunnel-IP-calc set.
+ * again tunnel ie outer L4 is optional bcoz of
+ * Ether / (vlan) / outer IP|IP6 / GRE / Ether / IP|IP6 / UDP|TCP|SCTP
+ * Ether / (vlan) / outer IP|IP6 / outer UDP / VxLAN / Ether / IP|IP6 /
+ * UDP|TCP|SCTP
+ * Ether / (vlan) / outer IP|IP6 / outer UDP / VXLAN-GPE / Ether / IP|IP6 /
+ * UDP|TCP|SCTP
+ * Ether / (vlan) / outer IP|IP6 / outer UDP / VXLAN-GPE / IP|IP6 /
+ * UDP|TCP|SCTP
+ * Ether / (vlan) / outer IP|IP6 / GRE / IP|IP6 / UDP|TCP|SCTP
+ * Ether / (vlan) / outer IP|IP6 / IP|IP6 / UDP|TCP|SCTP
+ * also inner L3 chksum error is not taken into consideration by DPDK.
+ */
+#define IS_IP_TUNNEL_PKT(flags2_f) \
+ ((flags2_f) & rte_cpu_to_le_32(RX_PKT_CMPL_FLAGS2_T_IP_CS_CALC))
-#define RX_CMP_L4_CS_UNKNOWN(rxcmp1) \
- !((rxcmp1)->flags2 & RX_CMP_L4_CS_BITS)
+/* RX_PKT_CMPL_ERRORS_IP_CS_ERROR only for Non-tunnel pkts.
+ * For tunnel pkts RX_PKT_CMPL_ERRORS_IP_CS_ERROR is not accounted and treated
+ * as good csum pkt.
+ */
+#define RX_CMP_IP_CS_ERROR(rxcmp1) \
+ ((rxcmp1)->errors_v2 & \
+ rte_cpu_to_le_32(RX_PKT_CMPL_ERRORS_IP_CS_ERROR))
-#define RX_CMP_IP_CS_ERR_BITS \
- rte_cpu_to_le_32(RX_PKT_CMPL_ERRORS_IP_CS_ERROR | \
- RX_PKT_CMPL_ERRORS_T_IP_CS_ERROR)
+#define RX_CMP_IP_OUTER_CS_ERROR(rxcmp1) \
+ ((rxcmp1)->errors_v2 & \
+ rte_cpu_to_le_32(RX_PKT_CMPL_ERRORS_T_IP_CS_ERROR))
#define RX_CMP_IP_CS_BITS \
@@ -48,11 +74,65 @@
RX_PKT_CMPL_FLAGS2_T_IP_CS_CALC)
-#define RX_CMP_IP_CS_OK(rxcmp1) \
- (((rxcmp1)->flags2 & RX_CMP_IP_CS_BITS) && \
- !((rxcmp1)->errors_v2 & RX_CMP_IP_CS_ERR_BITS))
-
-#define RX_CMP_IP_CS_UNKNOWN(rxcmp1) \
+#define RX_CMP_IP_CS_UNKNOWN(rxcmp1) \
!((rxcmp1)->flags2 & RX_CMP_IP_CS_BITS)
+/* L4 non tunnel pkt-
+ * Ether / (vlan) / IP6 / UDP|TCP|SCTP
+ */
+#define IS_L4_NONTUNNEL_PKT(flags2_f) \
+ ( \
+ ((flags2_f) == \
+ (rte_cpu_to_le_32(RX_PKT_CMPL_FLAGS2_IP_CS_CALC | \
+ RX_PKT_CMPL_FLAGS2_L4_CS_CALC))))
+
+/* L4 tunnel pkt-
+ * Outer L4 is not mandatory. Eg: GRE-
+ * Ether / (vlan) / outer IP|IP6 / GRE / Ether / IP|IP6 / UDP|TCP|SCTP
+ * Ether / (vlan) / outer IP|IP6 / outer UDP / VxLAN / Ether / IP|IP6 /
+ * UDP|TCP|SCTP
+ */
+#define IS_L4_TUNNEL_PKT_INNER_OUTER_L4_CS(flags2_f) \
+ ((flags2_f) == \
+ (rte_cpu_to_le_32(RX_PKT_CMPL_FLAGS2_IP_CS_CALC | \
+ RX_PKT_CMPL_FLAGS2_L4_CS_CALC | \
+ RX_PKT_CMPL_FLAGS2_T_IP_CS_CALC | \
+ RX_PKT_CMPL_FLAGS2_T_L4_CS_CALC)))
+
+#define IS_L4_TUNNEL_PKT_ONLY_INNER_L4_CS(flags2_f) \
+ ((flags2_f) == \
+ (rte_cpu_to_le_32(RX_PKT_CMPL_FLAGS2_IP_CS_CALC | \
+ RX_PKT_CMPL_FLAGS2_L4_CS_CALC | \
+ RX_PKT_CMPL_FLAGS2_T_IP_CS_CALC)))
+
+#define IS_L4_TUNNEL_PKT(flags2_f) \
+ ( \
+ IS_L4_TUNNEL_PKT_INNER_OUTER_L4_CS(flags2_f) || \
+ IS_L4_TUNNEL_PKT_ONLY_INNER_L4_CS(flags2_f) \
+ )
+
+#define RX_CMP_L4_CS_BITS \
+ rte_cpu_to_le_32(RX_PKT_CMPL_FLAGS2_L4_CS_CALC)
+
+#define RX_CMP_L4_CS_UNKNOWN(rxcmp1) \
+ !((rxcmp1)->flags2 & RX_CMP_L4_CS_BITS)
+
+#define RX_CMP_T_L4_CS_BITS \
+ rte_cpu_to_le_32(RX_PKT_CMPL_FLAGS2_T_L4_CS_CALC)
+
+#define RX_CMP_T_L4_CS_UNKNOWN(rxcmp1) \
+ !((rxcmp1)->flags2 & RX_CMP_T_L4_CS_BITS)
+
+/* Outer L4 chksum error
+ */
+#define RX_CMP_L4_OUTER_CS_ERR2(rxcmp1) \
+ ((rxcmp1)->errors_v2 & \
+ rte_cpu_to_le_32(RX_PKT_CMPL_ERRORS_T_L4_CS_ERROR))
+
+/* Inner L4 chksum error
+ */
+#define RX_CMP_L4_INNER_CS_ERR2(rxcmp1) \
+ ((rxcmp1)->errors_v2 & \
+ rte_cpu_to_le_32(RX_PKT_CMPL_ERRORS_L4_CS_ERROR))
+
#define BNXT_RX_POST_THRESH 32
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.271399099 +0100
+++ 0026-net-bnxt-fix-L4-checksum-error-indication-in-Rx.patch 2019-08-28 14:32:31.640957382 +0100
@@ -1 +1 @@
-From 04a681426d4999f9ff5278a3cc2c8127d25b6f76 Mon Sep 17 00:00:00 2001
+From 214d50b648eef163de3901d048ed4d4c3a7c92b3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 04a681426d4999f9ff5278a3cc2c8127d25b6f76 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 44303f3b0..54a2cf5fd 100644
+index dc695e177..88ea94214 100644
@@ -80 +81 @@
-index 6523b94c6..6a80c37c8 100644
+index 3815a2199..15986ef88 100644
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: save the number of EM flow count' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (23 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix L4 checksum error indication in Rx' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix enabling/disabling interrupts' " Kevin Traynor
` (31 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Ajit Khaparde; +Cc: Kalesh AP, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/001848b86710666f4723133a02438adf25bc8590
Thanks.
Kevin Traynor
---
From 001848b86710666f4723133a02438adf25bc8590 Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Wed, 17 Jul 2019 16:11:32 +0530
Subject: [PATCH] net/bnxt: save the number of EM flow count
[ upstream commit ff9c0ca47e81176b5721c0f60dfc411330d205c6 ]
Save the number of EM flow count returned by the FW in HWRM_FUNC_QCFG
and use it to calculate the overall pool of L2 contexts supported by FW.
Fixes: 6d8109bcb398 ("net/bnxt: check VF resources if resource manager is enabled")
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
---
drivers/net/bnxt/bnxt.h | 1 +
drivers/net/bnxt/bnxt_hwrm.c | 11 +++++++++--
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h
index 5535c376e..0ef5afcba 100644
--- a/drivers/net/bnxt/bnxt.h
+++ b/drivers/net/bnxt/bnxt.h
@@ -333,4 +333,5 @@ struct bnxt {
uint16_t max_rx_rings;
uint16_t max_l2_ctx;
+ uint16_t max_rx_em_flows;
uint16_t max_vnics;
uint16_t max_stat_ctx;
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index c540c1bab..6eff260ca 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -577,5 +577,7 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
bp->max_tx_rings = rte_le_to_cpu_16(resp->max_tx_rings);
bp->max_rx_rings = rte_le_to_cpu_16(resp->max_rx_rings);
- bp->max_l2_ctx = rte_le_to_cpu_16(resp->max_l2_ctxs);
+ bp->max_rx_em_flows = rte_le_to_cpu_16(resp->max_rx_em_flows);
+ bp->max_l2_ctx =
+ rte_le_to_cpu_16(resp->max_l2_ctxs) + bp->max_rx_em_flows;
/* TODO: For now, do not support VMDq/RFS on VFs. */
if (BNXT_PF(bp)) {
@@ -771,5 +773,10 @@ int bnxt_hwrm_func_resc_qcaps(struct bnxt *bp)
bp->max_rx_rings = rte_le_to_cpu_16(resp->max_rx_rings);
bp->max_ring_grps = rte_le_to_cpu_32(resp->max_hw_ring_grps);
- bp->max_l2_ctx = rte_le_to_cpu_16(resp->max_l2_ctxs);
+ /* func_resource_qcaps does not return max_rx_em_flows.
+ * So use the value provided by func_qcaps.
+ */
+ bp->max_l2_ctx =
+ rte_le_to_cpu_16(resp->max_l2_ctxs) +
+ bp->max_rx_em_flows;
bp->max_vnics = rte_le_to_cpu_16(resp->max_vnics);
bp->max_stat_ctx = rte_le_to_cpu_16(resp->max_stat_ctx);
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.330905248 +0100
+++ 0027-net-bnxt-save-the-number-of-EM-flow-count.patch 2019-08-28 14:32:31.644957293 +0100
@@ -1 +1 @@
-From ff9c0ca47e81176b5721c0f60dfc411330d205c6 Mon Sep 17 00:00:00 2001
+From 001848b86710666f4723133a02438adf25bc8590 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ff9c0ca47e81176b5721c0f60dfc411330d205c6 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 45e7359b2..cd809b385 100644
+index 5535c376e..0ef5afcba 100644
@@ -23,2 +24,2 @@
-@@ -430,4 +430,5 @@ struct bnxt {
- uint16_t max_nq_rings;
+@@ -333,4 +333,5 @@ struct bnxt {
+ uint16_t max_rx_rings;
@@ -30 +31 @@
-index b6f9ec0a0..84cda5e6c 100644
+index c540c1bab..6eff260ca 100644
@@ -33 +34 @@
-@@ -590,6 +590,8 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
+@@ -577,5 +577,7 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
@@ -37 +37,0 @@
- bp->first_vf_id = rte_le_to_cpu_16(resp->first_vf_id);
@@ -43 +43 @@
-@@ -797,5 +799,10 @@ int bnxt_hwrm_func_resc_qcaps(struct bnxt *bp)
+@@ -771,5 +773,10 @@ int bnxt_hwrm_func_resc_qcaps(struct bnxt *bp)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix enabling/disabling interrupts' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (24 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: save the number of EM flow count' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: check invalid VNIC in cleanup path' " Kevin Traynor
` (30 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Kalesh AP; +Cc: Ajit Khaparde, Somnath Kotur, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/76685b9d3646e39745e5bb7f19c6ba682d26b779
Thanks.
Kevin Traynor
---
From 76685b9d3646e39745e5bb7f19c6ba682d26b779 Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Wed, 17 Jul 2019 16:11:35 +0530
Subject: [PATCH] net/bnxt: fix enabling/disabling interrupts
[ upstream commit ae2d19da02a95739e98554a42f2fce99b66be103 ]
1. Disable interrupts in dev_stop_op()
2. Enable interrupts in dev_start_op()
3. Clean queue intr-vector mapping in dev_stop_op() and thus
fix a possible memory leak.
Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update operations")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 17 ++++++++++++++++-
drivers/net/bnxt/bnxt_irq.c | 2 --
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 2c18b3732..3235bcd4a 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -646,4 +646,5 @@ static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
goto error;
+ bnxt_enable_int(bp);
bp->flags |= BNXT_FLAG_INIT_DONE;
return 0;
@@ -685,4 +686,11 @@ static void bnxt_dev_stop_op(struct rte_eth_dev *eth_dev)
{
struct bnxt *bp = eth_dev->data->dev_private;
+ struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
+ struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
+
+ bnxt_disable_int(bp);
+
+ /* disable uio/vfio intr/eventfd mapping */
+ rte_intr_disable(intr_handle);
bp->flags &= ~BNXT_FLAG_INIT_DONE;
@@ -692,4 +700,12 @@ static void bnxt_dev_stop_op(struct rte_eth_dev *eth_dev)
}
bnxt_set_hwrm_link_config(bp, false);
+
+ /* Clean queue intr-vector mapping */
+ rte_intr_efd_disable(intr_handle);
+ if (intr_handle->intr_vec != NULL) {
+ rte_free(intr_handle->intr_vec);
+ intr_handle->intr_vec = NULL;
+ }
+
bnxt_hwrm_port_clr_stats(bp);
bnxt_free_tx_mbufs(bp);
@@ -3518,5 +3534,4 @@ skip_ext_stats:
goto error_free_int;
- bnxt_enable_int(bp);
bnxt_init_nic(bp);
diff --git a/drivers/net/bnxt/bnxt_irq.c b/drivers/net/bnxt/bnxt_irq.c
index 8ea17793e..fc60839ae 100644
--- a/drivers/net/bnxt/bnxt_irq.c
+++ b/drivers/net/bnxt/bnxt_irq.c
@@ -59,5 +59,4 @@ void bnxt_free_int(struct bnxt *bp)
if (irq) {
if (irq->requested) {
- rte_intr_disable(&bp->pdev->intr_handle);
rte_intr_callback_unregister(&bp->pdev->intr_handle,
irq->handler,
@@ -124,5 +123,4 @@ int bnxt_request_int(struct bnxt *bp)
rte_intr_callback_register(&bp->pdev->intr_handle, irq->handler,
(void *)bp->eth_dev);
- rte_intr_enable(&bp->pdev->intr_handle);
irq->requested = 1;
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.392395055 +0100
+++ 0028-net-bnxt-fix-enabling-disabling-interrupts.patch 2019-08-28 14:32:31.647957226 +0100
@@ -1 +1 @@
-From ae2d19da02a95739e98554a42f2fce99b66be103 Mon Sep 17 00:00:00 2001
+From 76685b9d3646e39745e5bb7f19c6ba682d26b779 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ae2d19da02a95739e98554a42f2fce99b66be103 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 3f46065c8..91a2ca558 100644
+index 2c18b3732..3235bcd4a 100644
@@ -26,3 +27,3 @@
-@@ -780,4 +780,5 @@ static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
- eth_dev->rx_pkt_burst = bnxt_receive_function(eth_dev);
- eth_dev->tx_pkt_burst = bnxt_transmit_function(eth_dev);
+@@ -646,4 +646,5 @@ static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
+ goto error;
+
@@ -32 +33 @@
-@@ -819,4 +820,11 @@ static void bnxt_dev_stop_op(struct rte_eth_dev *eth_dev)
+@@ -685,4 +686,11 @@ static void bnxt_dev_stop_op(struct rte_eth_dev *eth_dev)
@@ -44 +45 @@
-@@ -826,4 +834,12 @@ static void bnxt_dev_stop_op(struct rte_eth_dev *eth_dev)
+@@ -692,4 +700,12 @@ static void bnxt_dev_stop_op(struct rte_eth_dev *eth_dev)
@@ -57 +58 @@
-@@ -3992,5 +4008,4 @@ skip_init:
+@@ -3518,5 +3534,4 @@ skip_ext_stats:
@@ -64 +65 @@
-index 61f7498a5..6c4dce401 100644
+index 8ea17793e..fc60839ae 100644
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: check invalid VNIC in cleanup path' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (25 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix enabling/disabling interrupts' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix compiler warning' " Kevin Traynor
` (29 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Kalesh AP; +Cc: Ajit Khaparde, Somnath Kotur, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/0d1f2372d15838f922aa344d885e30e55bf92f78
Thanks.
Kevin Traynor
---
From 0d1f2372d15838f922aa344d885e30e55bf92f78 Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Wed, 17 Jul 2019 16:11:36 +0530
Subject: [PATCH] net/bnxt: check invalid VNIC in cleanup path
[ upstream commit fcaf844e993b5850021a7e54e27d21904b805329 ]
The cleanup/rollback operation post rte_eth_dev_start failure might end
up invoking an HWRM cmd even on an invalid vNIC resulting in error
messages being logged needlessly.
Fix to check for the same before issuing the HWRM cmd.
Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update operations")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
drivers/net/bnxt/bnxt_hwrm.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 6eff260ca..53c31baf4 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -2119,4 +2119,9 @@ void bnxt_free_all_hwrm_resources(struct bnxt *bp)
struct bnxt_vnic_info *vnic = &bp->vnic_info[i];
+ if (vnic->fw_vnic_id == INVALID_HW_RING_ID) {
+ PMD_DRV_LOG(DEBUG, "Invalid vNIC ID\n");
+ return;
+ }
+
bnxt_clear_hwrm_vnic_flows(bp, vnic);
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.453668545 +0100
+++ 0029-net-bnxt-check-invalid-VNIC-in-cleanup-path.patch 2019-08-28 14:32:31.650957160 +0100
@@ -1 +1 @@
-From fcaf844e993b5850021a7e54e27d21904b805329 Mon Sep 17 00:00:00 2001
+From 0d1f2372d15838f922aa344d885e30e55bf92f78 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fcaf844e993b5850021a7e54e27d21904b805329 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 84cda5e6c..1a0265f8a 100644
+index 6eff260ca..53c31baf4 100644
@@ -25 +26 @@
-@@ -2326,4 +2326,9 @@ void bnxt_free_all_hwrm_resources(struct bnxt *bp)
+@@ -2119,4 +2119,9 @@ void bnxt_free_all_hwrm_resources(struct bnxt *bp)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix compiler warning' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (26 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: check invalid VNIC in cleanup path' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix RxQ count if ntuple filtering is disabled' " Kevin Traynor
` (28 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Ajit Khaparde; +Cc: Rahul Gupta, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/b6f30413487b41acee99031fa5b2de640ead5b1f
Thanks.
Kevin Traynor
---
From b6f30413487b41acee99031fa5b2de640ead5b1f Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Wed, 17 Jul 2019 16:11:37 +0530
Subject: [PATCH] net/bnxt: fix compiler warning
[ upstream commit f1a24472930b7325eb8ea2f4d05c48ff81ea06e2 ]
Compiler complains of an uninitialized variable.
Initializing it to avoid the issue.
Fixes: db678d5c2b54 ("net/bnxt: add HWRM VNIC configure")
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Rahul Gupta <rahul.gupta@broadcom.com>
---
drivers/net/bnxt/bnxt_hwrm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 53c31baf4..5abd2aba6 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -1416,6 +1416,6 @@ int bnxt_hwrm_vnic_cfg(struct bnxt *bp, struct bnxt_vnic_info *vnic)
struct hwrm_vnic_cfg_input req = {.req_type = 0 };
struct hwrm_vnic_cfg_output *resp = bp->hwrm_cmd_resp_addr;
+ struct bnxt_plcmodes_cfg pmodes = { 0 };
uint32_t ctx_enable_flag = 0;
- struct bnxt_plcmodes_cfg pmodes;
if (vnic->fw_vnic_id == INVALID_HW_RING_ID) {
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.515359857 +0100
+++ 0030-net-bnxt-fix-compiler-warning.patch 2019-08-28 14:32:31.653957092 +0100
@@ -1 +1 @@
-From f1a24472930b7325eb8ea2f4d05c48ff81ea06e2 Mon Sep 17 00:00:00 2001
+From b6f30413487b41acee99031fa5b2de640ead5b1f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f1a24472930b7325eb8ea2f4d05c48ff81ea06e2 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 1a0265f8a..a4e0c2e0c 100644
+index 53c31baf4..5abd2aba6 100644
@@ -22 +23 @@
-@@ -1524,6 +1524,6 @@ int bnxt_hwrm_vnic_cfg(struct bnxt *bp, struct bnxt_vnic_info *vnic)
+@@ -1416,6 +1416,6 @@ int bnxt_hwrm_vnic_cfg(struct bnxt *bp, struct bnxt_vnic_info *vnic)
@@ -28 +28,0 @@
- uint32_t enables = 0;
@@ -29,0 +30 @@
+ if (vnic->fw_vnic_id == INVALID_HW_RING_ID) {
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix RxQ count if ntuple filtering is disabled' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (27 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix compiler warning' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: check invalid VNIC id for firmware' " Kevin Traynor
` (27 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Qingmin Liu; +Cc: Ajit Khaparde, Somnath Kotur, Randy Schacher, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/cfc69aefc2f9653e56ddea34cd174c2c81600518
Thanks.
Kevin Traynor
---
From cfc69aefc2f9653e56ddea34cd174c2c81600518 Mon Sep 17 00:00:00 2001
From: Qingmin Liu <qingmin.liu@broadcom.com>
Date: Wed, 17 Jul 2019 16:11:38 +0530
Subject: [PATCH] net/bnxt: fix RxQ count if ntuple filtering is disabled
[ upstream commit 94abc0a982248c7194b1b3367230503f5b721500 ]
If ntuple filtering is disabled, FW will return max_vnics=1.
Due to this only single Rxq is created.
Change to max_rx_rings = RTE_MIN(bp->max_rx_rings, bp->max_stat_ctx) to
fix it.
Fixes: 6d8109bcb398 ("net/bnxt: check VF resources if resource manager is enabled")
Signed-off-by: Qingmin Liu <qingmin.liu@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 3235bcd4a..94b3f4e41 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -452,5 +452,5 @@ static void bnxt_dev_info_get_op(struct rte_eth_dev *eth_dev,
if (BNXT_PF(bp))
dev_info->max_vfs = bp->pdev->max_vfs;
- max_rx_rings = RTE_MIN(bp->max_vnics, bp->max_stat_ctx);
+ max_rx_rings = RTE_MIN(bp->max_rx_rings, bp->max_stat_ctx);
/* For the sake of symmetry, max_rx_queues = max_tx_queues */
dev_info->max_rx_queues = max_rx_rings;
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.578585084 +0100
+++ 0031-net-bnxt-fix-RxQ-count-if-ntuple-filtering-is-disabl.patch 2019-08-28 14:32:31.656957026 +0100
@@ -1 +1 @@
-From 94abc0a982248c7194b1b3367230503f5b721500 Mon Sep 17 00:00:00 2001
+From cfc69aefc2f9653e56ddea34cd174c2c81600518 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 94abc0a982248c7194b1b3367230503f5b721500 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 91a2ca558..35e50f1db 100644
+index 3235bcd4a..94b3f4e41 100644
@@ -26 +27 @@
-@@ -494,5 +494,5 @@ static void bnxt_dev_info_get_op(struct rte_eth_dev *eth_dev,
+@@ -452,5 +452,5 @@ static void bnxt_dev_info_get_op(struct rte_eth_dev *eth_dev,
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: check invalid VNIC id for firmware' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (28 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix RxQ count if ntuple filtering is disabled' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/avf: fix Rx bytes stats' " Kevin Traynor
` (26 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Jay Ding; +Cc: Ajit Khaparde, Randy Schacher, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/35a24dea40f421b86133004de6dd53b1e085be2d
Thanks.
Kevin Traynor
---
From 35a24dea40f421b86133004de6dd53b1e085be2d Mon Sep 17 00:00:00 2001
From: Jay Ding <jay.ding@broadcom.com>
Date: Wed, 17 Jul 2019 16:11:39 +0530
Subject: [PATCH] net/bnxt: check invalid VNIC id for firmware
[ upstream commit e1e5e812f1415b0698f82b4b0fbeb558f3cd7eae ]
Add checking for vnic id before sending message to chimp in
bnxt_hwrm_vnic_plcmode_cfg().
Fixes: db678d5c2b54 ("net/bnxt: add HWRM VNIC configure")
Signed-off-by: Jay Ding <jay.ding@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Randy Schacher <stuart.schacher@broadcom.com>
---
drivers/net/bnxt/bnxt_hwrm.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 5abd2aba6..f950440a6 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -1390,4 +1390,9 @@ static int bnxt_hwrm_vnic_plcmodes_cfg(struct bnxt *bp,
struct hwrm_vnic_plcmodes_cfg_output *resp = bp->hwrm_cmd_resp_addr;
+ if (vnic->fw_vnic_id == INVALID_HW_RING_ID) {
+ PMD_DRV_LOG(DEBUG, "VNIC ID %x\n", vnic->fw_vnic_id);
+ return rc;
+ }
+
HWRM_PREP(req, VNIC_PLCMODES_CFG, BNXT_USE_CHIMP_MB);
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.640843248 +0100
+++ 0032-net-bnxt-check-invalid-VNIC-id-for-firmware.patch 2019-08-28 14:32:31.659956959 +0100
@@ -1 +1 @@
-From e1e5e812f1415b0698f82b4b0fbeb558f3cd7eae Mon Sep 17 00:00:00 2001
+From 35a24dea40f421b86133004de6dd53b1e085be2d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e1e5e812f1415b0698f82b4b0fbeb558f3cd7eae ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index a4e0c2e0c..313459aaf 100644
+index 5abd2aba6..f950440a6 100644
@@ -23 +24 @@
-@@ -1498,4 +1498,9 @@ static int bnxt_hwrm_vnic_plcmodes_cfg(struct bnxt *bp,
+@@ -1390,4 +1390,9 @@ static int bnxt_hwrm_vnic_plcmodes_cfg(struct bnxt *bp,
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/avf: fix Rx bytes stats' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (29 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: check invalid VNIC id for firmware' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/i40e: fix MAC removal check' " Kevin Traynor
` (25 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Qi Zhang; +Cc: Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/ef3a5d07f666fc9f744a1ac68369043fd5197d2b
Thanks.
Kevin Traynor
---
From ef3a5d07f666fc9f744a1ac68369043fd5197d2b Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Wed, 17 Jul 2019 12:31:00 +0800
Subject: [PATCH] net/avf: fix Rx bytes stats
[ upstream commit 15edfab79e48de2dd8be3d8793126a7692a34d61 ]
Exclude 4 bytes CRC for rx bytes stats.
This also aligned Rx stats calculation with PF.
Fixes: f4a41a6953af ("net/avf: support stats")
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/avf/avf_ethdev.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c
index 4dc61d9fe..9739dc9bb 100644
--- a/drivers/net/avf/avf_ethdev.c
+++ b/drivers/net/avf/avf_ethdev.c
@@ -994,4 +994,5 @@ avf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
stats->oerrors = pstats->tx_errors + pstats->tx_discards;
stats->ibytes = pstats->rx_bytes;
+ stats->ibytes -= stats->ipackets * ETHER_CRC_LEN;
stats->obytes = pstats->tx_bytes;
} else {
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.702736708 +0100
+++ 0033-net-avf-fix-Rx-bytes-stats.patch 2019-08-28 14:32:31.660956936 +0100
@@ -1 +1 @@
-From 15edfab79e48de2dd8be3d8793126a7692a34d61 Mon Sep 17 00:00:00 2001
+From ef3a5d07f666fc9f744a1ac68369043fd5197d2b Mon Sep 17 00:00:00 2001
@@ -4 +4,3 @@
-Subject: [PATCH] net/iavf: fix Rx bytes stats
+Subject: [PATCH] net/avf: fix Rx bytes stats
+
+[ upstream commit 15edfab79e48de2dd8be3d8793126a7692a34d61 ]
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -15 +16 @@
- drivers/net/iavf/iavf_ethdev.c | 1 +
+ drivers/net/avf/avf_ethdev.c | 1 +
@@ -18,5 +19,5 @@
-diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
-index 48363333a..8f3907378 100644
---- a/drivers/net/iavf/iavf_ethdev.c
-+++ b/drivers/net/iavf/iavf_ethdev.c
-@@ -1048,4 +1048,5 @@ iavf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
+diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c
+index 4dc61d9fe..9739dc9bb 100644
+--- a/drivers/net/avf/avf_ethdev.c
++++ b/drivers/net/avf/avf_ethdev.c
+@@ -994,4 +994,5 @@ avf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
@@ -25 +26 @@
-+ stats->ibytes -= stats->ipackets * RTE_ETHER_CRC_LEN;
++ stats->ibytes -= stats->ipackets * ETHER_CRC_LEN;
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/i40e: fix MAC removal check' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (30 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/avf: fix Rx bytes stats' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/i40e: fix SFP X722 with FW4.16' " Kevin Traynor
` (24 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Herakliusz Lipiec; +Cc: Beilei Xing, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/37f15b0450c8b909887d45a144df8355097382dd
Thanks.
Kevin Traynor
---
From 37f15b0450c8b909887d45a144df8355097382dd Mon Sep 17 00:00:00 2001
From: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
Date: Thu, 18 Jul 2019 15:44:48 +0100
Subject: [PATCH] net/i40e: fix MAC removal check
[ upstream commit 73bd0ad5936de7a3152850b22f0d08e5c7bd1f5a ]
Add return value check for i40e_vsi_delete_mac call in
rte_pmd_i40e_remove_vf_mac_addr as per coverity issue.
Coverity issue: 277224
Fixes: e0cb96204b71 ("net/i40e: add support for representor ports")
Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
---
drivers/net/i40e/rte_pmd_i40e.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/i40e/rte_pmd_i40e.c b/drivers/net/i40e/rte_pmd_i40e.c
index c49c872b6..f21c76089 100644
--- a/drivers/net/i40e/rte_pmd_i40e.c
+++ b/drivers/net/i40e/rte_pmd_i40e.c
@@ -581,4 +581,5 @@ rte_pmd_i40e_remove_vf_mac_addr(uint16_t port, uint16_t vf_id,
struct i40e_vsi *vsi;
struct i40e_pf *pf;
+ int ret;
if (i40e_validate_mac_addr((u8 *)mac_addr) != I40E_SUCCESS)
@@ -609,6 +610,7 @@ rte_pmd_i40e_remove_vf_mac_addr(uint16_t port, uint16_t vf_id,
/* Remove the mac */
- i40e_vsi_delete_mac(vsi, mac_addr);
-
+ ret = i40e_vsi_delete_mac(vsi, mac_addr);
+ if (ret != I40E_SUCCESS)
+ return ret;
return 0;
}
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.762758660 +0100
+++ 0034-net-i40e-fix-MAC-removal-check.patch 2019-08-28 14:32:31.662956892 +0100
@@ -1 +1 @@
-From 73bd0ad5936de7a3152850b22f0d08e5c7bd1f5a Mon Sep 17 00:00:00 2001
+From 37f15b0450c8b909887d45a144df8355097382dd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 73bd0ad5936de7a3152850b22f0d08e5c7bd1f5a ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 24281c293..4c3c7088a 100644
+index c49c872b6..f21c76089 100644
@@ -23 +24 @@
-@@ -582,4 +582,5 @@ rte_pmd_i40e_remove_vf_mac_addr(uint16_t port, uint16_t vf_id,
+@@ -581,4 +581,5 @@ rte_pmd_i40e_remove_vf_mac_addr(uint16_t port, uint16_t vf_id,
@@ -29 +30 @@
-@@ -610,6 +611,7 @@ rte_pmd_i40e_remove_vf_mac_addr(uint16_t port, uint16_t vf_id,
+@@ -609,6 +610,7 @@ rte_pmd_i40e_remove_vf_mac_addr(uint16_t port, uint16_t vf_id,
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/i40e: fix SFP X722 with FW4.16' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (31 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/i40e: fix MAC removal check' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'doc: fix ethernet addresses in flow API guide' " Kevin Traynor
` (23 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Xiao Zhang; +Cc: Haiyue Wang, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/2d22b8f9dd4ed0faff26def39ac42f004d7320a7
Thanks.
Kevin Traynor
---
From 2d22b8f9dd4ed0faff26def39ac42f004d7320a7 Mon Sep 17 00:00:00 2001
From: Xiao Zhang <xiao.zhang@intel.com>
Date: Fri, 19 Jul 2019 18:59:56 +0800
Subject: [PATCH] net/i40e: fix SFP X722 with FW4.16
[ upstream commit 9efa8d28b4daccda08ec0a2b8e45350fe089065f ]
When NVM API version is 1.7 or above adminq operation to set TPID is
set as supported. This cause using adminq instead of registers.
For SFP X722 FW4.16, reported NVM API version is 1.8, and this cause
adminq operation to set as supported but it is not supported on FW4.16
Additional check added for SFP X722 to not enable adminq operation.
Fixes: 73cd7d6dc8e1 ("net/i40e: use set switch AQ instead of register setting")
Signed-off-by: Xiao Zhang <xiao.zhang@intel.com>
Reviewed-by: Haiyue Wang <haiyue.wang@intel.com>
---
drivers/net/i40e/i40e_ethdev.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index bef5f25a4..b1b145f32 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -1357,4 +1357,8 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)
return -EIO;
}
+ /* Firmware of SFP x722 does not support adminq option */
+ if (hw->device_id == I40E_DEV_ID_SFP_X722)
+ hw->flags &= ~I40E_HW_FLAG_802_1AD_CAPABLE;
+
PMD_INIT_LOG(INFO, "FW %d.%d API %d.%d NVM %02d.%02d.%02d eetrack %04x",
hw->aq.fw_maj_ver, hw->aq.fw_min_ver,
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.822506476 +0100
+++ 0035-net-i40e-fix-SFP-X722-with-FW4.16.patch 2019-08-28 14:32:31.674956624 +0100
@@ -1 +1 @@
-From 9efa8d28b4daccda08ec0a2b8e45350fe089065f Mon Sep 17 00:00:00 2001
+From 2d22b8f9dd4ed0faff26def39ac42f004d7320a7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9efa8d28b4daccda08ec0a2b8e45350fe089065f ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 8c9151787..4e40b7ab5 100644
+index bef5f25a4..b1b145f32 100644
@@ -27 +28 @@
-@@ -1358,4 +1358,8 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)
+@@ -1357,4 +1357,8 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'doc: fix ethernet addresses in flow API guide' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (32 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/i40e: fix SFP X722 with FW4.16' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix error handling in port start' " Kevin Traynor
` (22 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Dekel Peled; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/6c08109fb60c043c5b19ec65124c610b61e24de3
Thanks.
Kevin Traynor
---
From 6c08109fb60c043c5b19ec65124c610b61e24de3 Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Wed, 17 Jul 2019 22:44:18 +0300
Subject: [PATCH] doc: fix ethernet addresses in flow API guide
[ upstream commit 68bb77e9688f46c4da80e74ec29d53651bc875c7 ]
Ethernet address examples contain 5 bytes only.
This patch changes the examples to valid 6 bytes Ethernet addresses.
Fixes: 4d73b6fb9907 ("doc: add generic flow API guide")
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
doc/guides/prog_guide/rte_flow.rst | 38 +++++++++++++++---------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst
index 4e9b4440b..9c6fc5e82 100644
--- a/doc/guides/prog_guide/rte_flow.rst
+++ b/doc/guides/prog_guide/rte_flow.rst
@@ -241,27 +241,27 @@ Example of an item specification matching an Ethernet header:
.. table:: Ethernet item
- +----------+----------+--------------------+
- | Field | Subfield | Value |
- +==========+==========+====================+
- | ``spec`` | ``src`` | ``00:01:02:03:04`` |
- | +----------+--------------------+
- | | ``dst`` | ``00:2a:66:00:01`` |
- | +----------+--------------------+
- | | ``type`` | ``0x22aa`` |
- +----------+----------+--------------------+
- | ``last`` | unspecified |
- +----------+----------+--------------------+
- | ``mask`` | ``src`` | ``00:ff:ff:ff:00`` |
- | +----------+--------------------+
- | | ``dst`` | ``00:00:00:00:ff`` |
- | +----------+--------------------+
- | | ``type`` | ``0x0000`` |
- +----------+----------+--------------------+
+ +----------+----------+-----------------------+
+ | Field | Subfield | Value |
+ +==========+==========+=======================+
+ | ``spec`` | ``src`` | ``00:00:01:02:03:04`` |
+ | +----------+-----------------------+
+ | | ``dst`` | ``00:00:2a:66:00:01`` |
+ | +----------+-----------------------+
+ | | ``type`` | ``0x22aa`` |
+ +----------+----------+-----------------------+
+ | ``last`` | unspecified |
+ +----------+----------+-----------------------+
+ | ``mask`` | ``src`` | ``00:00:ff:ff:ff:00`` |
+ | +----------+-----------------------+
+ | | ``dst`` | ``00:00:00:00:00:ff`` |
+ | +----------+-----------------------+
+ | | ``type`` | ``0x0000`` |
+ +----------+----------+-----------------------+
Non-masked bits stand for any value (shown as ``?`` below), Ethernet headers
with the following properties are thus matched:
-- ``src``: ``??:01:02:03:??``
-- ``dst``: ``??:??:??:??:01``
+- ``src``: ``??:??:01:02:03:??``
+- ``dst``: ``??:??:??:??:??:01``
- ``type``: ``0x????``
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.891799945 +0100
+++ 0036-doc-fix-ethernet-addresses-in-flow-API-guide.patch 2019-08-28 14:32:31.677956557 +0100
@@ -1 +1 @@
-From 68bb77e9688f46c4da80e74ec29d53651bc875c7 Mon Sep 17 00:00:00 2001
+From 6c08109fb60c043c5b19ec65124c610b61e24de3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 68bb77e9688f46c4da80e74ec29d53651bc875c7 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 7da446e8a..821b524b3 100644
+index 4e9b4440b..9c6fc5e82 100644
@@ -22 +23 @@
-@@ -239,27 +239,27 @@ Example of an item specification matching an Ethernet header:
+@@ -241,27 +241,27 @@ Example of an item specification matching an Ethernet header:
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix error handling in port start' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (33 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'doc: fix ethernet addresses in flow API guide' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix check of address mapping' " Kevin Traynor
` (21 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Kalesh AP; +Cc: Somnath Kotur, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/0a273adbf5694c52c4c2b2babb423e97965052b2
Thanks.
Kevin Traynor
---
From 0a273adbf5694c52c4c2b2babb423e97965052b2 Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Thu, 18 Jul 2019 09:05:55 +0530
Subject: [PATCH] net/bnxt: fix error handling in port start
[ upstream commit 6de4c538b393d5a1414a18b2dfb83293b9c429a1 ]
1. during port start, if bnxt_init_chip() return error
bnxt_dev_start_op() invokes bnxt_shutdown_nic() which in turn calls
bnxt_free_all_hwrm_resources() to free up resources. Hence remove the
bnxt_free_all_hwrm_resources() from bnxt_init_chip() failure path.
2. fix to check the return value of rte_intr_enable() as this call
can fail.
3. set bp->dev_stopped to 0 only when port start succeeds.
4. handle failure cases in bnxt_init_chip() routine to do proper
cleanup and return correct error value.
Fixes: b7778e8a1c00 ("net/bnxt: refactor to properly allocate resources for PF/VF")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 94b3f4e41..e701b7b16 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -355,6 +355,7 @@ static int bnxt_init_chip(struct bnxt *bp)
return -ENOTSUP;
}
- if (rte_intr_efd_enable(intr_handle, intr_vector))
- return -1;
+ rc = rte_intr_efd_enable(intr_handle, intr_vector);
+ if (rc)
+ return rc;
}
@@ -367,5 +368,6 @@ static int bnxt_init_chip(struct bnxt *bp)
PMD_DRV_LOG(ERR, "Failed to allocate %d rx_queues"
" intr_vec", bp->eth_dev->data->nb_rx_queues);
- return -ENOMEM;
+ rc = -ENOMEM;
+ goto err_disable;
}
PMD_DRV_LOG(DEBUG, "intr_handle->intr_vec = %p "
@@ -382,10 +384,12 @@ static int bnxt_init_chip(struct bnxt *bp)
/* enable uio/vfio intr/eventfd mapping */
- rte_intr_enable(intr_handle);
+ rc = rte_intr_enable(intr_handle);
+ if (rc)
+ goto err_free;
rc = bnxt_get_hwrm_link_config(bp, &new);
if (rc) {
PMD_DRV_LOG(ERR, "HWRM Get link config failure rc: %x\n", rc);
- goto err_out;
+ goto err_free;
}
@@ -395,5 +399,5 @@ static int bnxt_init_chip(struct bnxt *bp)
PMD_DRV_LOG(ERR,
"HWRM link config failure rc: %x\n", rc);
- goto err_out;
+ goto err_free;
}
}
@@ -402,7 +406,9 @@ static int bnxt_init_chip(struct bnxt *bp)
return 0;
+err_free:
+ rte_free(intr_handle->intr_vec);
+err_disable:
+ rte_intr_efd_disable(intr_handle);
err_out:
- bnxt_free_all_hwrm_resources(bp);
-
/* Some of the error status returned by FW may not be from errno.h */
if (rc > 0)
@@ -630,5 +636,4 @@ static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
bp->rx_cp_nr_rings, RTE_ETHDEV_QUEUE_STAT_CNTRS);
}
- bp->dev_stopped = 0;
rc = bnxt_init_chip(bp);
@@ -648,4 +653,5 @@ static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
bnxt_enable_int(bp);
bp->flags |= BNXT_FLAG_INIT_DONE;
+ bp->dev_stopped = 0;
return 0;
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:33.952855971 +0100
+++ 0037-net-bnxt-fix-error-handling-in-port-start.patch 2019-08-28 14:32:31.679956513 +0100
@@ -1 +1 @@
-From 6de4c538b393d5a1414a18b2dfb83293b9c429a1 Mon Sep 17 00:00:00 2001
+From 0a273adbf5694c52c4c2b2babb423e97965052b2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6de4c538b393d5a1414a18b2dfb83293b9c429a1 ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index 35e50f1db..39229f150 100644
+index 94b3f4e41..e701b7b16 100644
@@ -29 +30 @@
-@@ -395,6 +395,7 @@ static int bnxt_init_chip(struct bnxt *bp)
+@@ -355,6 +355,7 @@ static int bnxt_init_chip(struct bnxt *bp)
@@ -39 +40 @@
-@@ -407,5 +408,6 @@ static int bnxt_init_chip(struct bnxt *bp)
+@@ -367,5 +368,6 @@ static int bnxt_init_chip(struct bnxt *bp)
@@ -47 +48 @@
-@@ -422,10 +424,12 @@ static int bnxt_init_chip(struct bnxt *bp)
+@@ -382,10 +384,12 @@ static int bnxt_init_chip(struct bnxt *bp)
@@ -62 +63 @@
-@@ -435,5 +439,5 @@ static int bnxt_init_chip(struct bnxt *bp)
+@@ -395,5 +399,5 @@ static int bnxt_init_chip(struct bnxt *bp)
@@ -69 +70 @@
-@@ -442,7 +446,9 @@ static int bnxt_init_chip(struct bnxt *bp)
+@@ -402,7 +406,9 @@ static int bnxt_init_chip(struct bnxt *bp)
@@ -81 +82 @@
-@@ -760,5 +766,4 @@ static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
+@@ -630,5 +636,4 @@ static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
@@ -87 +88 @@
-@@ -782,4 +787,5 @@ static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
+@@ -648,4 +653,5 @@ static int bnxt_dev_start_op(struct rte_eth_dev *eth_dev)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix check of address mapping' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (34 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix error handling in port start' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix adding MAC address' " Kevin Traynor
` (20 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Kalesh AP; +Cc: Somnath Kotur, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/2221b0c1381ae0d6031f67544bff5b62cec1d9eb
Thanks.
Kevin Traynor
---
From 2221b0c1381ae0d6031f67544bff5b62cec1d9eb Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Thu, 18 Jul 2019 09:05:56 +0530
Subject: [PATCH] net/bnxt: fix check of address mapping
[ upstream commit 1f3cea0044ceccbd3a0f38307cf0808c5b16d6b1 ]
rte_mem_virt2iova() function returns RTE_BAD_IOVA on failure, not zero.
Fixes: 62196f4e0941 ("mem: rename address mapping function to IOVA")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
drivers/net/bnxt/bnxt_hwrm.c | 16 ++++++++--------
drivers/net/bnxt/bnxt_ring.c | 2 +-
drivers/net/bnxt/bnxt_vnic.c | 4 ++--
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index f950440a6..79803b4d0 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -858,5 +858,5 @@ int bnxt_hwrm_ver_get(struct bnxt *bp)
bp->hwrm_cmd_resp_dma_addr =
rte_mem_virt2iova(bp->hwrm_cmd_resp_addr);
- if (bp->hwrm_cmd_resp_dma_addr == 0) {
+ if (bp->hwrm_cmd_resp_dma_addr == RTE_BAD_IOVA) {
PMD_DRV_LOG(ERR,
"Unable to map response buffer to physical memory.\n");
@@ -884,5 +884,5 @@ int bnxt_hwrm_ver_get(struct bnxt *bp)
bp->hwrm_short_cmd_req_dma_addr =
rte_mem_virt2iova(bp->hwrm_short_cmd_req_addr);
- if (bp->hwrm_short_cmd_req_dma_addr == 0) {
+ if (bp->hwrm_short_cmd_req_dma_addr == RTE_BAD_IOVA) {
rte_free(bp->hwrm_short_cmd_req_addr);
PMD_DRV_LOG(ERR,
@@ -2023,5 +2023,5 @@ int bnxt_alloc_hwrm_resources(struct bnxt *bp)
bp->hwrm_cmd_resp_dma_addr =
rte_mem_virt2iova(bp->hwrm_cmd_resp_addr);
- if (bp->hwrm_cmd_resp_dma_addr == 0) {
+ if (bp->hwrm_cmd_resp_dma_addr == RTE_BAD_IOVA) {
PMD_DRV_LOG(ERR,
"unable to map response address to physical memory\n");
@@ -2949,5 +2949,5 @@ int bnxt_hwrm_func_buf_rgtr(struct bnxt *bp)
req.req_buf_page_addr0 =
rte_cpu_to_le_64(rte_mem_virt2iova(bp->pf.vf_req_buf));
- if (req.req_buf_page_addr0 == 0) {
+ if (req.req_buf_page_addr0 == RTE_BAD_IOVA) {
PMD_DRV_LOG(ERR,
"unable to map buffer address to physical memory\n");
@@ -3382,5 +3382,5 @@ int bnxt_get_nvram_directory(struct bnxt *bp, uint32_t len, uint8_t *data)
return -ENOMEM;
dma_handle = rte_mem_virt2iova(buf);
- if (dma_handle == 0) {
+ if (dma_handle == RTE_BAD_IOVA) {
PMD_DRV_LOG(ERR,
"unable to map response address to physical memory\n");
@@ -3417,5 +3417,5 @@ int bnxt_hwrm_get_nvram_item(struct bnxt *bp, uint32_t index,
dma_handle = rte_mem_virt2iova(buf);
- if (dma_handle == 0) {
+ if (dma_handle == RTE_BAD_IOVA) {
PMD_DRV_LOG(ERR,
"unable to map response address to physical memory\n");
@@ -3471,5 +3471,5 @@ int bnxt_hwrm_flash_nvram(struct bnxt *bp, uint16_t dir_type,
dma_handle = rte_mem_virt2iova(buf);
- if (dma_handle == 0) {
+ if (dma_handle == RTE_BAD_IOVA) {
PMD_DRV_LOG(ERR,
"unable to map response address to physical memory\n");
@@ -3535,5 +3535,5 @@ static int bnxt_hwrm_func_vf_vnic_query(struct bnxt *bp, uint16_t vf,
req.vnic_id_tbl_addr = rte_cpu_to_le_64(rte_mem_virt2iova(vnic_ids));
- if (req.vnic_id_tbl_addr == 0) {
+ if (req.vnic_id_tbl_addr == RTE_BAD_IOVA) {
HWRM_UNLOCK();
PMD_DRV_LOG(ERR,
diff --git a/drivers/net/bnxt/bnxt_ring.c b/drivers/net/bnxt/bnxt_ring.c
index fcbd6bc6e..0628a0b4e 100644
--- a/drivers/net/bnxt/bnxt_ring.c
+++ b/drivers/net/bnxt/bnxt_ring.c
@@ -164,5 +164,5 @@ int bnxt_alloc_rings(struct bnxt *bp, uint16_t qidx,
rte_mem_lock_page(((char *)mz->addr) + sz);
mz_phys_addr = rte_mem_virt2iova(mz->addr);
- if (mz_phys_addr == 0) {
+ if (mz_phys_addr == RTE_BAD_IOVA) {
PMD_DRV_LOG(ERR,
"unable to map ring address to physical memory\n");
diff --git a/drivers/net/bnxt/bnxt_vnic.c b/drivers/net/bnxt/bnxt_vnic.c
index 9ebe7c963..cc0b0ae07 100644
--- a/drivers/net/bnxt/bnxt_vnic.c
+++ b/drivers/net/bnxt/bnxt_vnic.c
@@ -147,7 +147,7 @@ int bnxt_alloc_vnic_attributes(struct bnxt *bp)
"Using rte_mem_virt2iova()\n");
mz_phys_addr = rte_mem_virt2iova(mz->addr);
- if (mz_phys_addr == 0) {
+ if (mz_phys_addr == RTE_BAD_IOVA) {
PMD_DRV_LOG(ERR,
- "unable to map vnic address to physical memory\n");
+ "unable to map to physical memory\n");
return -ENOMEM;
}
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.016656545 +0100
+++ 0038-net-bnxt-fix-check-of-address-mapping.patch 2019-08-28 14:32:31.683956424 +0100
@@ -1 +1 @@
-From 1f3cea0044ceccbd3a0f38307cf0808c5b16d6b1 Mon Sep 17 00:00:00 2001
+From 2221b0c1381ae0d6031f67544bff5b62cec1d9eb Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1f3cea0044ceccbd3a0f38307cf0808c5b16d6b1 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -14,5 +15,4 @@
- drivers/net/bnxt/bnxt_ethdev.c | 6 +++---
- drivers/net/bnxt/bnxt_hwrm.c | 16 ++++++++--------
- drivers/net/bnxt/bnxt_ring.c | 2 +-
- drivers/net/bnxt/bnxt_vnic.c | 4 ++--
- 4 files changed, 14 insertions(+), 14 deletions(-)
+ drivers/net/bnxt/bnxt_hwrm.c | 16 ++++++++--------
+ drivers/net/bnxt/bnxt_ring.c | 2 +-
+ drivers/net/bnxt/bnxt_vnic.c | 4 ++--
+ 3 files changed, 11 insertions(+), 11 deletions(-)
@@ -20,25 +19,0 @@
-diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
-index 39229f150..306d62772 100644
---- a/drivers/net/bnxt/bnxt_ethdev.c
-+++ b/drivers/net/bnxt/bnxt_ethdev.c
-@@ -3473,5 +3473,5 @@ static int bnxt_alloc_ctx_mem_blk(__rte_unused struct bnxt *bp,
- "Using rte_mem_virt2iova()\n");
- mz_phys_addr = rte_mem_virt2iova(mz->addr);
-- if (mz_phys_addr == 0) {
-+ if (mz_phys_addr == RTE_BAD_IOVA) {
- PMD_DRV_LOG(ERR,
- "unable to map addr to phys memory\n");
-@@ -3699,5 +3699,5 @@ static int bnxt_alloc_stats_mem(struct bnxt *bp)
- "Using rte_mem_virt2iova()\n");
- mz_phys_addr = rte_mem_virt2iova(mz->addr);
-- if (mz_phys_addr == 0) {
-+ if (mz_phys_addr == RTE_BAD_IOVA) {
- PMD_DRV_LOG(ERR,
- "Can't map address to physical memory\n");
-@@ -3737,5 +3737,5 @@ static int bnxt_alloc_stats_mem(struct bnxt *bp)
- "Using rte_mem_virt2iova()\n");
- mz_phys_addr = rte_mem_virt2iova(mz->addr);
-- if (mz_phys_addr == 0) {
-+ if (mz_phys_addr == RTE_BAD_IOVA) {
- PMD_DRV_LOG(ERR,
- "Can't map address to physical memory\n");
@@ -46 +21 @@
-index 313459aaf..9c5e5ad77 100644
+index f950440a6..79803b4d0 100644
@@ -49 +24 @@
-@@ -889,5 +889,5 @@ int bnxt_hwrm_ver_get(struct bnxt *bp)
+@@ -858,5 +858,5 @@ int bnxt_hwrm_ver_get(struct bnxt *bp)
@@ -56 +31 @@
-@@ -926,5 +926,5 @@ int bnxt_hwrm_ver_get(struct bnxt *bp)
+@@ -884,5 +884,5 @@ int bnxt_hwrm_ver_get(struct bnxt *bp)
@@ -63 +38 @@
-@@ -2230,5 +2230,5 @@ int bnxt_alloc_hwrm_resources(struct bnxt *bp)
+@@ -2023,5 +2023,5 @@ int bnxt_alloc_hwrm_resources(struct bnxt *bp)
@@ -70 +45 @@
-@@ -3180,5 +3180,5 @@ int bnxt_hwrm_func_buf_rgtr(struct bnxt *bp)
+@@ -2949,5 +2949,5 @@ int bnxt_hwrm_func_buf_rgtr(struct bnxt *bp)
@@ -77 +52 @@
-@@ -3612,5 +3612,5 @@ int bnxt_get_nvram_directory(struct bnxt *bp, uint32_t len, uint8_t *data)
+@@ -3382,5 +3382,5 @@ int bnxt_get_nvram_directory(struct bnxt *bp, uint32_t len, uint8_t *data)
@@ -84 +59 @@
-@@ -3647,5 +3647,5 @@ int bnxt_hwrm_get_nvram_item(struct bnxt *bp, uint32_t index,
+@@ -3417,5 +3417,5 @@ int bnxt_hwrm_get_nvram_item(struct bnxt *bp, uint32_t index,
@@ -91 +66 @@
-@@ -3701,5 +3701,5 @@ int bnxt_hwrm_flash_nvram(struct bnxt *bp, uint16_t dir_type,
+@@ -3471,5 +3471,5 @@ int bnxt_hwrm_flash_nvram(struct bnxt *bp, uint16_t dir_type,
@@ -98 +73 @@
-@@ -3765,5 +3765,5 @@ static int bnxt_hwrm_func_vf_vnic_query(struct bnxt *bp, uint16_t vf,
+@@ -3535,5 +3535,5 @@ static int bnxt_hwrm_func_vf_vnic_query(struct bnxt *bp, uint16_t vf,
@@ -106 +81 @@
-index ada748c05..a9952e02c 100644
+index fcbd6bc6e..0628a0b4e 100644
@@ -109,2 +84,2 @@
-@@ -188,5 +188,5 @@ int bnxt_alloc_rings(struct bnxt *bp, uint16_t qidx,
- mz_phys_addr_base = rte_mem_virt2iova(mz->addr);
+@@ -164,5 +164,5 @@ int bnxt_alloc_rings(struct bnxt *bp, uint16_t qidx,
+ rte_mem_lock_page(((char *)mz->addr) + sz);
@@ -117 +92 @@
-index 20e5bf2d1..c652b8f03 100644
+index 9ebe7c963..cc0b0ae07 100644
@@ -120 +95 @@
-@@ -154,7 +154,7 @@ int bnxt_alloc_vnic_attributes(struct bnxt *bp)
+@@ -147,7 +147,7 @@ int bnxt_alloc_vnic_attributes(struct bnxt *bp)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix adding MAC address' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (35 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix check of address mapping' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix unconditional wait in link update' " Kevin Traynor
` (19 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Kalesh AP; +Cc: Somnath Kotur, Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/22db13c0f1e6c1489e4329144ca77c859dd843ba
Thanks.
Kevin Traynor
---
From 22db13c0f1e6c1489e4329144ca77c859dd843ba Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Thu, 18 Jul 2019 09:05:57 +0530
Subject: [PATCH] net/bnxt: fix adding MAC address
[ upstream commit d8b3bc78d804467ebf75e04beede0d941af91195 ]
HWRM command to add MAC address can fail. Driver should check
the return value of HWRM command and do the house keeping properly.
Fixes: 778b759ba10e ("net/bnxt: add MAC address")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index e701b7b16..f0b799764 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -782,4 +782,5 @@ static int bnxt_mac_addr_add_op(struct rte_eth_dev *eth_dev,
struct bnxt_vnic_info *vnic = &bp->vnic_info[pool];
struct bnxt_filter_info *filter;
+ int rc = 0;
if (BNXT_VF(bp) & !BNXT_VF_IS_TRUSTED(bp)) {
@@ -805,8 +806,18 @@ static int bnxt_mac_addr_add_op(struct rte_eth_dev *eth_dev,
return -ENODEV;
}
- STAILQ_INSERT_TAIL(&vnic->filter, filter, next);
+
filter->mac_index = index;
memcpy(filter->l2_addr, mac_addr, ETHER_ADDR_LEN);
- return bnxt_hwrm_set_l2_filter(bp, vnic->fw_vnic_id, filter);
+
+ rc = bnxt_hwrm_set_l2_filter(bp, vnic->fw_vnic_id, filter);
+ if (!rc) {
+ STAILQ_INSERT_TAIL(&vnic->filter, filter, next);
+ } else {
+ filter->mac_index = INVALID_MAC_INDEX;
+ memset(&filter->l2_addr, 0, ETHER_ADDR_LEN);
+ bnxt_free_filter(bp, filter);
+ }
+
+ return rc;
}
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.083369671 +0100
+++ 0039-net-bnxt-fix-adding-MAC-address.patch 2019-08-28 14:32:31.686956357 +0100
@@ -1 +1 @@
-From d8b3bc78d804467ebf75e04beede0d941af91195 Mon Sep 17 00:00:00 2001
+From 22db13c0f1e6c1489e4329144ca77c859dd843ba Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d8b3bc78d804467ebf75e04beede0d941af91195 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 306d62772..15048de3f 100644
+index e701b7b16..f0b799764 100644
@@ -23 +24 @@
-@@ -916,4 +916,5 @@ static int bnxt_mac_addr_add_op(struct rte_eth_dev *eth_dev,
+@@ -782,4 +782,5 @@ static int bnxt_mac_addr_add_op(struct rte_eth_dev *eth_dev,
@@ -29 +30 @@
-@@ -939,8 +940,18 @@ static int bnxt_mac_addr_add_op(struct rte_eth_dev *eth_dev,
+@@ -805,8 +806,18 @@ static int bnxt_mac_addr_add_op(struct rte_eth_dev *eth_dev,
@@ -35 +36 @@
- memcpy(filter->l2_addr, mac_addr, RTE_ETHER_ADDR_LEN);
+ memcpy(filter->l2_addr, mac_addr, ETHER_ADDR_LEN);
@@ -43 +44 @@
-+ memset(&filter->l2_addr, 0, RTE_ETHER_ADDR_LEN);
++ memset(&filter->l2_addr, 0, ETHER_ADDR_LEN);
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix unconditional wait in link update' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (36 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix adding MAC address' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix setting primary MAC address' " Kevin Traynor
` (18 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Kalesh AP; +Cc: Lance Richardson, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/052a49557654602d4a3567c81cb761813a6cf4c7
Thanks.
Kevin Traynor
---
From 052a49557654602d4a3567c81cb761813a6cf4c7 Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Thu, 18 Jul 2019 09:05:58 +0530
Subject: [PATCH] net/bnxt: fix unconditional wait in link update
[ upstream commit 0a44537589454a9aba3e9ad392218ad433fbf529 ]
There is an unconditional delay in link update op.
Fixed it to wait only if wait for request completion is set.
Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index f0b799764..20bca23c7 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -840,9 +840,10 @@ int bnxt_link_update_op(struct rte_eth_dev *eth_dev, int wait_to_complete)
goto out;
}
+
+ if (!wait_to_complete || new.link_status)
+ break;
+
rte_delay_ms(BNXT_LINK_WAIT_INTERVAL);
-
- if (!wait_to_complete)
- break;
- } while (!new.link_status && cnt--);
+ } while (cnt--);
out:
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.144590677 +0100
+++ 0040-net-bnxt-fix-unconditional-wait-in-link-update.patch 2019-08-28 14:32:31.689956290 +0100
@@ -1 +1 @@
-From 0a44537589454a9aba3e9ad392218ad433fbf529 Mon Sep 17 00:00:00 2001
+From 052a49557654602d4a3567c81cb761813a6cf4c7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0a44537589454a9aba3e9ad392218ad433fbf529 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 15048de3f..55b030a2b 100644
+index f0b799764..20bca23c7 100644
@@ -22 +23 @@
-@@ -974,9 +974,10 @@ int bnxt_link_update_op(struct rte_eth_dev *eth_dev, int wait_to_complete)
+@@ -840,9 +840,10 @@ int bnxt_link_update_op(struct rte_eth_dev *eth_dev, int wait_to_complete)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix setting primary MAC address' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (37 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix unconditional wait in link update' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix device init error path' " Kevin Traynor
` (17 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Kalesh AP; +Cc: Somnath Kotur, Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/e8ab24b4e0a8c137a5376bb75ca823fdcce92ab5
Thanks.
Kevin Traynor
---
From e8ab24b4e0a8c137a5376bb75ca823fdcce92ab5 Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Thu, 18 Jul 2019 09:05:59 +0530
Subject: [PATCH] net/bnxt: fix setting primary MAC address
[ upstream commit 68f589f2c728e7d893b2eacd86aca09b5546d690 ]
1. Default filter is tied to VNIC 0 at index 0. After finding the filter
with mac_index 0 and set the new MAC address, looping through
remaining filters is unnecessary.
2. Added a check for NULL MAC address.
3. bnxt_hwrm_set_l2_filter() clears the existing filter configuration
first before applying new filter settings. Hence there is no need to
invoke bnxt_hwrm_clear_l2_filter() explicitly in
bnxt_set_default_mac_addr_op().
Fixes: d69851df12b2 ("net/bnxt: support multicast filter and set MAC addr")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 20bca23c7..286f7cb8b 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1542,5 +1542,6 @@ bnxt_set_default_mac_addr_op(struct rte_eth_dev *dev, struct ether_addr *addr)
return -EPERM;
- memcpy(bp->mac_addr, addr, sizeof(bp->mac_addr));
+ if (is_zero_ether_addr(addr))
+ return -EINVAL;
STAILQ_FOREACH(filter, &vnic->filter, next) {
@@ -1548,7 +1549,5 @@ bnxt_set_default_mac_addr_op(struct rte_eth_dev *dev, struct ether_addr *addr)
if (filter->mac_index != 0)
continue;
- rc = bnxt_hwrm_clear_l2_filter(bp, filter);
- if (rc)
- return rc;
+
memcpy(filter->l2_addr, bp->mac_addr, ETHER_ADDR_LEN);
memset(filter->l2_addr_mask, 0xff, ETHER_ADDR_LEN);
@@ -1557,9 +1556,12 @@ bnxt_set_default_mac_addr_op(struct rte_eth_dev *dev, struct ether_addr *addr)
HWRM_CFA_L2_FILTER_ALLOC_INPUT_ENABLES_L2_ADDR |
HWRM_CFA_L2_FILTER_ALLOC_INPUT_ENABLES_L2_ADDR_MASK;
+
rc = bnxt_hwrm_set_l2_filter(bp, vnic->fw_vnic_id, filter);
if (rc)
return rc;
- filter->mac_index = 0;
+
+ memcpy(bp->mac_addr, addr, ETHER_ADDR_LEN);
PMD_DRV_LOG(DEBUG, "Set MAC addr\n");
+ return 0;
}
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.206735148 +0100
+++ 0041-net-bnxt-fix-setting-primary-MAC-address.patch 2019-08-28 14:32:31.692956223 +0100
@@ -1 +1 @@
-From 68f589f2c728e7d893b2eacd86aca09b5546d690 Mon Sep 17 00:00:00 2001
+From e8ab24b4e0a8c137a5376bb75ca823fdcce92ab5 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 68f589f2c728e7d893b2eacd86aca09b5546d690 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index 55b030a2b..70d24494a 100644
+index 20bca23c7..286f7cb8b 100644
@@ -29 +30 @@
-@@ -1700,5 +1700,6 @@ bnxt_set_default_mac_addr_op(struct rte_eth_dev *dev,
+@@ -1542,5 +1542,6 @@ bnxt_set_default_mac_addr_op(struct rte_eth_dev *dev, struct ether_addr *addr)
@@ -33 +34 @@
-+ if (rte_is_zero_ether_addr(addr))
++ if (is_zero_ether_addr(addr))
@@ -37 +38 @@
-@@ -1706,7 +1707,5 @@ bnxt_set_default_mac_addr_op(struct rte_eth_dev *dev,
+@@ -1548,7 +1549,5 @@ bnxt_set_default_mac_addr_op(struct rte_eth_dev *dev, struct ether_addr *addr)
@@ -44,3 +45,3 @@
- memcpy(filter->l2_addr, bp->mac_addr, RTE_ETHER_ADDR_LEN);
- memset(filter->l2_addr_mask, 0xff, RTE_ETHER_ADDR_LEN);
-@@ -1715,9 +1714,12 @@ bnxt_set_default_mac_addr_op(struct rte_eth_dev *dev,
+ memcpy(filter->l2_addr, bp->mac_addr, ETHER_ADDR_LEN);
+ memset(filter->l2_addr_mask, 0xff, ETHER_ADDR_LEN);
+@@ -1557,9 +1556,12 @@ bnxt_set_default_mac_addr_op(struct rte_eth_dev *dev, struct ether_addr *addr)
@@ -55 +56 @@
-+ memcpy(bp->mac_addr, addr, RTE_ETHER_ADDR_LEN);
++ memcpy(bp->mac_addr, addr, ETHER_ADDR_LEN);
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix device init error path' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (38 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix setting primary MAC address' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: reset filters before registering interrupts' " Kevin Traynor
` (16 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Kalesh AP; +Cc: Somnath Kotur, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/65bfa7430b52074ec8abea5e957ead68f48291cd
Thanks.
Kevin Traynor
---
From 65bfa7430b52074ec8abea5e957ead68f48291cd Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Thu, 18 Jul 2019 09:06:00 +0530
Subject: [PATCH] net/bnxt: fix device init error path
[ upstream commit 7d2d64c76cb5b0ebacbb989cb8055d3ce2e4c3a1 ]
1. bnxt_dev_init() invokes bnxt_dev_uninit() on failure. So there is
no need to do individual function cleanups in failure path.
2. rearrange the check for primary process to remove an unwanted goto.
3. fix to invoke bnxt_hwrm_func_buf_unrgtr() in bnxt_dev_uninit() when
it is needed.
Fixes: b7778e8a1c00 ("net/bnxt: refactor to properly allocate resources for PF/VF")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 28 ++++++++++++++--------------
drivers/net/bnxt/bnxt_hwrm.c | 3 +++
2 files changed, 17 insertions(+), 14 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 286f7cb8b..15f2bdcf4 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -3282,6 +3282,14 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev)
bp->dev_stopped = 1;
+ eth_dev->dev_ops = &bnxt_dev_ops;
+ eth_dev->rx_pkt_burst = &bnxt_recv_pkts;
+ eth_dev->tx_pkt_burst = &bnxt_xmit_pkts;
+
+ /*
+ * For secondary processes, we don't initialise any further
+ * as primary has already done this work.
+ */
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
- goto skip_init;
+ return 0;
if (bnxt_vf_pciid(pci_dev->id.device_id))
@@ -3294,10 +3302,4 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev)
goto error;
}
-skip_init:
- eth_dev->dev_ops = &bnxt_dev_ops;
- eth_dev->rx_pkt_burst = &bnxt_recv_pkts;
- eth_dev->tx_pkt_burst = &bnxt_xmit_pkts;
- if (rte_eal_process_type() != RTE_PROC_PRIMARY)
- return 0;
if (pci_dev->id.device_id != BROADCOM_DEV_ID_NS2) {
@@ -3548,9 +3550,9 @@ skip_ext_stats:
rc = bnxt_alloc_mem(bp);
if (rc)
- goto error_free_int;
+ goto error_free;
rc = bnxt_request_int(bp);
if (rc)
- goto error_free_int;
+ goto error_free;
bnxt_init_nic(bp);
@@ -3558,9 +3560,4 @@ skip_ext_stats:
return 0;
-error_free_int:
- bnxt_disable_int(bp);
- bnxt_hwrm_func_buf_unrgtr(bp);
- bnxt_free_int(bp);
- bnxt_free_mem(bp);
error_free:
bnxt_dev_uninit(eth_dev);
@@ -3582,4 +3579,7 @@ bnxt_dev_uninit(struct rte_eth_dev *eth_dev)
bnxt_free_int(bp);
bnxt_free_mem(bp);
+
+ bnxt_hwrm_func_buf_unrgtr(bp);
+
if (bp->grp_info != NULL) {
rte_free(bp->grp_info);
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 79803b4d0..0713e86f9 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -2969,4 +2969,7 @@ int bnxt_hwrm_func_buf_unrgtr(struct bnxt *bp)
struct hwrm_func_buf_unrgtr_output *resp = bp->hwrm_cmd_resp_addr;
+ if (!(BNXT_PF(bp) && bp->pdev->max_vfs))
+ return 0;
+
HWRM_PREP(req, FUNC_BUF_UNRGTR, BNXT_USE_CHIMP_MB);
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.267944257 +0100
+++ 0042-net-bnxt-fix-device-init-error-path.patch 2019-08-28 14:32:31.698956089 +0100
@@ -1 +1 @@
-From 7d2d64c76cb5b0ebacbb989cb8055d3ce2e4c3a1 Mon Sep 17 00:00:00 2001
+From 65bfa7430b52074ec8abea5e957ead68f48291cd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7d2d64c76cb5b0ebacbb989cb8055d3ce2e4c3a1 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 70d24494a..4d1c9adb9 100644
+index 286f7cb8b..15f2bdcf4 100644
@@ -26 +27 @@
-@@ -3854,6 +3854,14 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev)
+@@ -3282,6 +3282,14 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev)
@@ -42 +43 @@
-@@ -3872,10 +3880,4 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev)
+@@ -3294,10 +3302,4 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev)
@@ -52,2 +53,2 @@
- rc = bnxt_alloc_hwrm_resources(bp);
-@@ -4022,9 +4024,9 @@ skip_init:
+ if (pci_dev->id.device_id != BROADCOM_DEV_ID_NS2) {
+@@ -3548,9 +3550,9 @@ skip_ext_stats:
@@ -65 +66 @@
-@@ -4032,9 +4034,4 @@ skip_init:
+@@ -3558,9 +3560,4 @@ skip_ext_stats:
@@ -75 +76 @@
-@@ -4056,4 +4053,7 @@ bnxt_dev_uninit(struct rte_eth_dev *eth_dev)
+@@ -3582,4 +3579,7 @@ bnxt_dev_uninit(struct rte_eth_dev *eth_dev)
@@ -84 +85 @@
-index 9c5e5ad77..27c4f2d88 100644
+index 79803b4d0..0713e86f9 100644
@@ -87 +88 @@
-@@ -3200,4 +3200,7 @@ int bnxt_hwrm_func_buf_unrgtr(struct bnxt *bp)
+@@ -2969,4 +2969,7 @@ int bnxt_hwrm_func_buf_unrgtr(struct bnxt *bp)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: reset filters before registering interrupts' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (39 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix device init error path' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: retry IRQ callback deregistration' " Kevin Traynor
` (15 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Kalesh AP; +Cc: Somnath Kotur, Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/cab07f52210e5e74e13d528af330393110a6eb9a
Thanks.
Kevin Traynor
---
From cab07f52210e5e74e13d528af330393110a6eb9a Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Thu, 18 Jul 2019 09:06:01 +0530
Subject: [PATCH] net/bnxt: reset filters before registering interrupts
[ upstream commit 161964c6dc70f01244e5e399a852d9dc10007caf ]
If interrupt registration fails during device init, driver invokes
uninit which in turn causes error messages while trying to free
vnic filters. Fix this by moving filter initialization call before
interrupt registration.
Fixes: 1b533790f44e ("net/bnxt: avoid invalid vnic id in set L2 Rx mask")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 15f2bdcf4..0bfa386aa 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -3552,10 +3552,10 @@ skip_ext_stats:
goto error_free;
- rc = bnxt_request_int(bp);
- if (rc)
- goto error_free;
-
bnxt_init_nic(bp);
+ rc = bnxt_request_int(bp);
+ if (rc)
+ goto error_free;
+
return 0;
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.333195858 +0100
+++ 0043-net-bnxt-reset-filters-before-registering-interrupts.patch 2019-08-28 14:32:31.701956023 +0100
@@ -1 +1 @@
-From 161964c6dc70f01244e5e399a852d9dc10007caf Mon Sep 17 00:00:00 2001
+From cab07f52210e5e74e13d528af330393110a6eb9a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 161964c6dc70f01244e5e399a852d9dc10007caf ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 4d1c9adb9..3368508df 100644
+index 15f2bdcf4..0bfa386aa 100644
@@ -25 +26 @@
-@@ -4026,10 +4026,10 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev)
+@@ -3552,10 +3552,10 @@ skip_ext_stats:
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: retry IRQ callback deregistration' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (40 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: reset filters before registering interrupts' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix return values to standard error codes' " Kevin Traynor
` (14 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Lance Richardson; +Cc: Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/34210b2596d636be102d900ef46cd684a87daef6
Thanks.
Kevin Traynor
---
From 34210b2596d636be102d900ef46cd684a87daef6 Mon Sep 17 00:00:00 2001
From: Lance Richardson <lance.richardson@broadcom.com>
Date: Thu, 18 Jul 2019 09:06:04 +0530
Subject: [PATCH] net/bnxt: retry IRQ callback deregistration
[ upstream commit 43f78b380f89a1b4693e64d5a84a2dff801b9c9d ]
rte_intr_callback_unregister() can fail if the handler happens to
be active at the time of the call. Add logic to retry a reasonable
number of times to help ensure that the callback is unregistered
on uninit.
Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification")
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_irq.c | 69 ++++++++++++++++++++++++++-----------
drivers/net/bnxt/bnxt_irq.h | 2 +-
2 files changed, 50 insertions(+), 21 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_irq.c b/drivers/net/bnxt/bnxt_irq.c
index fc60839ae..9c913d2da 100644
--- a/drivers/net/bnxt/bnxt_irq.c
+++ b/drivers/net/bnxt/bnxt_irq.c
@@ -6,4 +6,5 @@
#include <inttypes.h>
+#include <rte_cycles.h>
#include <rte_malloc.h>
@@ -49,22 +50,43 @@ static void bnxt_int_handler(void *param)
}
-void bnxt_free_int(struct bnxt *bp)
+int bnxt_free_int(struct bnxt *bp)
{
- struct bnxt_irq *irq;
-
- if (bp->irq_tbl == NULL)
- return;
-
- irq = bp->irq_tbl;
- if (irq) {
- if (irq->requested) {
- rte_intr_callback_unregister(&bp->pdev->intr_handle,
- irq->handler,
- (void *)bp->eth_dev);
- irq->requested = 0;
+ struct rte_intr_handle *intr_handle = &bp->pdev->intr_handle;
+ struct bnxt_irq *irq = bp->irq_tbl;
+ int rc = 0;
+
+ if (!irq)
+ return 0;
+
+ if (irq->requested) {
+ int count = 0;
+
+ /*
+ * Callback deregistration will fail with rc -EAGAIN if the
+ * callback is currently active. Retry every 50 ms until
+ * successful or 500 ms has elapsed.
+ */
+ do {
+ rc = rte_intr_callback_unregister(intr_handle,
+ irq->handler,
+ bp->eth_dev);
+ if (rc >= 0) {
+ irq->requested = 0;
+ break;
+ }
+ rte_delay_ms(50);
+ } while (count++ < 10);
+
+ if (rc < 0) {
+ PMD_DRV_LOG(ERR, "irq cb unregister failed rc: %d\n",
+ rc);
+ return rc;
}
- rte_free((void *)bp->irq_tbl);
- bp->irq_tbl = NULL;
}
+
+ rte_free(bp->irq_tbl);
+ bp->irq_tbl = NULL;
+
+ return 0;
}
@@ -117,12 +139,19 @@ setup_exit:
int bnxt_request_int(struct bnxt *bp)
{
- int rc = 0;
-
+ struct rte_intr_handle *intr_handle = &bp->pdev->intr_handle;
struct bnxt_irq *irq = bp->irq_tbl;
+ int rc = 0;
- rte_intr_callback_register(&bp->pdev->intr_handle, irq->handler,
- (void *)bp->eth_dev);
+ if (!irq)
+ return 0;
+
+ if (!irq->requested) {
+ rc = rte_intr_callback_register(intr_handle,
+ irq->handler,
+ bp->eth_dev);
+ if (!rc)
+ irq->requested = 1;
+ }
- irq->requested = 1;
return rc;
}
diff --git a/drivers/net/bnxt/bnxt_irq.h b/drivers/net/bnxt/bnxt_irq.h
index 75ba2135b..460a97a09 100644
--- a/drivers/net/bnxt/bnxt_irq.h
+++ b/drivers/net/bnxt/bnxt_irq.h
@@ -18,5 +18,5 @@ struct bnxt_irq {
struct bnxt;
-void bnxt_free_int(struct bnxt *bp);
+int bnxt_free_int(struct bnxt *bp);
void bnxt_disable_int(struct bnxt *bp);
void bnxt_enable_int(struct bnxt *bp);
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.395321045 +0100
+++ 0044-net-bnxt-retry-IRQ-callback-deregistration.patch 2019-08-28 14:32:31.701956023 +0100
@@ -1 +1 @@
-From 43f78b380f89a1b4693e64d5a84a2dff801b9c9d Mon Sep 17 00:00:00 2001
+From 34210b2596d636be102d900ef46cd684a87daef6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 43f78b380f89a1b4693e64d5a84a2dff801b9c9d ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 6c4dce401..9016871a2 100644
+index fc60839ae..9c913d2da 100644
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix return values to standard error codes' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (41 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: retry IRQ callback deregistration' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix lock release on getting NVM info' " Kevin Traynor
` (13 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Kalesh AP; +Cc: Somnath Kotur, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/1f49e67da91ba94cc3f3a03f7e17070cc0d3696e
Thanks.
Kevin Traynor
---
From 1f49e67da91ba94cc3f3a03f7e17070cc0d3696e Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Thu, 18 Jul 2019 09:06:06 +0530
Subject: [PATCH] net/bnxt: fix return values to standard error codes
[ upstream commit e67daabd224bbd3d95a03f1192ea78db6314c0f4 ]
Fixed the return values of few routines to return standard error code.
Also fixed few error logs to more meaningful one.
Fixes: 804e746c7b73 ("net/bnxt: add hardware resource manager init code")
Fixes: e3d8f1e6a665 ("net/bnxt: cache address of doorbell to subsequent access")
Fixes: 19e6af01bb36 ("net/bnxt: support get/set EEPROM")
Fixes: b7435d660a8c ("net/bnxt: add ntuple filtering support")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 44 +++++++---------------------------
drivers/net/bnxt/bnxt_hwrm.c | 30 ++++++++++-------------
2 files changed, 20 insertions(+), 54 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 0bfa386aa..611a5302d 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1974,5 +1974,5 @@ bnxt_ethertype_filter(struct rte_eth_dev *dev,
filter1 = bnxt_get_l2_filter(bp, bfilter, vnic0);
if (filter1 == NULL) {
- ret = -1;
+ ret = -EINVAL;
goto cleanup;
}
@@ -2168,5 +2168,5 @@ bnxt_cfg_ntuple_filter(struct bnxt *bp,
filter1 = STAILQ_FIRST(&vnic0->filter);
if (filter1 == NULL) {
- ret = -1;
+ ret = -EINVAL;
goto free_filter;
}
@@ -3108,5 +3108,4 @@ bnxt_set_eeprom_op(struct rte_eth_dev *dev,
return bnxt_hwrm_flash_nvram(bp, type, ordinal, ext, attr,
in_eeprom->data, in_eeprom->length);
- return 0;
}
@@ -3210,14 +3209,13 @@ bool bnxt_stratus_device(struct bnxt *bp)
static int bnxt_init_board(struct rte_eth_dev *eth_dev)
{
- struct bnxt *bp = eth_dev->data->dev_private;
struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
- int rc;
+ struct bnxt *bp = eth_dev->data->dev_private;
/* enable device (incl. PCI PM wakeup), and bus-mastering */
- if (!pci_dev->mem_resource[0].addr) {
- PMD_DRV_LOG(ERR,
- "Cannot find PCI device base address, aborting\n");
- rc = -ENODEV;
- goto init_err_disable;
+ bp->bar0 = (void *)pci_dev->mem_resource[0].addr;
+ bp->doorbell_base = (void *)pci_dev->mem_resource[2].addr;
+ if (!bp->bar0 || !bp->doorbell_base) {
+ PMD_DRV_LOG(ERR, "Unable to access Hardware\n");
+ return -ENODEV;
}
@@ -3225,31 +3223,5 @@ static int bnxt_init_board(struct rte_eth_dev *eth_dev)
bp->pdev = pci_dev;
- bp->bar0 = (void *)pci_dev->mem_resource[0].addr;
- if (!bp->bar0) {
- PMD_DRV_LOG(ERR, "Cannot map device registers, aborting\n");
- rc = -ENOMEM;
- goto init_err_release;
- }
-
- if (!pci_dev->mem_resource[2].addr) {
- PMD_DRV_LOG(ERR,
- "Cannot find PCI device BAR 2 address, aborting\n");
- rc = -ENODEV;
- goto init_err_release;
- } else {
- bp->doorbell_base = (void *)pci_dev->mem_resource[2].addr;
- }
-
return 0;
-
-init_err_release:
- if (bp->bar0)
- bp->bar0 = NULL;
- if (bp->doorbell_base)
- bp->doorbell_base = NULL;
-
-init_err_disable:
-
- return rc;
}
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 0713e86f9..865b42870 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -140,12 +140,9 @@ static int bnxt_hwrm_send_message(struct bnxt *bp, void *msg,
if (i >= HWRM_CMD_TIMEOUT) {
- PMD_DRV_LOG(ERR, "Error sending msg 0x%04x\n",
- req->req_type);
- goto err_ret;
+ PMD_DRV_LOG(ERR, "Error(timeout) sending msg 0x%04x\n",
+ req->req_type);
+ return -ETIMEDOUT;
}
return 0;
-
-err_ret:
- return -1;
}
@@ -1134,5 +1131,5 @@ int bnxt_hwrm_ring_alloc(struct bnxt *bp,
ring_type);
HWRM_UNLOCK();
- return -1;
+ return -EINVAL;
}
req.enables = rte_cpu_to_le_32(enables);
@@ -2703,5 +2700,5 @@ int bnxt_hwrm_allocate_pf_only(struct bnxt *bp)
if (!BNXT_PF(bp)) {
PMD_DRV_LOG(ERR, "Attempt to allcoate VFs on a VF!\n");
- return -1;
+ return -EINVAL;
}
@@ -2730,5 +2727,5 @@ int bnxt_hwrm_allocate_vfs(struct bnxt *bp, int num_vfs)
if (!BNXT_PF(bp)) {
PMD_DRV_LOG(ERR, "Attempt to allcoate VFs on a VF!\n");
- return -1;
+ return -EINVAL;
}
@@ -3582,8 +3579,7 @@ int bnxt_hwrm_func_vf_vnic_query_and_config(struct bnxt *bp, uint16_t vf,
vnic_ids = rte_malloc("bnxt_hwrm_vf_vnic_ids_query", vnic_id_sz,
RTE_CACHE_LINE_SIZE);
- if (vnic_ids == NULL) {
- rc = -ENOMEM;
- return rc;
- }
+ if (vnic_ids == NULL)
+ return -ENOMEM;
+
for (sz = 0; sz < vnic_id_sz; sz += getpagesize())
rte_mem_lock_page(((char *)vnic_ids) + sz);
@@ -3652,8 +3648,6 @@ int bnxt_hwrm_func_qcfg_vf_dflt_vnic_id(struct bnxt *bp, int vf)
vnic_ids = rte_malloc("bnxt_hwrm_vf_vnic_ids_query", vnic_id_sz,
RTE_CACHE_LINE_SIZE);
- if (vnic_ids == NULL) {
- rc = -ENOMEM;
- return rc;
- }
+ if (vnic_ids == NULL)
+ return -ENOMEM;
for (sz = 0; sz < vnic_id_sz; sz += getpagesize())
@@ -3686,5 +3680,5 @@ int bnxt_hwrm_func_qcfg_vf_dflt_vnic_id(struct bnxt *bp, int vf)
exit:
rte_free(vnic_ids);
- return -1;
+ return rc;
}
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.456056820 +0100
+++ 0045-net-bnxt-fix-return-values-to-standard-error-codes.patch 2019-08-28 14:32:31.707955889 +0100
@@ -1 +1 @@
-From e67daabd224bbd3d95a03f1192ea78db6314c0f4 Mon Sep 17 00:00:00 2001
+From 1f49e67da91ba94cc3f3a03f7e17070cc0d3696e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e67daabd224bbd3d95a03f1192ea78db6314c0f4 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -18,3 +19,3 @@
- drivers/net/bnxt/bnxt_ethdev.c | 46 +++++++---------------------------
- drivers/net/bnxt/bnxt_hwrm.c | 30 +++++++++-------------
- 2 files changed, 21 insertions(+), 55 deletions(-)
+ drivers/net/bnxt/bnxt_ethdev.c | 44 +++++++---------------------------
+ drivers/net/bnxt/bnxt_hwrm.c | 30 ++++++++++-------------
+ 2 files changed, 20 insertions(+), 54 deletions(-)
@@ -23 +24 @@
-index 3368508df..69244b8c5 100644
+index 0bfa386aa..611a5302d 100644
@@ -26 +27 @@
-@@ -2153,5 +2153,5 @@ bnxt_ethertype_filter(struct rte_eth_dev *dev,
+@@ -1974,5 +1974,5 @@ bnxt_ethertype_filter(struct rte_eth_dev *dev,
@@ -33 +34 @@
-@@ -2347,5 +2347,5 @@ bnxt_cfg_ntuple_filter(struct bnxt *bp,
+@@ -2168,5 +2168,5 @@ bnxt_cfg_ntuple_filter(struct bnxt *bp,
@@ -40 +41 @@
-@@ -3289,5 +3289,4 @@ bnxt_set_eeprom_op(struct rte_eth_dev *dev,
+@@ -3108,5 +3108,4 @@ bnxt_set_eeprom_op(struct rte_eth_dev *dev,
@@ -46 +47 @@
-@@ -3392,14 +3391,13 @@ bool bnxt_stratus_device(struct bnxt *bp)
+@@ -3210,14 +3209,13 @@ bool bnxt_stratus_device(struct bnxt *bp)
@@ -67 +68 @@
-@@ -3407,31 +3405,5 @@ static int bnxt_init_board(struct rte_eth_dev *eth_dev)
+@@ -3225,31 +3223,5 @@ static int bnxt_init_board(struct rte_eth_dev *eth_dev)
@@ -99,7 +99,0 @@
-@@ -3673,5 +3645,5 @@ int bnxt_alloc_ctx_mem(struct bnxt *bp)
- ctx->flags |= BNXT_CTX_FLAG_INITED;
-
-- return 0;
-+ return rc;
- }
-
@@ -107 +101 @@
-index abc6d4220..456cc76b8 100644
+index 0713e86f9..865b42870 100644
@@ -110 +104 @@
-@@ -153,12 +153,9 @@ static int bnxt_hwrm_send_message(struct bnxt *bp, void *msg,
+@@ -140,12 +140,9 @@ static int bnxt_hwrm_send_message(struct bnxt *bp, void *msg,
@@ -126 +120 @@
-@@ -1218,5 +1215,5 @@ int bnxt_hwrm_ring_alloc(struct bnxt *bp,
+@@ -1134,5 +1131,5 @@ int bnxt_hwrm_ring_alloc(struct bnxt *bp,
@@ -133 +127 @@
-@@ -2931,5 +2928,5 @@ int bnxt_hwrm_allocate_pf_only(struct bnxt *bp)
+@@ -2703,5 +2700,5 @@ int bnxt_hwrm_allocate_pf_only(struct bnxt *bp)
@@ -140 +134 @@
-@@ -2959,5 +2956,5 @@ int bnxt_hwrm_allocate_vfs(struct bnxt *bp, int num_vfs)
+@@ -2730,5 +2727,5 @@ int bnxt_hwrm_allocate_vfs(struct bnxt *bp, int num_vfs)
@@ -147 +141 @@
-@@ -3801,8 +3798,7 @@ int bnxt_hwrm_func_vf_vnic_query_and_config(struct bnxt *bp, uint16_t vf,
+@@ -3582,8 +3579,7 @@ int bnxt_hwrm_func_vf_vnic_query_and_config(struct bnxt *bp, uint16_t vf,
@@ -159 +153 @@
-@@ -3871,8 +3867,6 @@ int bnxt_hwrm_func_qcfg_vf_dflt_vnic_id(struct bnxt *bp, int vf)
+@@ -3652,8 +3648,6 @@ int bnxt_hwrm_func_qcfg_vf_dflt_vnic_id(struct bnxt *bp, int vf)
@@ -170 +164 @@
-@@ -3905,5 +3899,5 @@ int bnxt_hwrm_func_qcfg_vf_dflt_vnic_id(struct bnxt *bp, int vf)
+@@ -3686,5 +3680,5 @@ int bnxt_hwrm_func_qcfg_vf_dflt_vnic_id(struct bnxt *bp, int vf)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix lock release on getting NVM info' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (42 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix return values to standard error codes' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix getting statistics' " Kevin Traynor
` (12 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Kalesh AP; +Cc: Somnath Kotur, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/0ec58c089cd8e143a12095eda1a6a62b15db91d7
Thanks.
Kevin Traynor
---
From 0ec58c089cd8e143a12095eda1a6a62b15db91d7 Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Thu, 18 Jul 2019 09:06:07 +0530
Subject: [PATCH] net/bnxt: fix lock release on getting NVM info
[ upstream commit 6d91fd2ffeab103b70d8d607691b347d583dba6c ]
HWRM response was parsed after releasing the spinlock.
Fixes: 19e6af01bb36 ("net/bnxt: support get/set EEPROM")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
drivers/net/bnxt/bnxt_hwrm.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 865b42870..bdcc8ee9b 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -3347,10 +3347,9 @@ int bnxt_hwrm_nvm_get_dir_info(struct bnxt *bp, uint32_t *entries,
HWRM_CHECK_RESULT();
+
+ *entries = rte_le_to_cpu_32(resp->entries);
+ *length = rte_le_to_cpu_32(resp->entry_length);
+
HWRM_UNLOCK();
-
- if (!rc) {
- *entries = rte_le_to_cpu_32(resp->entries);
- *length = rte_le_to_cpu_32(resp->entry_length);
- }
return rc;
}
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.523195038 +0100
+++ 0046-net-bnxt-fix-lock-release-on-getting-NVM-info.patch 2019-08-28 14:32:31.710955822 +0100
@@ -1 +1 @@
-From 6d91fd2ffeab103b70d8d607691b347d583dba6c Mon Sep 17 00:00:00 2001
+From 0ec58c089cd8e143a12095eda1a6a62b15db91d7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6d91fd2ffeab103b70d8d607691b347d583dba6c ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 456cc76b8..2e198fcae 100644
+index 865b42870..bdcc8ee9b 100644
@@ -21 +22 @@
-@@ -3575,10 +3575,9 @@ int bnxt_hwrm_nvm_get_dir_info(struct bnxt *bp, uint32_t *entries,
+@@ -3347,10 +3347,9 @@ int bnxt_hwrm_nvm_get_dir_info(struct bnxt *bp, uint32_t *entries,
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix getting statistics' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (43 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix lock release on getting NVM info' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix checking result of HWRM command' " Kevin Traynor
` (11 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Lance Richardson; +Cc: Kalesh AP, Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/7ce0d3877090030eaeb6ed339ca73d6b9d9450ee
Thanks.
Kevin Traynor
---
From 7ce0d3877090030eaeb6ed339ca73d6b9d9450ee Mon Sep 17 00:00:00 2001
From: Lance Richardson <lance.richardson@broadcom.com>
Date: Thu, 18 Jul 2019 09:06:13 +0530
Subject: [PATCH] net/bnxt: fix getting statistics
[ upstream commit 75306ee088915446c50e5525fc657fad28ee6935 ]
Avoid overrun in rte_eth_stats struct when the number of tx/rx
rings in use is greater than RTE_ETHDEV_QUEUE_STAT_CNTRS.
Fixes: 57d5e5bc86e4 ("net/bnxt: add statistics")
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_stats.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_stats.c b/drivers/net/bnxt/bnxt_stats.c
index 73e909691..aa1ab805d 100644
--- a/drivers/net/bnxt/bnxt_stats.c
+++ b/drivers/net/bnxt/bnxt_stats.c
@@ -351,4 +351,5 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev,
unsigned int i;
struct bnxt *bp = eth_dev->data->dev_private;
+ unsigned int num_q_stats;
memset(bnxt_stats, 0, sizeof(*bnxt_stats));
@@ -358,5 +359,8 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev,
}
- for (i = 0; i < bp->rx_cp_nr_rings; i++) {
+ num_q_stats = RTE_MIN(bp->rx_cp_nr_rings,
+ (unsigned int)RTE_ETHDEV_QUEUE_STAT_CNTRS);
+
+ for (i = 0; i < num_q_stats; i++) {
struct bnxt_rx_queue *rxq = bp->rx_queues[i];
struct bnxt_cp_ring_info *cpr = rxq->cp_ring;
@@ -370,5 +374,8 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev,
}
- for (i = 0; i < bp->tx_cp_nr_rings; i++) {
+ num_q_stats = RTE_MIN(bp->tx_cp_nr_rings,
+ (unsigned int)RTE_ETHDEV_QUEUE_STAT_CNTRS);
+
+ for (i = 0; i < num_q_stats; i++) {
struct bnxt_tx_queue *txq = bp->tx_queues[i];
struct bnxt_cp_ring_info *cpr = txq->cp_ring;
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.592561062 +0100
+++ 0047-net-bnxt-fix-getting-statistics.patch 2019-08-28 14:32:31.711955800 +0100
@@ -1 +1 @@
-From 75306ee088915446c50e5525fc657fad28ee6935 Mon Sep 17 00:00:00 2001
+From 7ce0d3877090030eaeb6ed339ca73d6b9d9450ee Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 75306ee088915446c50e5525fc657fad28ee6935 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 3cd5144ec..4e74f8a27 100644
+index 73e909691..aa1ab805d 100644
@@ -23 +24 @@
-@@ -352,4 +352,5 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev,
+@@ -351,4 +351,5 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev,
@@ -29 +30 @@
-@@ -359,5 +360,8 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev,
+@@ -358,5 +359,8 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev,
@@ -39 +40 @@
-@@ -371,5 +375,8 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev,
+@@ -370,5 +374,8 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev,
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix checking result of HWRM command' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (44 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix getting statistics' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix Rx interrupt vector' " Kevin Traynor
` (10 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Kalesh AP; +Cc: Somnath Kotur, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/7027e5d633ee891975a65136ec992efa09d78a36
Thanks.
Kevin Traynor
---
From 7027e5d633ee891975a65136ec992efa09d78a36 Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Date: Thu, 18 Jul 2019 09:06:15 +0530
Subject: [PATCH] net/bnxt: fix checking result of HWRM command
[ upstream commit 5151df16fb640019692c96b0126d608f8c653173 ]
HWRM_CHECK_RESULT macro is used to check the status of HWRM commands.
Fixes: 18c2854b96dd ("net/bnxt: configure a default VF VLAN")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
drivers/net/bnxt/bnxt_hwrm.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index bdcc8ee9b..5c899971b 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -2658,12 +2658,5 @@ int bnxt_hwrm_func_qcfg_current_vf_vlan(struct bnxt *bp, int vf)
req.fid = rte_cpu_to_le_16(bp->pf.vf_info[vf].fid);
rc = bnxt_hwrm_send_message(bp, &req, sizeof(req), BNXT_USE_CHIMP_MB);
- if (rc) {
- PMD_DRV_LOG(ERR, "hwrm_func_qcfg failed rc:%d\n", rc);
- return -1;
- } else if (resp->error_code) {
- rc = rte_le_to_cpu_16(resp->error_code);
- PMD_DRV_LOG(ERR, "hwrm_func_qcfg error %d\n", rc);
- return -1;
- }
+ HWRM_CHECK_RESULT();
rc = rte_le_to_cpu_16(resp->vlan);
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.652846134 +0100
+++ 0048-net-bnxt-fix-checking-result-of-HWRM-command.patch 2019-08-28 14:32:31.714955733 +0100
@@ -1 +1 @@
-From 5151df16fb640019692c96b0126d608f8c653173 Mon Sep 17 00:00:00 2001
+From 7027e5d633ee891975a65136ec992efa09d78a36 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5151df16fb640019692c96b0126d608f8c653173 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 971713b53..045ce4a9c 100644
+index bdcc8ee9b..5c899971b 100644
@@ -21 +22 @@
-@@ -2885,12 +2885,5 @@ int bnxt_hwrm_func_qcfg_current_vf_vlan(struct bnxt *bp, int vf)
+@@ -2658,12 +2658,5 @@ int bnxt_hwrm_func_qcfg_current_vf_vlan(struct bnxt *bp, int vf)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix Rx interrupt vector' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (45 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix checking result of HWRM command' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix interrupt rearm logic' " Kevin Traynor
` (9 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Ajit Khaparde, Rahul Gupta, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/e31e046b9d6a7f787c7dae0d76061b27b0abebaa
Thanks.
Kevin Traynor
---
From e31e046b9d6a7f787c7dae0d76061b27b0abebaa Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Fri, 19 Jul 2019 11:49:02 +0530
Subject: [PATCH] net/bnxt: fix Rx interrupt vector
[ upstream commit d261c9ef56f4c6af645b71a9a9c841bbbe24e3a9 ]
The receive interrupt vector should be offset by the constant
RTE_INTR_VEC_RXTX_OFFSET; otherwise setting up some queue interrupts
will fail.
Fixes: 1fe427fd08ee ("net/bnxt: support enable/disable interrupt")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Tested-by: Rahul Gupta <rahul.gupta@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 611a5302d..7d156d06a 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -377,5 +377,6 @@ static int bnxt_init_chip(struct bnxt *bp)
for (queue_id = 0; queue_id < bp->eth_dev->data->nb_rx_queues;
queue_id++) {
- intr_handle->intr_vec[queue_id] = vec;
+ intr_handle->intr_vec[queue_id] =
+ vec + BNXT_RX_VEC_START;
if (vec < base + intr_handle->nb_efd - 1)
vec++;
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.714902070 +0100
+++ 0049-net-bnxt-fix-Rx-interrupt-vector.patch 2019-08-28 14:32:31.717955666 +0100
@@ -1 +1 @@
-From d261c9ef56f4c6af645b71a9a9c841bbbe24e3a9 Mon Sep 17 00:00:00 2001
+From e31e046b9d6a7f787c7dae0d76061b27b0abebaa Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d261c9ef56f4c6af645b71a9a9c841bbbe24e3a9 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 910784101..b336a234c 100644
+index 611a5302d..7d156d06a 100644
@@ -25 +26 @@
-@@ -419,5 +419,6 @@ static int bnxt_init_chip(struct bnxt *bp)
+@@ -377,5 +377,6 @@ static int bnxt_init_chip(struct bnxt *bp)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix interrupt rearm logic' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (46 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix Rx interrupt vector' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: remove unnecessary interrupt disable' " Kevin Traynor
` (8 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Rahul Gupta; +Cc: Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/191eb5da7db54d6bdfb3ffd3289a998970f6ed07
Thanks.
Kevin Traynor
---
From 191eb5da7db54d6bdfb3ffd3289a998970f6ed07 Mon Sep 17 00:00:00 2001
From: Rahul Gupta <rahul.gupta@broadcom.com>
Date: Fri, 19 Jul 2019 11:49:03 +0530
Subject: [PATCH] net/bnxt: fix interrupt rearm logic
[ upstream commit c79012a3b019bbfa7aefaa567b2b61bda2f5b44b ]
Rearm will intimate hardware that current interrupts are processed
and it can continue to send more.
Fixes: 1fe427fd08ee ("net/bnxt: support enable/disable interrupt")
Signed-off-by: Rahul Gupta <rahul.gupta@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_rxq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c
index efd5f947e..1fbc66271 100644
--- a/drivers/net/bnxt/bnxt_rxq.c
+++ b/drivers/net/bnxt/bnxt_rxq.c
@@ -374,5 +374,5 @@ bnxt_rx_queue_intr_enable_op(struct rte_eth_dev *eth_dev, uint16_t queue_id)
}
cpr = rxq->cp_ring;
- B_CP_DB_ARM(cpr);
+ B_CP_DB_REARM(cpr, cpr->cp_raw_cons);
}
return rc;
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.776768267 +0100
+++ 0050-net-bnxt-fix-interrupt-rearm-logic.patch 2019-08-28 14:32:31.718955644 +0100
@@ -1 +1 @@
-From c79012a3b019bbfa7aefaa567b2b61bda2f5b44b Mon Sep 17 00:00:00 2001
+From 191eb5da7db54d6bdfb3ffd3289a998970f6ed07 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c79012a3b019bbfa7aefaa567b2b61bda2f5b44b ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index c94cac5a9..e0eb890f8 100644
+index efd5f947e..1fbc66271 100644
@@ -22 +23 @@
-@@ -375,5 +375,5 @@ bnxt_rx_queue_intr_enable_op(struct rte_eth_dev *eth_dev, uint16_t queue_id)
+@@ -374,5 +374,5 @@ bnxt_rx_queue_intr_enable_op(struct rte_eth_dev *eth_dev, uint16_t queue_id)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/bnxt: remove unnecessary interrupt disable' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (47 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: fix interrupt rearm logic' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/e1000: fix buffer overrun while i219 processing DMA' " Kevin Traynor
` (7 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Ajit Khaparde; +Cc: Kalesh AP, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/f42d4d08d347d4366d85640d4b8e2d20050ab114
Thanks.
Kevin Traynor
---
From f42d4d08d347d4366d85640d4b8e2d20050ab114 Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Fri, 19 Jul 2019 11:49:05 +0530
Subject: [PATCH] net/bnxt: remove unnecessary interrupt disable
[ upstream commit a8cbae89da782997631ed27160dd61686664ea00 ]
Remove an unnecessary rte_intr_disable() call to disable interrupt
during device init.
Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update operations")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 7d156d06a..2f3e067ed 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -212,7 +212,4 @@ static int bnxt_init_chip(struct bnxt *bp)
int rc;
- /* disable uio/vfio intr/eventfd mapping */
- rte_intr_disable(intr_handle);
-
if (bp->eth_dev->data->mtu > ETHER_MTU) {
bp->eth_dev->data->dev_conf.rxmode.offloads |=
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.835010011 +0100
+++ 0051-net-bnxt-remove-unnecessary-interrupt-disable.patch 2019-08-28 14:32:31.721955577 +0100
@@ -1 +1 @@
-From a8cbae89da782997631ed27160dd61686664ea00 Mon Sep 17 00:00:00 2001
+From f42d4d08d347d4366d85640d4b8e2d20050ab114 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a8cbae89da782997631ed27160dd61686664ea00 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index ccec9684a..ded970644 100644
+index 7d156d06a..2f3e067ed 100644
@@ -22 +23 @@
-@@ -240,7 +240,4 @@ static int bnxt_init_chip(struct bnxt *bp)
+@@ -212,7 +212,4 @@ static int bnxt_init_chip(struct bnxt *bp)
@@ -28 +29 @@
- if (bp->eth_dev->data->mtu > RTE_ETHER_MTU) {
+ if (bp->eth_dev->data->mtu > ETHER_MTU) {
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/e1000: fix buffer overrun while i219 processing DMA' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (48 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/bnxt: remove unnecessary interrupt disable' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/mlx5: fix typos in comments' " Kevin Traynor
` (6 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Xiao Zhang; +Cc: Qi Zhang, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/377737e44f3660720a01ebca9363be23d1a9c8d4
Thanks.
Kevin Traynor
---
From 377737e44f3660720a01ebca9363be23d1a9c8d4 Mon Sep 17 00:00:00 2001
From: Xiao Zhang <xiao.zhang@intel.com>
Date: Sun, 21 Jul 2019 01:01:37 +0800
Subject: [PATCH] net/e1000: fix buffer overrun while i219 processing DMA
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit f0027fa182c7f3badea96a1e993eb74aae53309d ]
Intel® 100/200 Series Chipset platforms reduced the round-trip
latency for the LAN Controller DMA accesses, causing in some high
performance cases a buffer overrun while the I219 LAN Connected
Device is processing the DMA transactions. I219LM and I219V devices
can fall into unrecovered Tx hang under very stressfully UDP traffic
and multiple reconnection of Ethernet cable. This Tx hang of the LAN
Controller is only recovered if the system is rebooted. Slightly slow
down DMA access by reducing the number of outstanding requests.
This workaround could have an impact on TCP traffic performance
on the platform. Disabling TSO eliminates performance loss for TCP
traffic without a noticeable impact on CPU performance.
Please, refer to I218/I219 specification update:
https://www.intel.com/content/www/us/en/embedded/products/networking/
ethernet-connection-i218-family-documentation.html
Signed-off-by: Xiao Zhang <xiao.zhang@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
drivers/net/e1000/base/e1000_ich8lan.h | 1 +
drivers/net/e1000/em_rxtx.c | 16 ++++++++++++++++
2 files changed, 17 insertions(+)
diff --git a/drivers/net/e1000/base/e1000_ich8lan.h b/drivers/net/e1000/base/e1000_ich8lan.h
index bc4ed1dd2..9ee94f6b3 100644
--- a/drivers/net/e1000/base/e1000_ich8lan.h
+++ b/drivers/net/e1000/base/e1000_ich8lan.h
@@ -134,4 +134,5 @@ POSSIBILITY OF SUCH DAMAGE.
#define E1000_CTRL_EXT_NVMVS 0x3 /*NVM valid sector */
#define E1000_TARC0_CB_MULTIQ_3_REQ (1 << 28 | 1 << 29)
+#define E1000_TARC0_CB_MULTIQ_2_REQ (1 << 29)
#define PCIE_ICH8_SNOOP_ALL PCIE_NO_SNOOP_ALL
diff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c
index 0057dd01b..67c7ec701 100644
--- a/drivers/net/e1000/em_rxtx.c
+++ b/drivers/net/e1000/em_rxtx.c
@@ -1965,4 +1965,20 @@ eth_em_tx_init(struct rte_eth_dev *dev)
(E1000_COLLISION_THRESHOLD << E1000_CT_SHIFT));
+ /* SPT and CNP Si errata workaround to avoid data corruption */
+ if (hw->mac.type == e1000_pch_spt) {
+ uint32_t reg_val;
+ reg_val = E1000_READ_REG(hw, E1000_IOSFPC);
+ reg_val |= E1000_RCTL_RDMTS_HEX;
+ E1000_WRITE_REG(hw, E1000_IOSFPC, reg_val);
+
+ /* Dropping the number of outstanding requests from
+ * 3 to 2 in order to avoid a buffer overrun.
+ */
+ reg_val = E1000_READ_REG(hw, E1000_TARC(0));
+ reg_val &= ~E1000_TARC0_CB_MULTIQ_3_REQ;
+ reg_val |= E1000_TARC0_CB_MULTIQ_2_REQ;
+ E1000_WRITE_REG(hw, E1000_TARC(0), reg_val);
+ }
+
/* This write will effectively turn on the transmit unit. */
E1000_WRITE_REG(hw, E1000_TCTL, tctl);
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.896766686 +0100
+++ 0052-net-e1000-fix-buffer-overrun-while-i219-processing-D.patch 2019-08-28 14:32:31.723955532 +0100
@@ -1 +1 @@
-From f0027fa182c7f3badea96a1e993eb74aae53309d Mon Sep 17 00:00:00 2001
+From 377737e44f3660720a01ebca9363be23d1a9c8d4 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit f0027fa182c7f3badea96a1e993eb74aae53309d ]
+
@@ -25,2 +26,0 @@
-Cc: stable@dpdk.org
-
@@ -45 +45 @@
-index 708f832b0..9d7cbc409 100644
+index 0057dd01b..67c7ec701 100644
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/mlx5: fix typos in comments' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (49 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/e1000: fix buffer overrun while i219 processing DMA' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/dpaa: check multi-segment external buffers' " Kevin Traynor
` (5 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Dekel Peled; +Cc: Viacheslav Ovsiienko, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/93606ec5cbac3efc4eb3162227bebdb6213804d6
Thanks.
Kevin Traynor
---
From 93606ec5cbac3efc4eb3162227bebdb6213804d6 Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Thu, 18 Jul 2019 22:40:52 +0300
Subject: [PATCH] net/mlx5: fix typos in comments
[ upstream commit 42280dd91b9e2c68eb4f6842cf2c66decb4e87d1 ]
Some spelling mistakes were found in comments.
This patch fixes them.
Fixes: d10b09db0a45 ("net/mlx5: fix allocation when no memory on device NUMA node")
Fixes: fc2c498ccb94 ("net/mlx5: add Direct Verbs translate items")
Fixes: 7d6bf6b866b8 ("net/mlx5: add Multi-Packet Rx support")
Fixes: f6d9ab4e769f ("net/mlx5: check Tx queue size overflow")
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
---
drivers/net/mlx5/mlx5.h | 2 +-
drivers/net/mlx5/mlx5_flow.c | 2 +-
drivers/net/mlx5/mlx5_rxq.c | 2 +-
drivers/net/mlx5/mlx5_txq.c | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
index 91efd21b9..6902013b7 100644
--- a/drivers/net/mlx5/mlx5.h
+++ b/drivers/net/mlx5/mlx5.h
@@ -146,5 +146,5 @@ struct mlx5_dev_config {
/**
- * Type of objet being allocated.
+ * Type of object being allocated.
*/
enum mlx5_verbs_alloc_type {
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index de8a77686..8e6585d18 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -474,5 +474,5 @@ mlx5_flow_item_acceptable(const struct rte_flow_item *item,
*
* @return
- * The hash fileds that should be used.
+ * The hash fields that should be used.
*/
uint64_t
diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 416c07342..45f49669c 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -1166,5 +1166,5 @@ mlx5_mprq_free_mp(struct rte_eth_dev *dev)
/*
* If a buffer in the pool has been externally attached to a mbuf and it
- * is still in use by application, destroying the Rx qeueue can spoil
+ * is still in use by application, destroying the Rx queue can spoil
* the packet. It is unlikely to happen but if application dynamically
* creates and destroys with holding Rx packets, this can happen.
diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index a3c6fdd18..9d1c33eba 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -640,5 +640,5 @@ mlx5_txq_ibv_verify(struct rte_eth_dev *dev)
/**
- * Calcuate the total number of WQEBB for Tx queue.
+ * Calculate the total number of WQEBB for Tx queue.
*
* Simplified version of calc_sq_size() in rdma-core.
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:34.958140648 +0100
+++ 0053-net-mlx5-fix-typos-in-comments.patch 2019-08-28 14:32:31.728955421 +0100
@@ -1 +1 @@
-From 42280dd91b9e2c68eb4f6842cf2c66decb4e87d1 Mon Sep 17 00:00:00 2001
+From 93606ec5cbac3efc4eb3162227bebdb6213804d6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 42280dd91b9e2c68eb4f6842cf2c66decb4e87d1 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 2bd2aa6d5..623037135 100644
+index 91efd21b9..6902013b7 100644
@@ -28 +29 @@
-@@ -233,5 +233,5 @@ struct mlx5_dev_config {
+@@ -146,5 +146,5 @@ struct mlx5_dev_config {
@@ -36 +37 @@
-index 710998554..e082cbbd4 100644
+index de8a77686..8e6585d18 100644
@@ -47 +48 @@
-index 3e82f71e3..39b8b7a8f 100644
+index 416c07342..45f49669c 100644
@@ -50 +51 @@
-@@ -1123,5 +1123,5 @@ mlx5_mprq_free_mp(struct rte_eth_dev *dev)
+@@ -1166,5 +1166,5 @@ mlx5_mprq_free_mp(struct rte_eth_dev *dev)
@@ -58 +59 @@
-index 77410955f..82493d7cb 100644
+index a3c6fdd18..9d1c33eba 100644
@@ -61 +62 @@
-@@ -670,5 +670,5 @@ mlx5_txq_ibv_verify(struct rte_eth_dev *dev)
+@@ -640,5 +640,5 @@ mlx5_txq_ibv_verify(struct rte_eth_dev *dev)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/dpaa: check multi-segment external buffers' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (50 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/mlx5: fix typos in comments' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/dpaa2: fix multi-segment Tx' " Kevin Traynor
` (4 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Hemant Agrawal; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/c4b686e0bbfff67d1b8e32fc72935194c3a37e4f
Thanks.
Kevin Traynor
---
From c4b686e0bbfff67d1b8e32fc72935194c3a37e4f Mon Sep 17 00:00:00 2001
From: Hemant Agrawal <hemant.agrawal@nxp.com>
Date: Fri, 19 Jul 2019 15:36:08 +0530
Subject: [PATCH] net/dpaa: check multi-segment external buffers
[ upstream commit 829904201f0a3a43c740d64e216167265bc34ffa ]
This patch add check to return error as the handling
for external buffer packets with SG is currently missing.
Fixes: 37f9b54bd3cf ("net/dpaa: support Tx and Rx queue setup")
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/net/dpaa/dpaa_rxtx.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c
index c4471c227..ba01bd17e 100644
--- a/drivers/net/dpaa/dpaa_rxtx.c
+++ b/drivers/net/dpaa/dpaa_rxtx.c
@@ -953,4 +953,14 @@ dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs)
}
} else {
+ /* TODO not supporting sg for external bufs*/
+ if (unlikely(mbuf->nb_segs > 1)) {
+ /* Set frames_to_send & nb_bufs so
+ * that packets are transmitted till
+ * previous frame.
+ */
+ frames_to_send = loop;
+ nb_bufs = loop;
+ goto send_pkts;
+ }
state = tx_on_external_pool(q, mbuf,
&fd_arr[loop]);
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:35.021343966 +0100
+++ 0054-net-dpaa-check-multi-segment-external-buffers.patch 2019-08-28 14:32:31.730955376 +0100
@@ -1 +1 @@
-From 829904201f0a3a43c740d64e216167265bc34ffa Mon Sep 17 00:00:00 2001
+From c4b686e0bbfff67d1b8e32fc72935194c3a37e4f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 829904201f0a3a43c740d64e216167265bc34ffa ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index f16b7e0bc..30b183607 100644
+index c4471c227..ba01bd17e 100644
@@ -21 +22 @@
-@@ -958,4 +958,14 @@ dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs)
+@@ -953,4 +953,14 @@ dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs)
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/dpaa2: fix multi-segment Tx' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (51 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/dpaa: check multi-segment external buffers' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/ark: fix queue packet replacement' " Kevin Traynor
` (3 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Nipun Gupta; +Cc: Hemant Agrawal, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/60c7ddba65c3c59589b02839de944c92ea701aef
Thanks.
Kevin Traynor
---
From 60c7ddba65c3c59589b02839de944c92ea701aef Mon Sep 17 00:00:00 2001
From: Nipun Gupta <nipun.gupta@nxp.com>
Date: Fri, 19 Jul 2019 15:36:09 +0530
Subject: [PATCH] net/dpaa2: fix multi-segment Tx
[ upstream commit 1f4d77d20b2d23bfa2d0203411546d241e4bb644 ]
This patch resets frc and ctrl in sg tx fd to avoid corruption.
Fixes: 774e9ea91992 ("net/dpaa2: add support for multi seg buffers")
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 1 +
drivers/net/dpaa2/dpaa2_rxtx.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h b/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h
index efbeebef9..2f52aca95 100644
--- a/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h
+++ b/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h
@@ -207,4 +207,5 @@ enum qbman_fd_format {
#define DPAA2_GET_FD_FRC_PARSE_SUM(fd) \
((uint16_t)(((fd)->simple.frc & 0xffff0000) >> 16))
+#define DPAA2_RESET_FD_FRC(fd) ((fd)->simple.frc = 0)
#define DPAA2_SET_FD_FRC(fd, _frc) ((fd)->simple.frc = _frc)
#define DPAA2_RESET_FD_CTRL(fd) ((fd)->simple.ctrl = 0)
diff --git a/drivers/net/dpaa2/dpaa2_rxtx.c b/drivers/net/dpaa2/dpaa2_rxtx.c
index eab943dcf..03320ca1b 100644
--- a/drivers/net/dpaa2/dpaa2_rxtx.c
+++ b/drivers/net/dpaa2/dpaa2_rxtx.c
@@ -353,6 +353,7 @@ eth_mbuf_to_sg_fd(struct rte_mbuf *mbuf,
DPAA2_SET_ONLY_FD_BPID(fd, bpid);
DPAA2_SET_FD_OFFSET(fd, temp->data_off);
- DPAA2_SET_FD_ASAL(fd, DPAA2_ASAL_VAL);
DPAA2_FD_SET_FORMAT(fd, qbman_fd_sg);
+ DPAA2_RESET_FD_FRC(fd);
+ DPAA2_RESET_FD_CTRL(fd);
/*Set Scatter gather table and Scatter gather entries*/
sgt = (struct qbman_sge *)(
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:35.080136000 +0100
+++ 0055-net-dpaa2-fix-multi-segment-Tx.patch 2019-08-28 14:32:31.731955354 +0100
@@ -1 +1 @@
-From 1f4d77d20b2d23bfa2d0203411546d241e4bb644 Mon Sep 17 00:00:00 2001
+From 60c7ddba65c3c59589b02839de944c92ea701aef Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1f4d77d20b2d23bfa2d0203411546d241e4bb644 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 92fc76211..8644761db 100644
+index efbeebef9..2f52aca95 100644
@@ -22 +23 @@
-@@ -230,4 +230,5 @@ enum qbman_fd_format {
+@@ -207,4 +207,5 @@ enum qbman_fd_format {
@@ -29 +30 @@
-index c6e50123c..6ca5071e0 100644
+index eab943dcf..03320ca1b 100644
@@ -32 +33 @@
-@@ -371,6 +371,7 @@ eth_mbuf_to_sg_fd(struct rte_mbuf *mbuf,
+@@ -353,6 +353,7 @@ eth_mbuf_to_sg_fd(struct rte_mbuf *mbuf,
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/ark: fix queue packet replacement' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (52 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/dpaa2: fix multi-segment Tx' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/i40e: fix ethernet flow rule' " Kevin Traynor
` (2 subsequent siblings)
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Ed Czeck; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/ce7bf1b5ea8ae8ad668d6598a3e372bf6f6852c8
Thanks.
Kevin Traynor
---
From ce7bf1b5ea8ae8ad668d6598a3e372bf6f6852c8 Mon Sep 17 00:00:00 2001
From: Ed Czeck <ed.czeck@atomicrules.com>
Date: Mon, 22 Jul 2019 08:35:40 -0400
Subject: [PATCH] net/ark: fix queue packet replacement
[ upstream commit 7311db731863841f71be27edfad7aab9081ff4e5 ]
Queue index was incorrectly incremented with port, which
caused incorrect queue packet placement. This manifested
when port number was != 0.
Fixes: c33d45af3633 ("net/ark: add Tx initial version")
Signed-off-by: Ed Czeck <ed.czeck@atomicrules.com>
---
drivers/net/ark/ark_ethdev_rx.c | 4 +---
drivers/net/ark/ark_ethdev_tx.c | 4 +---
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ark/ark_ethdev_rx.c b/drivers/net/ark/ark_ethdev_rx.c
index 7de1a9851..6156730bb 100644
--- a/drivers/net/ark/ark_ethdev_rx.c
+++ b/drivers/net/ark/ark_ethdev_rx.c
@@ -128,7 +128,5 @@ eth_ark_dev_rx_queue_setup(struct rte_eth_dev *dev,
int status;
- /* Future works: divide the Q's evenly with multi-ports */
- int port = dev->data->port_id;
- int qidx = port + queue_idx;
+ int qidx = queue_idx;
/* We may already be setup, free memory prior to re-allocation */
diff --git a/drivers/net/ark/ark_ethdev_tx.c b/drivers/net/ark/ark_ethdev_tx.c
index 196765570..08bcf431a 100644
--- a/drivers/net/ark/ark_ethdev_tx.c
+++ b/drivers/net/ark/ark_ethdev_tx.c
@@ -212,7 +212,5 @@ eth_ark_tx_queue_setup(struct rte_eth_dev *dev,
int status;
- /* Future: divide the Q's evenly with multi-ports */
- int port = dev->data->port_id;
- int qidx = port + queue_idx;
+ int qidx = queue_idx;
if (!rte_is_power_of_2(nb_desc)) {
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:35.139823250 +0100
+++ 0056-net-ark-fix-queue-packet-replacement.patch 2019-08-28 14:32:31.732955332 +0100
@@ -1 +1 @@
-From 7311db731863841f71be27edfad7aab9081ff4e5 Mon Sep 17 00:00:00 2001
+From ce7bf1b5ea8ae8ad668d6598a3e372bf6f6852c8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7311db731863841f71be27edfad7aab9081ff4e5 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/i40e: fix ethernet flow rule' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (53 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/ark: fix queue packet replacement' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/i40e: fix flow director rule destroy' " Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/mlx5: remove redundant item from union' " Kevin Traynor
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Xiaolong Ye; +Cc: Beilei Xing, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/e163a6a648314ae4b9bffe239d163b761eed286a
Thanks.
Kevin Traynor
---
From e163a6a648314ae4b9bffe239d163b761eed286a Mon Sep 17 00:00:00 2001
From: Xiaolong Ye <xiaolong.ye@intel.com>
Date: Mon, 22 Jul 2019 20:06:37 +0800
Subject: [PATCH] net/i40e: fix ethernet flow rule
[ upstream commit 3106ca84dc2de241382461d93d49d5a643145c70 ]
i40e FDIR doesn't allow to create flow with empty spec and mask for
ethertype pattern. Without this patch, below flow would be created
successfully which is unexpected.
> flow create 0 ingress pattern eth / end actions drop / end
Fixes: 7d83c152a207 ("net/i40e: parse flow director filter")
Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
---
drivers/net/i40e/i40e_flow.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index 3c3b69b9f..1699578ff 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -2444,4 +2444,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
uint16_t frag_off;
enum rte_flow_item_type item_type;
+ enum rte_flow_item_type next_type;
enum rte_flow_item_type l3 = RTE_FLOW_ITEM_TYPE_END;
enum rte_flow_item_type cus_proto = RTE_FLOW_ITEM_TYPE_END;
@@ -2484,4 +2485,14 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
eth_spec = item->spec;
eth_mask = item->mask;
+ next_type = (item + 1)->type;
+
+ if (next_type == RTE_FLOW_ITEM_TYPE_END &&
+ (!eth_spec || !eth_mask)) {
+ rte_flow_error_set(error, EINVAL,
+ RTE_FLOW_ERROR_TYPE_ITEM,
+ item,
+ "NULL eth spec/mask.");
+ return -rte_errno;
+ }
if (eth_spec && eth_mask) {
@@ -2496,6 +2507,4 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
}
if (eth_spec && eth_mask && eth_mask->type) {
- enum rte_flow_item_type next = (item + 1)->type;
-
if (eth_mask->type != RTE_BE16(0xffff)) {
rte_flow_error_set(error, EINVAL,
@@ -2508,5 +2517,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
ether_type = rte_be_to_cpu_16(eth_spec->type);
- if (next == RTE_FLOW_ITEM_TYPE_VLAN ||
+ if (next_type == RTE_FLOW_ITEM_TYPE_VLAN ||
ether_type == ETHER_TYPE_IPv4 ||
ether_type == ETHER_TYPE_IPv6 ||
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:35.198333313 +0100
+++ 0057-net-i40e-fix-ethernet-flow-rule.patch 2019-08-28 14:32:31.736955242 +0100
@@ -1 +1 @@
-From 3106ca84dc2de241382461d93d49d5a643145c70 Mon Sep 17 00:00:00 2001
+From e163a6a648314ae4b9bffe239d163b761eed286a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3106ca84dc2de241382461d93d49d5a643145c70 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 48a6782a8..3c0af70c0 100644
+index 3c3b69b9f..1699578ff 100644
@@ -25 +26 @@
-@@ -2443,4 +2443,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
+@@ -2444,4 +2444,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
@@ -31 +32 @@
-@@ -2483,4 +2484,14 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
+@@ -2484,4 +2485,14 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
@@ -46 +47 @@
-@@ -2495,6 +2506,4 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
+@@ -2496,6 +2507,4 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
@@ -53 +54 @@
-@@ -2507,5 +2516,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
+@@ -2508,5 +2517,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
@@ -58,2 +59,2 @@
- ether_type == RTE_ETHER_TYPE_IPV4 ||
- ether_type == RTE_ETHER_TYPE_IPV6 ||
+ ether_type == ETHER_TYPE_IPv4 ||
+ ether_type == ETHER_TYPE_IPv6 ||
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/i40e: fix flow director rule destroy' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (54 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/i40e: fix ethernet flow rule' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
2019-08-28 13:42 ` [dpdk-stable] patch 'net/mlx5: remove redundant item from union' " Kevin Traynor
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Xiaolong Ye; +Cc: Beilei Xing, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/f03e7709b780b3f25470596db9a66ccbb296302b
Thanks.
Kevin Traynor
---
From f03e7709b780b3f25470596db9a66ccbb296302b Mon Sep 17 00:00:00 2001
From: Xiaolong Ye <xiaolong.ye@intel.com>
Date: Mon, 22 Jul 2019 20:06:38 +0800
Subject: [PATCH] net/i40e: fix flow director rule destroy
[ upstream commit 4fe1af80dd50bc44ac8ff2f395e8584f305b879c ]
We should tear down the fdir when the last flow is destroyed, current
logic is opposite to expected behavior, this patch fixes this issue.
Fixes: 2e67a7fbf3ff ("net/i40e: config flow director automatically")
Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
---
drivers/net/i40e/i40e_flow.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index 1699578ff..4208d8306 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -4744,5 +4744,5 @@ i40e_flow_destroy(struct rte_eth_dev *dev,
/* If the last flow is destroyed, disable fdir. */
- if (!ret && !TAILQ_EMPTY(&pf->fdir.fdir_list)) {
+ if (!ret && TAILQ_EMPTY(&pf->fdir.fdir_list)) {
i40e_fdir_teardown(pf);
dev->data->dev_conf.fdir_conf.mode =
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:35.260852884 +0100
+++ 0058-net-i40e-fix-flow-director-rule-destroy.patch 2019-08-28 14:32:31.739955175 +0100
@@ -1 +1 @@
-From 4fe1af80dd50bc44ac8ff2f395e8584f305b879c Mon Sep 17 00:00:00 2001
+From f03e7709b780b3f25470596db9a66ccbb296302b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4fe1af80dd50bc44ac8ff2f395e8584f305b879c ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 3c0af70c0..c60c9e240 100644
+index 1699578ff..4208d8306 100644
@@ -22 +23 @@
-@@ -4772,5 +4772,5 @@ i40e_flow_destroy(struct rte_eth_dev *dev,
+@@ -4744,5 +4744,5 @@ i40e_flow_destroy(struct rte_eth_dev *dev,
^ permalink raw reply [flat|nested] 58+ messages in thread
* [dpdk-stable] patch 'net/mlx5: remove redundant item from union' has been queued to LTS release 18.11.3
2019-08-28 13:41 [dpdk-stable] patch 'crypto/openssl: fix free of asymmetric crypto keys' has been queued to LTS release 18.11.3 Kevin Traynor
` (55 preceding siblings ...)
2019-08-28 13:42 ` [dpdk-stable] patch 'net/i40e: fix flow director rule destroy' " Kevin Traynor
@ 2019-08-28 13:42 ` Kevin Traynor
56 siblings, 0 replies; 58+ messages in thread
From: Kevin Traynor @ 2019-08-28 13:42 UTC (permalink / raw)
To: Dekel Peled; +Cc: Matan Azrad, Viacheslav Ovsiienko, dpdk stable
Hi,
FYI, your patch has been queued to LTS release 18.11.3
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 09/04/19. 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/401829241b8ec7d4e4bdf241431884a4d7a28ddc
Thanks.
Kevin Traynor
---
From 401829241b8ec7d4e4bdf241431884a4d7a28ddc Mon Sep 17 00:00:00 2001
From: Dekel Peled <dekelp@mellanox.com>
Date: Mon, 22 Jul 2019 14:51:58 +0000
Subject: [PATCH] net/mlx5: remove redundant item from union
[ upstream commit 970eb58c475abb5902b0f00627b771f0ab12960d ]
A variable of type struct ibv_cq_ex is declared in 2 unions, but
isn't used.
This patch removes the 2 redundant declarations.
Fixes: 6218063b39a6 ("net/mlx5: refactor Rx data path")
Fixes: 1d88ba171942 ("net/mlx5: refactor Tx data path")
Signed-off-by: Dekel Peled <dekelp@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
---
drivers/net/mlx5/mlx5_rxq.c | 1 -
drivers/net/mlx5/mlx5_txq.c | 1 -
2 files changed, 2 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 45f49669c..f6edb10fe 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -774,5 +774,4 @@ mlx5_rxq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
#endif
} wq;
- struct ibv_cq_ex cq_attr;
} attr;
unsigned int cqe_n;
diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index 9d1c33eba..e6020fbcb 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -366,5 +366,4 @@ mlx5_txq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
struct ibv_cq_init_attr_ex cq;
struct ibv_qp_attr mod;
- struct ibv_cq_ex cq_attr;
} attr;
unsigned int cqe_n;
--
2.20.1
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2019-08-28 14:32:35.321931789 +0100
+++ 0059-net-mlx5-remove-redundant-item-from-union.patch 2019-08-28 14:32:31.742955109 +0100
@@ -1 +1 @@
-From 970eb58c475abb5902b0f00627b771f0ab12960d Mon Sep 17 00:00:00 2001
+From 401829241b8ec7d4e4bdf241431884a4d7a28ddc Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 970eb58c475abb5902b0f00627b771f0ab12960d ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 39b8b7a8f..0535ce347 100644
+index 45f49669c..f6edb10fe 100644
@@ -26 +27 @@
-@@ -840,5 +840,4 @@ mlx5_rxq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
+@@ -774,5 +774,4 @@ mlx5_rxq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
@@ -33 +34 @@
-index 2f3aa5b28..dbad361ac 100644
+index 9d1c33eba..e6020fbcb 100644
@@ -36 +37 @@
-@@ -389,5 +389,4 @@ mlx5_txq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
+@@ -366,5 +366,4 @@ mlx5_txq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
^ permalink raw reply [flat|nested] 58+ messages in thread