* [dpdk-stable] patch 'kni: fix build on RHEL 7.4' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'drivers/net: fix vfio kmod dependency' " Yuanhan Liu
` (35 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Lee Roberts; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 13a2ce5ef1ac69cd2acd5325d5115299738176cc Mon Sep 17 00:00:00 2001
From: Lee Roberts <lee.roberts@hpe.com>
Date: Wed, 31 May 2017 09:40:15 -0600
Subject: [PATCH] kni: fix build on RHEL 7.4
[ upstream commit 1e1cabc7a5d8799e55324de01f8eec150d574aef ]
Linux: 9b36627acecd ("net: remove dev->trans_start")
Signed-off-by: Lee Roberts <lee.roberts@hpe.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
lib/librte_eal/linuxapp/kni/compat.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/lib/librte_eal/linuxapp/kni/compat.h
index d96275a..6a1587b 100644
--- a/lib/librte_eal/linuxapp/kni/compat.h
+++ b/lib/librte_eal/linuxapp/kni/compat.h
@@ -53,7 +53,9 @@
#define HAVE_SK_ALLOC_KERN_PARAM
#endif
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || \
+ (defined(RHEL_RELEASE_CODE) && \
+ RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7, 4))
#define HAVE_TRANS_START_HELPER
#endif
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'drivers/net: fix vfio kmod dependency' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'kni: fix build on RHEL 7.4' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'vfio: fix array bounds check' " Yuanhan Liu
` (34 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: David Marchand; +Cc: Olivier Matz, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From a96835e8150a1f1b093975f5257deb96c7376dd0 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@6wind.com>
Date: Sat, 20 May 2017 15:12:37 +0200
Subject: [PATCH] drivers/net: fix vfio kmod dependency
[ upstream commit 06e81dc9b79ae196f44ecc64eeb9a70234137cad ]
vfio is the kernel framework used by the vfio-pci kernel driver.
DPDK drivers do not rely solely on vfio, but rather on vfio-pci to gain
access to pci resources.
Fixes: 0880c40113ef ("drivers: advertise kmod dependencies in pmdinfo")
Signed-off-by: David Marchand <david.marchand@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
drivers/net/bnx2x/bnx2x_ethdev.c | 4 ++--
drivers/net/bnxt/bnxt_ethdev.c | 2 +-
drivers/net/cxgbe/cxgbe_ethdev.c | 2 +-
drivers/net/e1000/em_ethdev.c | 2 +-
drivers/net/e1000/igb_ethdev.c | 4 ++--
drivers/net/ena/ena_ethdev.c | 2 +-
drivers/net/enic/enic_ethdev.c | 2 +-
drivers/net/fm10k/fm10k_ethdev.c | 2 +-
drivers/net/i40e/i40e_ethdev.c | 2 +-
drivers/net/i40e/i40e_ethdev_vf.c | 2 +-
drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++--
drivers/net/liquidio/lio_ethdev.c | 2 +-
drivers/net/nfp/nfp_net.c | 2 +-
drivers/net/qede/qede_ethdev.c | 4 ++--
drivers/net/sfc/sfc_ethdev.c | 2 +-
drivers/net/thunderx/nicvf_ethdev.c | 2 +-
drivers/net/virtio/virtio_ethdev.c | 2 +-
drivers/net/vmxnet3/vmxnet3_ethdev.c | 2 +-
18 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c
index b79cfdb..6d7c002 100644
--- a/drivers/net/bnx2x/bnx2x_ethdev.c
+++ b/drivers/net/bnx2x/bnx2x_ethdev.c
@@ -681,7 +681,7 @@ static struct rte_pci_driver rte_bnx2xvf_pmd = {
RTE_PMD_REGISTER_PCI(net_bnx2x, rte_bnx2x_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_bnx2x, pci_id_bnx2x_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_bnx2x, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_bnx2x, "* igb_uio | uio_pci_generic | vfio-pci");
RTE_PMD_REGISTER_PCI(net_bnx2xvf, rte_bnx2xvf_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_bnx2xvf, pci_id_bnx2xvf_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_bnx2xvf, "* igb_uio | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_bnx2xvf, "* igb_uio | vfio-pci");
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index bb87361..81711e4 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1225,4 +1225,4 @@ static struct rte_pci_driver bnxt_rte_pmd = {
RTE_PMD_REGISTER_PCI(net_bnxt, bnxt_rte_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_bnxt, bnxt_pci_id_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_bnxt, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_bnxt, "* igb_uio | uio_pci_generic | vfio-pci");
diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c
index 34fed84..88e568c 100644
--- a/drivers/net/cxgbe/cxgbe_ethdev.c
+++ b/drivers/net/cxgbe/cxgbe_ethdev.c
@@ -1061,4 +1061,4 @@ static struct rte_pci_driver rte_cxgbe_pmd = {
RTE_PMD_REGISTER_PCI(net_cxgbe, rte_cxgbe_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_cxgbe, cxgb4_pci_tbl);
-RTE_PMD_REGISTER_KMOD_DEP(net_cxgbe, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_cxgbe, "* igb_uio | uio_pci_generic | vfio-pci");
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index 57eb017..a9bd92b 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -1867,4 +1867,4 @@ eth_em_set_mc_addr_list(struct rte_eth_dev *dev,
RTE_PMD_REGISTER_PCI(net_e1000_em, rte_em_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_e1000_em, pci_id_em_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_e1000_em, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_e1000_em, "* igb_uio | uio_pci_generic | vfio-pci");
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index e1702d8..5af3ac8 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -5418,7 +5418,7 @@ eth_igb_configure_msix_intr(struct rte_eth_dev *dev)
RTE_PMD_REGISTER_PCI(net_e1000_igb, rte_igb_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_e1000_igb, pci_id_igb_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_e1000_igb, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_e1000_igb, "* igb_uio | uio_pci_generic | vfio-pci");
RTE_PMD_REGISTER_PCI(net_e1000_igb_vf, rte_igbvf_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_e1000_igb_vf, pci_id_igbvf_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_e1000_igb_vf, "* igb_uio | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_e1000_igb_vf, "* igb_uio | vfio-pci");
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index 64fee05..806073c 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -1812,4 +1812,4 @@ static struct rte_pci_driver rte_ena_pmd = {
RTE_PMD_REGISTER_PCI(net_ena, rte_ena_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_ena, pci_id_ena_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_ena, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_ena, "* igb_uio | uio_pci_generic | vfio-pci");
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
index 372bae7..331cd5e 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -651,4 +651,4 @@ static struct rte_pci_driver rte_enic_pmd = {
RTE_PMD_REGISTER_PCI(net_enic, rte_enic_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_enic, pci_id_enic_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_enic, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_enic, "* igb_uio | uio_pci_generic | vfio-pci");
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index a742eec..7363def 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -3146,4 +3146,4 @@ static struct rte_pci_driver rte_pmd_fm10k = {
RTE_PMD_REGISTER_PCI(net_fm10k, rte_pmd_fm10k);
RTE_PMD_REGISTER_PCI_TABLE(net_fm10k, pci_id_fm10k_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_fm10k, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_fm10k, "* igb_uio | uio_pci_generic | vfio-pci");
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 4c49673..c18a93b 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -679,7 +679,7 @@ rte_i40e_dev_atomic_write_link_status(struct rte_eth_dev *dev,
RTE_PMD_REGISTER_PCI(net_i40e, rte_i40e_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_i40e, pci_id_i40e_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_i40e, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_i40e, "* igb_uio | uio_pci_generic | vfio-pci");
#ifndef I40E_GLQF_ORT
#define I40E_GLQF_ORT(_i) (0x00268900 + ((_i) * 4))
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index 859b5e8..6e5839d 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -1569,7 +1569,7 @@ static struct rte_pci_driver rte_i40evf_pmd = {
RTE_PMD_REGISTER_PCI(net_i40e_vf, rte_i40evf_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_i40e_vf, pci_id_i40evf_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_i40e_vf, "* igb_uio | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_i40e_vf, "* igb_uio | vfio-pci");
static int
i40evf_dev_configure(struct rte_eth_dev *dev)
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 2083cde..aeaa432 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -8148,7 +8148,7 @@ ixgbe_clear_all_l2_tn_filter(struct rte_eth_dev *dev)
RTE_PMD_REGISTER_PCI(net_ixgbe, rte_ixgbe_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_ixgbe, pci_id_ixgbe_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_ixgbe, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_ixgbe, "* igb_uio | uio_pci_generic | vfio-pci");
RTE_PMD_REGISTER_PCI(net_ixgbe_vf, rte_ixgbevf_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_ixgbe_vf, pci_id_ixgbevf_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_ixgbe_vf, "* igb_uio | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_ixgbe_vf, "* igb_uio | vfio-pci");
diff --git a/drivers/net/liquidio/lio_ethdev.c b/drivers/net/liquidio/lio_ethdev.c
index 436d25b..269a5f2 100644
--- a/drivers/net/liquidio/lio_ethdev.c
+++ b/drivers/net/liquidio/lio_ethdev.c
@@ -2055,4 +2055,4 @@ static struct rte_pci_driver rte_liovf_pmd = {
RTE_PMD_REGISTER_PCI(net_liovf, rte_liovf_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_liovf, pci_id_liovf_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_liovf, "* igb_uio | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_liovf, "* igb_uio | vfio-pci");
diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index 5c5cba1..5479fb3 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -2605,7 +2605,7 @@ static struct rte_pci_driver rte_nfp_net_pmd = {
RTE_PMD_REGISTER_PCI(net_nfp, rte_nfp_net_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_nfp, pci_id_nfp_net_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_nfp, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_nfp, "* igb_uio | uio_pci_generic | vfio-pci");
/*
* Local variables:
diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 7501eb2..9fae40b 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -2464,7 +2464,7 @@ static struct rte_pci_driver rte_qede_pmd = {
RTE_PMD_REGISTER_PCI(net_qede, rte_qede_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_qede, pci_id_qede_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_qede, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_qede, "* igb_uio | uio_pci_generic | vfio-pci");
RTE_PMD_REGISTER_PCI(net_qede_vf, rte_qedevf_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_qede_vf, pci_id_qedevf_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_qede_vf, "* igb_uio | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_qede_vf, "* igb_uio | vfio-pci");
diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
index 4c9335f..bdb4c46 100644
--- a/drivers/net/sfc/sfc_ethdev.c
+++ b/drivers/net/sfc/sfc_ethdev.c
@@ -1632,7 +1632,7 @@ static struct rte_pci_driver sfc_efx_pmd = {
RTE_PMD_REGISTER_PCI(net_sfc_efx, sfc_efx_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_sfc_efx, pci_id_sfc_efx_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_sfc_efx, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_sfc_efx, "* igb_uio | uio_pci_generic | vfio-pci");
RTE_PMD_REGISTER_PARAM_STRING(net_sfc_efx,
SFC_KVARG_RX_DATAPATH "=" SFC_KVARG_VALUES_RX_DATAPATH " "
SFC_KVARG_TX_DATAPATH "=" SFC_KVARG_VALUES_TX_DATAPATH " "
diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
index e4910c9..2152029 100644
--- a/drivers/net/thunderx/nicvf_ethdev.c
+++ b/drivers/net/thunderx/nicvf_ethdev.c
@@ -2171,4 +2171,4 @@ static struct rte_pci_driver rte_nicvf_pmd = {
RTE_PMD_REGISTER_PCI(net_thunderx, rte_nicvf_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_thunderx, pci_id_nicvf_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_thunderx, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_thunderx, "* igb_uio | uio_pci_generic | vfio-pci");
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 983b95f..45f9bca 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1943,4 +1943,4 @@ __rte_unused uint8_t is_rx)
RTE_PMD_EXPORT_NAME(net_virtio, __COUNTER__);
RTE_PMD_REGISTER_PCI_TABLE(net_virtio, pci_id_virtio_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_virtio, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_virtio, "* igb_uio | uio_pci_generic | vfio-pci");
diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index 98252bb..2b8092d 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -1126,4 +1126,4 @@ vmxnet3_process_events(struct vmxnet3_hw *hw)
RTE_PMD_REGISTER_PCI(net_vmxnet3, rte_vmxnet3_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_vmxnet3, pci_id_vmxnet3_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_vmxnet3, "* igb_uio | uio_pci_generic | vfio");
+RTE_PMD_REGISTER_KMOD_DEP(net_vmxnet3, "* igb_uio | uio_pci_generic | vfio-pci");
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'vfio: fix array bounds check' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'kni: fix build on RHEL 7.4' " Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'drivers/net: fix vfio kmod dependency' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'app/testpmd: fix creating E-Tag and NVGRE flow rules' " Yuanhan Liu
` (33 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Alejandro Lucero; +Cc: Anatoly Burakov, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 7b6546c7fd42c24a569ffdc4dfc7fe5b7d706a11 Mon Sep 17 00:00:00 2001
From: Alejandro Lucero <alejandro.lucero@netronome.com>
Date: Fri, 12 May 2017 11:18:25 +0100
Subject: [PATCH] vfio: fix array bounds check
[ upstream commit 4af00fb1a2449f23a7c0fc32159207ae68b0fbbb ]
Checking against VFIO_MAX_GROUPS goes beyond the maximum array
index which should be (VFIO_MAX_GROUPS - 1).
Coverity issue: 144555, 144556, 144557
Fixes: 94c0776b1bad ("support hotplug")
Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
lib/librte_eal/linuxapp/eal/eal_vfio.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.c b/lib/librte_eal/linuxapp/eal/eal_vfio.c
index 53ac725..946df7e 100644
--- a/lib/librte_eal/linuxapp/eal/eal_vfio.c
+++ b/lib/librte_eal/linuxapp/eal/eal_vfio.c
@@ -189,7 +189,7 @@ vfio_group_device_get(int vfio_group_fd)
int i;
i = get_vfio_group_idx(vfio_group_fd);
- if (i < 0 || i > VFIO_MAX_GROUPS)
+ if (i < 0 || i > (VFIO_MAX_GROUPS - 1))
RTE_LOG(ERR, EAL, " wrong vfio_group index (%d)\n", i);
else
vfio_cfg.vfio_groups[i].devices++;
@@ -201,7 +201,7 @@ vfio_group_device_put(int vfio_group_fd)
int i;
i = get_vfio_group_idx(vfio_group_fd);
- if (i < 0 || i > VFIO_MAX_GROUPS)
+ if (i < 0 || i > (VFIO_MAX_GROUPS - 1))
RTE_LOG(ERR, EAL, " wrong vfio_group index (%d)\n", i);
else
vfio_cfg.vfio_groups[i].devices--;
@@ -213,7 +213,7 @@ vfio_group_device_count(int vfio_group_fd)
int i;
i = get_vfio_group_idx(vfio_group_fd);
- if (i < 0 || i > VFIO_MAX_GROUPS) {
+ if (i < 0 || i > (VFIO_MAX_GROUPS - 1)) {
RTE_LOG(ERR, EAL, " wrong vfio_group index (%d)\n", i);
return -1;
}
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'app/testpmd: fix creating E-Tag and NVGRE flow rules' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (2 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'vfio: fix array bounds check' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/ark: fix buffer not null terminated' " Yuanhan Liu
` (32 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Beilei Xing; +Cc: Adrien Mazarguil, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From d50c9f407704c9f046977867e4b8dfe036d13d63 Mon Sep 17 00:00:00 2001
From: Beilei Xing <beilei.xing@intel.com>
Date: Fri, 12 May 2017 15:13:09 +0800
Subject: [PATCH] app/testpmd: fix creating E-Tag and NVGRE flow rules
[ upstream commit 0f01a7e38394ceba15bf8ef09de5750ea2031fa2 ]
Application fails to create NVGRE and E-Tag flows with
current configuration, this commit fixes the issue by
adding flow items for E_TAG and NVGRE.
Fixes: e4840ef2685d ("ethdev: fix incomplete items in flow API")
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
app/test-pmd/config.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 4d873cd..83a8f52 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -968,6 +968,8 @@ static const struct {
MK_FLOW_ITEM(TCP, sizeof(struct rte_flow_item_tcp)),
MK_FLOW_ITEM(SCTP, sizeof(struct rte_flow_item_sctp)),
MK_FLOW_ITEM(VXLAN, sizeof(struct rte_flow_item_vxlan)),
+ MK_FLOW_ITEM(E_TAG, sizeof(struct rte_flow_item_e_tag)),
+ MK_FLOW_ITEM(NVGRE, sizeof(struct rte_flow_item_nvgre)),
MK_FLOW_ITEM(MPLS, sizeof(struct rte_flow_item_mpls)),
MK_FLOW_ITEM(GRE, sizeof(struct rte_flow_item_gre)),
};
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/ark: fix buffer not null terminated' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (3 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'app/testpmd: fix creating E-Tag and NVGRE flow rules' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/ark: fix return code not checked' " Yuanhan Liu
` (31 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: John Miller; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 1ac2ed94604af7c028a81f9e63a6c0e7819051bc Mon Sep 17 00:00:00 2001
From: John Miller <john.miller@atomicrules.com>
Date: Tue, 16 May 2017 12:14:15 -0400
Subject: [PATCH] net/ark: fix buffer not null terminated
[ upstream commit 79a158130f53e9dada32f66de3f18b1e87ba7995 ]
Coverity issue: 144512
Coverity issue: 144513
Fixes: 9c7188a68d7b ("net/ark: provide API for hardware modules pktchkr and pktgen")
Signed-off-by: John Miller <john.miller@atomicrules.com>
---
drivers/net/ark/ark_pktchkr.c | 2 +-
drivers/net/ark/ark_pktgen.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ark/ark_pktchkr.c b/drivers/net/ark/ark_pktchkr.c
index 62b3673..c3040af 100644
--- a/drivers/net/ark/ark_pktchkr.c
+++ b/drivers/net/ark/ark_pktchkr.c
@@ -372,7 +372,7 @@ set_arg(char *arg, char *val)
o->v.INT = atoll(val);
break;
case OTSTRING:
- strncpy(o->v.STR, val, ARK_MAX_STR_LEN);
+ snprintf(o->v.STR, ARK_MAX_STR_LEN, "%s", val);
break;
}
return 1;
diff --git a/drivers/net/ark/ark_pktgen.c b/drivers/net/ark/ark_pktgen.c
index bdac054..8c7a8a2 100644
--- a/drivers/net/ark/ark_pktgen.c
+++ b/drivers/net/ark/ark_pktgen.c
@@ -354,7 +354,7 @@ pmd_set_arg(char *arg, char *val)
o->v.INT = atoll(val);
break;
case OTSTRING:
- strncpy(o->v.STR, val, ARK_MAX_STR_LEN);
+ snprintf(o->v.STR, ARK_MAX_STR_LEN, "%s", val);
break;
}
return 1;
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/ark: fix return code not checked' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (4 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/ark: fix buffer not null terminated' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/ark: fix null pointer dereference' " Yuanhan Liu
` (30 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: John Miller; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From c391e55312ef587a2e15139170a4b0d7e3badf7c Mon Sep 17 00:00:00 2001
From: John Miller <john.miller@atomicrules.com>
Date: Tue, 16 May 2017 12:14:16 -0400
Subject: [PATCH] net/ark: fix return code not checked
[ upstream commit d1434c047949ba52a11d64ca4d8304c9e261dd45 ]
Coverity issue: 144514
Fixes: 727b3fe292bc ("net/ark: integrate PMD")
Signed-off-by: John Miller <john.miller@atomicrules.com>
---
drivers/net/ark/ark_ethdev.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c
index 995c93d..9143fc4 100644
--- a/drivers/net/ark/ark_ethdev.c
+++ b/drivers/net/ark/ark_ethdev.c
@@ -588,7 +588,11 @@ eth_ark_dev_start(struct rte_eth_dev *dev)
/* Delay packet generatpr start allow the hardware to be ready
* This is only used for sanity checking with internal generator
*/
- pthread_create(&thread, NULL, delay_pg_start, ark);
+ if (pthread_create(&thread, NULL, delay_pg_start, ark)) {
+ PMD_DRV_LOG(ERR, "Could not create pktgen "
+ "starter thread\n");
+ return -1;
+ }
}
if (ark->user_ext.dev_start)
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/ark: fix null pointer dereference' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (5 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/ark: fix return code not checked' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/ark: fix return value of null not checked' " Yuanhan Liu
` (29 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: John Miller; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 80f464454790644a74669d61cd70084a70c4f31c Mon Sep 17 00:00:00 2001
From: John Miller <john.miller@atomicrules.com>
Date: Tue, 16 May 2017 12:14:17 -0400
Subject: [PATCH] net/ark: fix null pointer dereference
[ upstream commit bc10f22b6d294a8884b37ffeb84c7ed7dca04753 ]
Coverity issue: 144520
Fixes: 727b3fe292bc ("net/ark: integrate PMD")
Signed-off-by: John Miller <john.miller@atomicrules.com>
---
drivers/net/ark/ark_ethdev.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c
index 9143fc4..f8fb359 100644
--- a/drivers/net/ark/ark_ethdev.c
+++ b/drivers/net/ark/ark_ethdev.c
@@ -516,11 +516,7 @@ eth_ark_dev_uninit(struct rte_eth_dev *dev)
dev->dev_ops = NULL;
dev->rx_pkt_burst = NULL;
dev->tx_pkt_burst = NULL;
- if (dev->data->mac_addrs)
- rte_free(dev->data->mac_addrs);
- if (dev->data)
- rte_free(dev->data);
-
+ rte_free(dev->data->mac_addrs);
return 0;
}
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/ark: fix return value of null not checked' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (6 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/ark: fix null pointer dereference' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/i40e/base: fix Tx error stats on VF' " Yuanhan Liu
` (28 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: John Miller; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From d3701ee0a3849335b6da07b942c100dc257b5d99 Mon Sep 17 00:00:00 2001
From: John Miller <john.miller@atomicrules.com>
Date: Tue, 16 May 2017 12:14:18 -0400
Subject: [PATCH] net/ark: fix return value of null not checked
[ upstream commit 2f3b88fbabc580ba9501be900ba9e7f95508ac09 ]
Coverity issue: 144517
Fixes: 1131cbf0fb2b ("net/ark: stub PMD for Atomic Rules Arkville")
Signed-off-by: John Miller <john.miller@atomicrules.com>
---
drivers/net/ark/ark_ethdev.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c
index f8fb359..017817e 100644
--- a/drivers/net/ark/ark_ethdev.c
+++ b/drivers/net/ark/ark_ethdev.c
@@ -899,6 +899,12 @@ process_file_args(const char *key, const char *value, void *extra_args)
int size = 0;
int first = 1;
+ if (file == NULL) {
+ PMD_DRV_LOG(ERR, "Unable to open "
+ "config file %s\n", value);
+ return -1;
+ }
+
while (fgets(line, sizeof(line), file)) {
size += strlen(line);
if (size >= ARK_MAX_ARG_LEN) {
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/i40e/base: fix Tx error stats on VF' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (7 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/ark: fix return value of null not checked' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/af_packet: handle possible null pointer' " Yuanhan Liu
` (27 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Wenzhuo Lu; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From a66c49f072515b9f18448c28b758c3468f9ef100 Mon Sep 17 00:00:00 2001
From: Wenzhuo Lu <wenzhuo.lu@intel.com>
Date: Thu, 18 May 2017 11:29:04 +0800
Subject: [PATCH] net/i40e/base: fix Tx error stats on VF
[ upstream commit bc9ee862baa7c7aab11dd3be97389421396e1622 ]
Unfortunately the datasheet has a mistake. The
address of the TX error counter is wrong.
Fixes: 8db9e2a1b232 ("i40e: base driver")
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
drivers/net/i40e/base/i40e_register.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/i40e/base/i40e_register.h b/drivers/net/i40e/base/i40e_register.h
index 3a305b6..b150fbd 100644
--- a/drivers/net/i40e/base/i40e_register.h
+++ b/drivers/net/i40e/base/i40e_register.h
@@ -2805,7 +2805,7 @@ POSSIBILITY OF SUCH DAMAGE.
#define I40E_GLV_RUPP_MAX_INDEX 383
#define I40E_GLV_RUPP_RUPP_SHIFT 0
#define I40E_GLV_RUPP_RUPP_MASK I40E_MASK(0xFFFFFFFF, I40E_GLV_RUPP_RUPP_SHIFT)
-#define I40E_GLV_TEPC(_VSI) (0x00344000 + ((_VSI) * 4)) /* _i=0...383 */ /* Reset: CORER */
+#define I40E_GLV_TEPC(_VSI) (0x00344000 + ((_VSI) * 8)) /* _i=0...383 */ /* Reset: CORER */
#define I40E_GLV_TEPC_MAX_INDEX 383
#define I40E_GLV_TEPC_TEPC_SHIFT 0
#define I40E_GLV_TEPC_TEPC_MASK I40E_MASK(0xFFFFFFFF, I40E_GLV_TEPC_TEPC_SHIFT)
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/af_packet: handle possible null pointer' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (8 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/i40e/base: fix Tx error stats on VF' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/af_packet: fix packet bytes counting' " Yuanhan Liu
` (26 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Chas Williams; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 97744a47120506c02f54be07cb6d845a68c6c85a Mon Sep 17 00:00:00 2001
From: Chas Williams <ciwillia@brocade.com>
Date: Wed, 17 May 2017 14:03:33 -0400
Subject: [PATCH] net/af_packet: handle possible null pointer
[ upstream commit 92656e96dda5ce01d16fc751149c2763f315e6e5 ]
Fixes: 1b93c2aa81b4 ("net/af_packet: add interface name to internals")
Signed-off-by: Chas Williams <ciwillia@brocade.com>
---
drivers/net/af_packet/rte_eth_af_packet.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
index 68de45c..dd77152 100644
--- a/drivers/net/af_packet/rte_eth_af_packet.c
+++ b/drivers/net/af_packet/rte_eth_af_packet.c
@@ -625,6 +625,8 @@ rte_pmd_init_internals(struct rte_vdev_device *dev,
goto error_early;
}
(*internals)->if_name = strdup(pair->value);
+ if ((*internals)->if_name == NULL)
+ goto error_early;
(*internals)->if_index = ifr.ifr_ifindex;
if (ioctl(sockfd, SIOCGIFHWADDR, &ifr) == -1) {
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/af_packet: fix packet bytes counting' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (9 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/af_packet: handle possible null pointer' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/mlx5: fix completion buffer size' " Yuanhan Liu
` (25 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Chas Williams; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 0f288f83f229ba9563beda2b7b90b4dc82d013c1 Mon Sep 17 00:00:00 2001
From: Chas Williams <ciwillia@brocade.com>
Date: Wed, 17 May 2017 14:03:35 -0400
Subject: [PATCH] net/af_packet: fix packet bytes counting
[ upstream commit 74b7fc0a0ff151d7160171cfb0f712dcdd704505 ]
On error, we also need to zero the bytes transmitted.
Fixes: f4ff17a465d2 ("net/af_packet: guard against buffer overruns in Tx path")
Signed-off-by: Chas Williams <ciwillia@brocade.com>
---
drivers/net/af_packet/rte_eth_af_packet.c | 7 +++++--
1 file changed, 5 insertions(+), 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 dd77152..9ccb7af 100644
--- a/drivers/net/af_packet/rte_eth_af_packet.c
+++ b/drivers/net/af_packet/rte_eth_af_packet.c
@@ -252,8 +252,11 @@ eth_af_packet_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
}
/* kick-off transmits */
- if (sendto(pkt_q->sockfd, NULL, 0, MSG_DONTWAIT, NULL, 0) == -1)
- num_tx = 0; /* error sending -- no packets transmitted */
+ if (sendto(pkt_q->sockfd, NULL, 0, MSG_DONTWAIT, NULL, 0) == -1) {
+ /* error sending -- no packets transmitted */
+ num_tx = 0;
+ num_tx_bytes = 0;
+ }
pkt_q->framenum = framenum;
pkt_q->tx_pkts += num_tx;
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/mlx5: fix completion buffer size' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (10 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/af_packet: fix packet bytes counting' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/igb: fix add/delete of flex filters' " Yuanhan Liu
` (24 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Shahaf Shuler; +Cc: Yongseok Koh, Nelio Laranjeiro, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From bdd61d4ea7967c5360041d14667bc085e2cd56d7 Mon Sep 17 00:00:00 2001
From: Shahaf Shuler <shahafs@mellanox.com>
Date: Thu, 18 May 2017 13:44:45 +0300
Subject: [PATCH] net/mlx5: fix completion buffer size
[ upstream commit 626e8bfb84d55a7234d9b79c35bd7005f076fd0d ]
Completion buffer size was computed wrongly, causing
completion polling to wraparound too early and miss entries.
Fixing it by using Direct Verbs to query the CQ info.
Fixes: 6218063b39a6 ("net/mlx5: refactor Rx data path")
Fixes: 1d88ba171942 ("net/mlx5: refactor Tx data path")
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
---
drivers/net/mlx5/mlx5_rxq.c | 14 +++++++++-----
drivers/net/mlx5/mlx5_txq.c | 14 +++++++++-----
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 8b78233..2a26839 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -838,12 +838,16 @@ static inline int
rxq_setup(struct rxq_ctrl *tmpl)
{
struct ibv_cq *ibcq = tmpl->cq;
- struct mlx5_cq *cq = to_mxxx(cq, cq);
+ struct ibv_mlx5_cq_info cq_info;
struct mlx5_rwq *rwq = container_of(tmpl->wq, struct mlx5_rwq, wq);
struct rte_mbuf *(*elts)[1 << tmpl->rxq.elts_n] =
rte_calloc_socket("RXQ", 1, sizeof(*elts), 0, tmpl->socket);
- if (cq->cqe_sz != RTE_CACHE_LINE_SIZE) {
+ if (ibv_mlx5_exp_get_cq_info(ibcq, &cq_info)) {
+ ERROR("Unable to query CQ info. check your OFED.");
+ return ENOTSUP;
+ }
+ if (cq_info.cqe_size != RTE_CACHE_LINE_SIZE) {
ERROR("Wrong MLX5_CQE_SIZE environment variable value: "
"it should be set to %u", RTE_CACHE_LINE_SIZE);
return EINVAL;
@@ -851,16 +855,16 @@ rxq_setup(struct rxq_ctrl *tmpl)
if (elts == NULL)
return ENOMEM;
tmpl->rxq.rq_db = rwq->rq.db;
- tmpl->rxq.cqe_n = log2above(ibcq->cqe);
+ tmpl->rxq.cqe_n = log2above(cq_info.cqe_cnt);
tmpl->rxq.cq_ci = 0;
tmpl->rxq.rq_ci = 0;
- tmpl->rxq.cq_db = cq->dbrec;
+ tmpl->rxq.cq_db = cq_info.dbrec;
tmpl->rxq.wqes =
(volatile struct mlx5_wqe_data_seg (*)[])
(uintptr_t)rwq->rq.buff;
tmpl->rxq.cqes =
(volatile struct mlx5_cqe (*)[])
- (uintptr_t)cq->active_buf->buf;
+ (uintptr_t)cq_info.buf;
tmpl->rxq.elts = elts;
return 0;
}
diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index de7e28b..6c1387e 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -173,23 +173,27 @@ txq_setup(struct txq_ctrl *tmpl, struct txq_ctrl *txq_ctrl)
{
struct mlx5_qp *qp = to_mqp(tmpl->qp);
struct ibv_cq *ibcq = tmpl->cq;
- struct mlx5_cq *cq = to_mxxx(cq, cq);
+ struct ibv_mlx5_cq_info cq_info;
- if (cq->cqe_sz != RTE_CACHE_LINE_SIZE) {
+ if (ibv_mlx5_exp_get_cq_info(ibcq, &cq_info)) {
+ ERROR("Unable to query CQ info. check your OFED.");
+ return ENOTSUP;
+ }
+ if (cq_info.cqe_size != RTE_CACHE_LINE_SIZE) {
ERROR("Wrong MLX5_CQE_SIZE environment variable value: "
"it should be set to %u", RTE_CACHE_LINE_SIZE);
return EINVAL;
}
- tmpl->txq.cqe_n = log2above(ibcq->cqe);
+ tmpl->txq.cqe_n = log2above(cq_info.cqe_cnt);
tmpl->txq.qp_num_8s = qp->ctrl_seg.qp_num << 8;
tmpl->txq.wqes = qp->gen_data.sqstart;
tmpl->txq.wqe_n = log2above(qp->sq.wqe_cnt);
tmpl->txq.qp_db = &qp->gen_data.db[MLX5_SND_DBR];
tmpl->txq.bf_reg = qp->gen_data.bf->reg;
- tmpl->txq.cq_db = cq->dbrec;
+ tmpl->txq.cq_db = cq_info.dbrec;
tmpl->txq.cqes =
(volatile struct mlx5_cqe (*)[])
- (uintptr_t)cq->active_buf->buf;
+ (uintptr_t)cq_info.buf;
tmpl->txq.elts =
(struct rte_mbuf *(*)[1 << tmpl->txq.elts_n])
((uintptr_t)txq_ctrl + sizeof(*txq_ctrl));
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/igb: fix add/delete of flex filters' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (11 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/mlx5: fix completion buffer size' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/tap: fix some flow collision' " Yuanhan Liu
` (23 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Markus Theil; +Cc: Wenzhuo Lu, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 4318c5f6057a9ba328d80e2662b94af3492f6391 Mon Sep 17 00:00:00 2001
From: Markus Theil <markus.theil@tu-ilmenau.de>
Date: Mon, 22 May 2017 12:17:50 +0200
Subject: [PATCH] net/igb: fix add/delete of flex filters
[ upstream commit 167e7b9ae531491f10f495587cb59ae271430abb ]
Before this patch, flex_filter->index was always zero when it was read
and used after rte_zmalloc. The corresponding code was therefore moved
into the add and delete parts of the if/else statement.
Fixes: 231d43909a31 ("igb: migrate flex filter to new API")
Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
drivers/net/e1000/igb_ethdev.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index 5af3ac8..d18dd48 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -3912,10 +3912,6 @@ eth_igb_add_del_flex_filter(struct rte_eth_dev *dev,
}
wufc = E1000_READ_REG(hw, E1000_WUFC);
- if (flex_filter->index < E1000_MAX_FHFT)
- reg_off = E1000_FHFT(flex_filter->index);
- else
- reg_off = E1000_FHFT_EXT(flex_filter->index - E1000_MAX_FHFT);
if (add) {
if (eth_igb_flex_filter_lookup(&filter_info->flex_list,
@@ -3945,6 +3941,11 @@ eth_igb_add_del_flex_filter(struct rte_eth_dev *dev,
return -ENOSYS;
}
+ if (flex_filter->index < E1000_MAX_FHFT)
+ reg_off = E1000_FHFT(flex_filter->index);
+ else
+ reg_off = E1000_FHFT_EXT(flex_filter->index - E1000_MAX_FHFT);
+
E1000_WRITE_REG(hw, E1000_WUFC, wufc | E1000_WUFC_FLEX_HQ |
(E1000_WUFC_FLX0 << flex_filter->index));
queueing = filter->len |
@@ -3973,6 +3974,11 @@ eth_igb_add_del_flex_filter(struct rte_eth_dev *dev,
return -ENOENT;
}
+ if (it->index < E1000_MAX_FHFT)
+ reg_off = E1000_FHFT(it->index);
+ else
+ reg_off = E1000_FHFT_EXT(it->index - E1000_MAX_FHFT);
+
for (i = 0; i < E1000_FHFT_SIZE_IN_DWD; i++)
E1000_WRITE_REG(hw, reg_off + i * sizeof(uint32_t), 0);
E1000_WRITE_REG(hw, E1000_WUFC, wufc &
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/tap: fix some flow collision' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (12 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/igb: fix add/delete of flex filters' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/cxgbe: fix port statistics' " Yuanhan Liu
` (22 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Pascal Mazon; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 0bd27f8dd39ce19ea60a07eceea584f678b13bca Mon Sep 17 00:00:00 2001
From: Pascal Mazon <pascal.mazon@6wind.com>
Date: Mon, 22 May 2017 13:19:53 +0200
Subject: [PATCH] net/tap: fix some flow collision
[ upstream commit f96fe1ab35b74b1e0914bc8a99aac633c5b15807 ]
The following two flow rules (testpmd syntax) should not collide:
flow create 0 priority 1 ingress pattern eth / ipv4 / end actions drop / end
flow create 0 priority 1 ingress pattern eth / ipv6 / end actions drop / end
But the eth_type in the associated TC rule was set to either "ip" or
"ipv6". For TC, they could thus not have the same priority.
Use ETH_P_ALL only in the TC message to make sure those rules can
coexist.
Fixes: de96fe68ae95 ("net/tap: add basic flow API patterns and actions")
Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
---
drivers/net/tap/tap_flow.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/drivers/net/tap/tap_flow.c b/drivers/net/tap/tap_flow.c
index cf1c8a2..a0dd504 100644
--- a/drivers/net/tap/tap_flow.c
+++ b/drivers/net/tap/tap_flow.c
@@ -401,9 +401,6 @@ tap_flow_create_eth(const struct rte_flow_item *item, void *data)
if (!flow)
return 0;
msg = &flow->msg;
- if (spec->type & mask->type)
- msg->t.tcm_info = TC_H_MAKE(msg->t.tcm_info,
- (spec->type & mask->type));
if (!is_zero_ether_addr(&spec->dst)) {
nlattr_add(&msg->nh, TCA_FLOWER_KEY_ETH_DST, ETHER_ADDR_LEN,
&spec->dst.addr_bytes);
@@ -508,8 +505,6 @@ tap_flow_create_ipv4(const struct rte_flow_item *item, void *data)
msg = &flow->msg;
if (!info->eth_type)
info->eth_type = htons(ETH_P_IP);
- if (!info->vlan)
- msg->t.tcm_info = TC_H_MAKE(msg->t.tcm_info, htons(ETH_P_IP));
if (!spec)
return 0;
if (spec->hdr.dst_addr) {
@@ -566,8 +561,6 @@ tap_flow_create_ipv6(const struct rte_flow_item *item, void *data)
msg = &flow->msg;
if (!info->eth_type)
info->eth_type = htons(ETH_P_IPV6);
- if (!info->vlan)
- msg->t.tcm_info = TC_H_MAKE(msg->t.tcm_info, htons(ETH_P_IPV6));
if (!spec)
return 0;
if (memcmp(spec->hdr.dst_addr, empty_addr, 16)) {
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/cxgbe: fix port statistics' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (13 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/tap: fix some flow collision' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/cxgbe: fix rxq default params for ports under same PF' " Yuanhan Liu
` (21 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Rahul Lakkireddy; +Cc: Kumar Sanghvi, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From a3618fd0dc87b4c6b936e0dd812a5352c31a4983 Mon Sep 17 00:00:00 2001
From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Date: Sat, 27 May 2017 09:16:27 +0530
Subject: [PATCH] net/cxgbe: fix port statistics
[ upstream commit ea6a99c077212c5b054b951ef0cc19520076f50d ]
Do not count pause frames as part of normal TX/RX Frame/Byte counts.
Also, switch to using software counters rather than hardware for RX
stats.
Fixes: 856505d303f4 ("cxgbe: add port statistics")
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
---
drivers/net/cxgbe/base/t4_hw.c | 20 ++++++++++++++++++++
drivers/net/cxgbe/base/t4_regs.h | 18 ++++++++++++++++++
drivers/net/cxgbe/cxgbe_ethdev.c | 4 ++--
3 files changed, 40 insertions(+), 2 deletions(-)
diff --git a/drivers/net/cxgbe/base/t4_hw.c b/drivers/net/cxgbe/base/t4_hw.c
index 9dca8da..19afdac 100644
--- a/drivers/net/cxgbe/base/t4_hw.c
+++ b/drivers/net/cxgbe/base/t4_hw.c
@@ -2136,6 +2136,7 @@ unsigned int t4_get_mps_bg_map(struct adapter *adap, int idx)
void t4_get_port_stats(struct adapter *adap, int idx, struct port_stats *p)
{
u32 bgmap = t4_get_mps_bg_map(adap, idx);
+ u32 stat_ctl = t4_read_reg(adap, A_MPS_STAT_CTL);
#define GET_STAT(name) \
t4_read_reg64(adap, \
@@ -2168,6 +2169,15 @@ void t4_get_port_stats(struct adapter *adap, int idx, struct port_stats *p)
p->tx_ppp6 = GET_STAT(TX_PORT_PPP6);
p->tx_ppp7 = GET_STAT(TX_PORT_PPP7);
+ if (CHELSIO_CHIP_VERSION(adap->params.chip) >= CHELSIO_T5) {
+ if (stat_ctl & F_COUNTPAUSESTATTX) {
+ p->tx_frames -= p->tx_pause;
+ p->tx_octets -= p->tx_pause * 64;
+ }
+ if (stat_ctl & F_COUNTPAUSEMCTX)
+ p->tx_mcast_frames -= p->tx_pause;
+ }
+
p->rx_octets = GET_STAT(RX_PORT_BYTES);
p->rx_frames = GET_STAT(RX_PORT_FRAMES);
p->rx_bcast_frames = GET_STAT(RX_PORT_BCAST);
@@ -2195,6 +2205,16 @@ void t4_get_port_stats(struct adapter *adap, int idx, struct port_stats *p)
p->rx_ppp5 = GET_STAT(RX_PORT_PPP5);
p->rx_ppp6 = GET_STAT(RX_PORT_PPP6);
p->rx_ppp7 = GET_STAT(RX_PORT_PPP7);
+
+ if (CHELSIO_CHIP_VERSION(adap->params.chip) >= CHELSIO_T5) {
+ if (stat_ctl & F_COUNTPAUSESTATRX) {
+ p->rx_frames -= p->rx_pause;
+ p->rx_octets -= p->rx_pause * 64;
+ }
+ if (stat_ctl & F_COUNTPAUSEMCRX)
+ p->rx_mcast_frames -= p->rx_pause;
+ }
+
p->rx_ovflow0 = (bgmap & 1) ? GET_STAT_COM(RX_BG_0_MAC_DROP_FRAME) : 0;
p->rx_ovflow1 = (bgmap & 2) ? GET_STAT_COM(RX_BG_1_MAC_DROP_FRAME) : 0;
p->rx_ovflow2 = (bgmap & 4) ? GET_STAT_COM(RX_BG_2_MAC_DROP_FRAME) : 0;
diff --git a/drivers/net/cxgbe/base/t4_regs.h b/drivers/net/cxgbe/base/t4_regs.h
index 9057e40..9c132dc 100644
--- a/drivers/net/cxgbe/base/t4_regs.h
+++ b/drivers/net/cxgbe/base/t4_regs.h
@@ -553,6 +553,24 @@
#define V_VF(x) ((x) << S_VF)
#define G_VF(x) (((x) >> S_VF) & M_VF)
+#define A_MPS_STAT_CTL 0x9600
+
+#define S_COUNTPAUSEMCRX 5
+#define V_COUNTPAUSEMCRX(x) ((x) << S_COUNTPAUSEMCRX)
+#define F_COUNTPAUSEMCRX V_COUNTPAUSEMCRX(1U)
+
+#define S_COUNTPAUSESTATRX 4
+#define V_COUNTPAUSESTATRX(x) ((x) << S_COUNTPAUSESTATRX)
+#define F_COUNTPAUSESTATRX V_COUNTPAUSESTATRX(1U)
+
+#define S_COUNTPAUSEMCTX 3
+#define V_COUNTPAUSEMCTX(x) ((x) << S_COUNTPAUSEMCTX)
+#define F_COUNTPAUSEMCTX V_COUNTPAUSEMCTX(1U)
+
+#define S_COUNTPAUSESTATTX 2
+#define V_COUNTPAUSESTATTX(x) ((x) << S_COUNTPAUSESTATTX)
+#define F_COUNTPAUSESTATTX V_COUNTPAUSESTATTX(1U)
+
#define A_MPS_PORT_STAT_TX_PORT_BYTES_L 0x400
#define A_MPS_PORT_STAT_TX_PORT_BYTES_H 0x404
#define A_MPS_PORT_STAT_TX_PORT_FRAMES_L 0x408
diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c
index 88e568c..3a33fe6 100644
--- a/drivers/net/cxgbe/cxgbe_ethdev.c
+++ b/drivers/net/cxgbe/cxgbe_ethdev.c
@@ -657,8 +657,6 @@ static void cxgbe_dev_stats_get(struct rte_eth_dev *eth_dev,
cxgbe_stats_get(pi, &ps);
/* RX Stats */
- eth_stats->ipackets = ps.rx_frames;
- eth_stats->ibytes = ps.rx_octets;
eth_stats->imissed = ps.rx_ovflow0 + ps.rx_ovflow1 +
ps.rx_ovflow2 + ps.rx_ovflow3 +
ps.rx_trunc0 + ps.rx_trunc1 +
@@ -678,6 +676,8 @@ static void cxgbe_dev_stats_get(struct rte_eth_dev *eth_dev,
eth_stats->q_ipackets[i] = rxq->stats.pkts;
eth_stats->q_ibytes[i] = rxq->stats.rx_bytes;
+ eth_stats->ipackets += eth_stats->q_ipackets[i];
+ eth_stats->ibytes += eth_stats->q_ibytes[i];
}
for (i = 0; i < pi->n_tx_qsets; i++) {
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/cxgbe: fix rxq default params for ports under same PF' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (14 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/cxgbe: fix port statistics' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/sfc/base: fix error code usage in common code' " Yuanhan Liu
` (20 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Rahul Lakkireddy; +Cc: Kumar Sanghvi, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From e16bb21292381142117ff5f2d69635ea86bc766b Mon Sep 17 00:00:00 2001
From: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Date: Sat, 27 May 2017 09:17:58 +0530
Subject: [PATCH] net/cxgbe: fix rxq default params for ports under same PF
[ upstream commit d87ba24d1a9f68e01f7dc61d0a979ee9d92ddec0 ]
Enabling rx queues with default interrupt parameters doesn't happen
for other ports under same PF due to FULL_INIT_DONE flag being set
by the first port.
Fix is to to allow each port to enable its own rx queues with default
parameters.
Fixes: 0462d115441d ("cxgbe: add device related operations")
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
---
drivers/net/cxgbe/cxgbe.h | 3 ++-
drivers/net/cxgbe/cxgbe_ethdev.c | 2 ++
drivers/net/cxgbe/cxgbe_main.c | 33 +++++++++++----------------------
3 files changed, 15 insertions(+), 23 deletions(-)
diff --git a/drivers/net/cxgbe/cxgbe.h b/drivers/net/cxgbe/cxgbe.h
index 0201c99..9120c43 100644
--- a/drivers/net/cxgbe/cxgbe.h
+++ b/drivers/net/cxgbe/cxgbe.h
@@ -1,7 +1,7 @@
/*-
* BSD LICENSE
*
- * Copyright(c) 2014-2015 Chelsio Communications.
+ * Copyright(c) 2014-2017 Chelsio Communications.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -59,5 +59,6 @@ int setup_sge_fwevtq(struct adapter *adapter);
void cfg_queues(struct rte_eth_dev *eth_dev);
int cfg_queue_count(struct rte_eth_dev *eth_dev);
int setup_rss(struct port_info *pi);
+void cxgbe_enable_rx_queues(struct port_info *pi);
#endif /* _CXGBE_H_ */
diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c
index 3a33fe6..598a744 100644
--- a/drivers/net/cxgbe/cxgbe_ethdev.c
+++ b/drivers/net/cxgbe/cxgbe_ethdev.c
@@ -338,6 +338,8 @@ static int cxgbe_dev_start(struct rte_eth_dev *eth_dev)
goto out;
}
+ cxgbe_enable_rx_queues(pi);
+
err = setup_rss(pi);
if (err)
goto out;
diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c
index 1f230cd..71c3671 100644
--- a/drivers/net/cxgbe/cxgbe_main.c
+++ b/drivers/net/cxgbe/cxgbe_main.c
@@ -978,33 +978,22 @@ int setup_rss(struct port_info *pi)
/*
* Enable NAPI scheduling and interrupt generation for all Rx queues.
*/
-static void enable_rx(struct adapter *adap)
+static void enable_rx(struct adapter *adap, struct sge_rspq *q)
{
- struct sge *s = &adap->sge;
- struct sge_rspq *q = &s->fw_evtq;
- int i, j;
-
/* 0-increment GTS to start the timer and enable interrupts */
t4_write_reg(adap, MYPF_REG(A_SGE_PF_GTS),
V_SEINTARM(q->intr_params) |
V_INGRESSQID(q->cntxt_id));
+}
- for_each_port(adap, i) {
- const struct port_info *pi = &adap->port[i];
- struct rte_eth_dev *eth_dev = pi->eth_dev;
-
- for (j = 0; j < eth_dev->data->nb_rx_queues; j++) {
- q = eth_dev->data->rx_queues[j];
-
- /*
- * 0-increment GTS to start the timer and enable
- * interrupts
- */
- t4_write_reg(adap, MYPF_REG(A_SGE_PF_GTS),
- V_SEINTARM(q->intr_params) |
- V_INGRESSQID(q->cntxt_id));
- }
- }
+void cxgbe_enable_rx_queues(struct port_info *pi)
+{
+ struct adapter *adap = pi->adapter;
+ struct sge *s = &adap->sge;
+ unsigned int i;
+
+ for (i = 0; i < pi->n_rx_qsets; i++)
+ enable_rx(adap, &s->ethrxq[pi->first_qset + i].rspq);
}
/**
@@ -1017,7 +1006,7 @@ static void enable_rx(struct adapter *adap)
*/
int cxgbe_up(struct adapter *adap)
{
- enable_rx(adap);
+ enable_rx(adap, &adap->sge.fw_evtq);
t4_sge_tx_monitor_start(adap);
t4_intr_enable(adap);
adap->flags |= FULL_INIT_DONE;
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/sfc/base: fix error code usage in common code' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (15 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/cxgbe: fix rxq default params for ports under same PF' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 16:26 ` Andrew Rybchenko
2017-06-20 11:35 ` [dpdk-stable] patch 'net/sfc: add Tx queue flush failed flag for sanity' " Yuanhan Liu
` (19 subsequent siblings)
36 siblings, 1 reply; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Andy Moreton; +Cc: Andrew Rybchenko, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From f2c835cd8aa6351ff8cd4667e910192b96dd2be6 Mon Sep 17 00:00:00 2001
From: Andy Moreton <amoreton@solarflare.com>
Date: Sat, 27 May 2017 08:55:30 +0100
Subject: [PATCH] net/sfc/base: fix error code usage in common code
[ upstream commit 7236d2bfe0acc48330e3c2a3dfac4ada9a792cd8 ]
MCDI results returned in req.emr_rc have already been translated
from MC_CMD_ERR_* to errno names, so using an MC_CMD_ERR_* value
is incorrect.
Fixes: e7cd430c864f ("net/sfc/base: import SFN7xxx family support")
Signed-off-by: Andy Moreton <amoreton@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
drivers/net/sfc/base/ef10_rx.c | 2 +-
drivers/net/sfc/base/ef10_tx.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/sfc/base/ef10_rx.c b/drivers/net/sfc/base/ef10_rx.c
index b65faed..9d6756c 100644
--- a/drivers/net/sfc/base/ef10_rx.c
+++ b/drivers/net/sfc/base/ef10_rx.c
@@ -137,7 +137,7 @@ efx_mcdi_fini_rxq(
efx_mcdi_execute_quiet(enp, &req);
- if ((req.emr_rc != 0) && (req.emr_rc != MC_CMD_ERR_EALREADY)) {
+ if ((req.emr_rc != 0) && (req.emr_rc != EALREADY)) {
rc = req.emr_rc;
goto fail1;
}
diff --git a/drivers/net/sfc/base/ef10_tx.c b/drivers/net/sfc/base/ef10_tx.c
index 0f8e9b1..dfa9e0b 100644
--- a/drivers/net/sfc/base/ef10_tx.c
+++ b/drivers/net/sfc/base/ef10_tx.c
@@ -148,7 +148,7 @@ efx_mcdi_fini_txq(
efx_mcdi_execute_quiet(enp, &req);
- if ((req.emr_rc != 0) && (req.emr_rc != MC_CMD_ERR_EALREADY)) {
+ if ((req.emr_rc != 0) && (req.emr_rc != EALREADY)) {
rc = req.emr_rc;
goto fail1;
}
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [dpdk-stable] patch 'net/sfc/base: fix error code usage in common code' has been queued to stable release 17.05.1
2017-06-20 11:35 ` [dpdk-stable] patch 'net/sfc/base: fix error code usage in common code' " Yuanhan Liu
@ 2017-06-20 16:26 ` Andrew Rybchenko
2017-06-22 2:19 ` Yuanhan Liu
0 siblings, 1 reply; 40+ messages in thread
From: Andrew Rybchenko @ 2017-06-20 16:26 UTC (permalink / raw)
To: Yuanhan Liu, Andy Moreton; +Cc: dpdk stable
Hi,
On 06/20/2017 02:35 PM, Yuanhan Liu wrote:
> Hi,
>
> FYI, your patch has been queued to stable release 17.05.1
>
> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> It will be pushed if I get no objections before 06/22/17. So please
> shout if anyone has objections.
We have found out that the patch itself introduces the regression which
is fixed in
commit 0c27441ee0923bd221fc021b917ed03b02a94ad3
Author: Andy Moreton <amoreton@solarflare.com>
Date: Thu May 25 13:58:30 2017 +0100
net/sfc/base: let caller know that queue is already flushed
Tx/Rx queue may be already flushed due to Tx/Rx error on the queue or
MC reboot. Caller needs to know that the queue is already flushed to
avoid waiting for flush done event.
Signed-off-by: Andy Moreton <amoreton@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
which is not marked as a fix to be included in stable.
So, please, either skip both patches (this one and 0c27441ee09
mentioned above) or, if it is possible, include both into the stable.
Ideally squashed into one, if so, changeset description should be:
net/sfc/base: let caller know that queue is already flushed
MCDI results returned in req.emr_rc have already been translated
from MC_CMD_ERR_* to errno names, so using an MC_CMD_ERR_* value
is incorrect.
Tx/Rx queue may be already flushed due to Tx/Rx error on the queue or
MC reboot. Caller needs to know that the queue is already flushed to
avoid waiting for flush done event.
Signed-off-by: Andy Moreton <amoreton@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Thanks,
Andrew.
> Thanks.
>
> --yliu
>
> ---
> From f2c835cd8aa6351ff8cd4667e910192b96dd2be6 Mon Sep 17 00:00:00 2001
> From: Andy Moreton <amoreton@solarflare.com>
> Date: Sat, 27 May 2017 08:55:30 +0100
> Subject: [PATCH] net/sfc/base: fix error code usage in common code
>
> [ upstream commit 7236d2bfe0acc48330e3c2a3dfac4ada9a792cd8 ]
>
> MCDI results returned in req.emr_rc have already been translated
> from MC_CMD_ERR_* to errno names, so using an MC_CMD_ERR_* value
> is incorrect.
>
> Fixes: e7cd430c864f ("net/sfc/base: import SFN7xxx family support")
>
> Signed-off-by: Andy Moreton <amoreton@solarflare.com>
> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
> ---
> drivers/net/sfc/base/ef10_rx.c | 2 +-
> drivers/net/sfc/base/ef10_tx.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/sfc/base/ef10_rx.c b/drivers/net/sfc/base/ef10_rx.c
> index b65faed..9d6756c 100644
> --- a/drivers/net/sfc/base/ef10_rx.c
> +++ b/drivers/net/sfc/base/ef10_rx.c
> @@ -137,7 +137,7 @@ efx_mcdi_fini_rxq(
>
> efx_mcdi_execute_quiet(enp, &req);
>
> - if ((req.emr_rc != 0) && (req.emr_rc != MC_CMD_ERR_EALREADY)) {
> + if ((req.emr_rc != 0) && (req.emr_rc != EALREADY)) {
> rc = req.emr_rc;
> goto fail1;
> }
> diff --git a/drivers/net/sfc/base/ef10_tx.c b/drivers/net/sfc/base/ef10_tx.c
> index 0f8e9b1..dfa9e0b 100644
> --- a/drivers/net/sfc/base/ef10_tx.c
> +++ b/drivers/net/sfc/base/ef10_tx.c
> @@ -148,7 +148,7 @@ efx_mcdi_fini_txq(
>
> efx_mcdi_execute_quiet(enp, &req);
>
> - if ((req.emr_rc != 0) && (req.emr_rc != MC_CMD_ERR_EALREADY)) {
> + if ((req.emr_rc != 0) && (req.emr_rc != EALREADY)) {
> rc = req.emr_rc;
> goto fail1;
> }
^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [dpdk-stable] patch 'net/sfc/base: fix error code usage in common code' has been queued to stable release 17.05.1
2017-06-20 16:26 ` Andrew Rybchenko
@ 2017-06-22 2:19 ` Yuanhan Liu
0 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-22 2:19 UTC (permalink / raw)
To: Andrew Rybchenko; +Cc: Andy Moreton, dpdk stable
On Tue, Jun 20, 2017 at 07:26:47PM +0300, Andrew Rybchenko wrote:
> Hi,
>
> On 06/20/2017 02:35 PM, Yuanhan Liu wrote:
> > Hi,
> >
> > FYI, your patch has been queued to stable release 17.05.1
> >
> > Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> > It will be pushed if I get no objections before 06/22/17. So please
> > shout if anyone has objections.
>
> We have found out that the patch itself introduces the regression which
> is fixed in
Hi,
Thanks for letting me know!
> commit 0c27441ee0923bd221fc021b917ed03b02a94ad3
> Author: Andy Moreton <amoreton@solarflare.com>
> Date: Thu May 25 13:58:30 2017 +0100
>
> net/sfc/base: let caller know that queue is already flushed
>
> Tx/Rx queue may be already flushed due to Tx/Rx error on the queue or
> MC reboot. Caller needs to know that the queue is already flushed to
> avoid waiting for flush done event.
>
> Signed-off-by: Andy Moreton <amoreton@solarflare.com>
> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
>
> which is not marked as a fix to be included in stable.
> So, please, either skip both patches (this one and 0c27441ee09
> mentioned above) or, if it is possible, include both into the stable.
> Ideally squashed into one, if so, changeset description should be:
I will pick above commit as well. For stable releases, we basically just
__pick__ commits from upstream. We normally do not edit them. Thus, I will
just cherry-pick it.
--yliu
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/sfc: add Tx queue flush failed flag for sanity' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (16 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/sfc/base: fix error code usage in common code' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/mlx5: fix flow application order on stop/start' " Yuanhan Liu
` (18 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Andrew Rybchenko; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 3b3a03544ef1a955d191aff0a504c0b97eaa9116 Mon Sep 17 00:00:00 2001
From: Andrew Rybchenko <arybchenko@solarflare.com>
Date: Sat, 27 May 2017 08:55:33 +0100
Subject: [PATCH] net/sfc: add Tx queue flush failed flag for sanity
[ upstream commit a47c6d6246cd9cf13ab4b89edb1dab70d464bb8b ]
Avoid usage of flushing state when Tx queue flush init failed.
Fixes: fed9aeb46c19 ("net/sfc: implement transmit path start / stop")
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
drivers/net/sfc/sfc_tx.c | 2 +-
drivers/net/sfc/sfc_tx.h | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/sfc/sfc_tx.c b/drivers/net/sfc/sfc_tx.c
index b8581d1..2323014 100644
--- a/drivers/net/sfc/sfc_tx.c
+++ b/drivers/net/sfc/sfc_tx.c
@@ -503,7 +503,7 @@ sfc_tx_qstop(struct sfc_adapter *sa, unsigned int sw_index)
(retry_count < SFC_TX_QFLUSH_ATTEMPTS);
++retry_count) {
if (efx_tx_qflush(txq->common) != 0) {
- txq->state |= SFC_TXQ_FLUSHING;
+ txq->state |= SFC_TXQ_FLUSH_FAILED;
break;
}
diff --git a/drivers/net/sfc/sfc_tx.h b/drivers/net/sfc/sfc_tx.h
index 6c3ac3b..0c1c708 100644
--- a/drivers/net/sfc/sfc_tx.h
+++ b/drivers/net/sfc/sfc_tx.h
@@ -64,6 +64,8 @@ enum sfc_txq_state_bit {
#define SFC_TXQ_FLUSHING (1 << SFC_TXQ_FLUSHING_BIT)
SFC_TXQ_FLUSHED_BIT,
#define SFC_TXQ_FLUSHED (1 << SFC_TXQ_FLUSHED_BIT)
+ SFC_TXQ_FLUSH_FAILED_BIT,
+#define SFC_TXQ_FLUSH_FAILED (1 << SFC_TXQ_FLUSH_FAILED_BIT)
};
/**
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/mlx5: fix flow application order on stop/start' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (17 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/sfc: add Tx queue flush failed flag for sanity' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/ring: fix adding MAC addresses' " Yuanhan Liu
` (17 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Nélio Laranjeiro; +Cc: Yongseok Koh, Adrien Mazarguil, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From ca044e10452840918955bad4dabaa43a488f5258 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?N=C3=A9lio=20Laranjeiro?= <nelio.laranjeiro@6wind.com>
Date: Mon, 29 May 2017 11:40:58 +0200
Subject: [PATCH] net/mlx5: fix flow application order on stop/start
[ upstream commit c8ffb8a9cc933401ccef5476d0dc1e78a0f6cafc ]
Flow rules must be applied in the same order as they have been created and
thus destroyed in the reverse order.
Fixes: 2097d0d1e2cc ("net/mlx5: support basic flow items and actions")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
drivers/net/mlx5/mlx5.c | 1 +
drivers/net/mlx5/mlx5.h | 2 +-
drivers/net/mlx5/mlx5_flow.c | 27 +++++++++++----------------
3 files changed, 13 insertions(+), 17 deletions(-)
diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index fc99c0d..bcb2c1b 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -789,6 +789,7 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
eth_dev->device->driver = &mlx5_driver.driver;
priv->dev = eth_dev;
eth_dev->dev_ops = &mlx5_dev_ops;
+ TAILQ_INIT(&priv->flows);
/* Bring Ethernet device up. */
DEBUG("forcing Ethernet interface up");
diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
index 67fd742..1148dee 100644
--- a/drivers/net/mlx5/mlx5.h
+++ b/drivers/net/mlx5/mlx5.h
@@ -155,7 +155,7 @@ struct priv {
struct fdir_filter_list *fdir_filter_list; /* Flow director rules. */
struct fdir_queue *fdir_drop_queue; /* Flow director drop queue. */
struct rte_flow_drop *flow_drop_queue; /* Flow drop queue. */
- LIST_HEAD(mlx5_flows, rte_flow) flows; /* RTE Flow rules. */
+ TAILQ_HEAD(mlx5_flows, rte_flow) flows; /* RTE Flow rules. */
uint32_t link_speed_capa; /* Link speed capabilities. */
struct mlx5_xstats_ctrl xstats_ctrl; /* Extended stats control. */
rte_spinlock_t lock; /* Lock for control functions. */
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index adcbe3f..8b3957b 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -91,7 +91,7 @@ mlx5_flow_create_vxlan(const struct rte_flow_item *item,
void *data);
struct rte_flow {
- LIST_ENTRY(rte_flow) next; /**< Pointer to the next flow structure. */
+ TAILQ_ENTRY(rte_flow) next; /**< Pointer to the next flow structure. */
struct ibv_exp_flow_attr *ibv_attr; /**< Pointer to Verbs attributes. */
struct ibv_exp_rwq_ind_table *ind_table; /**< Indirection table. */
struct ibv_qp *qp; /**< Verbs queue pair. */
@@ -1230,7 +1230,7 @@ mlx5_flow_create(struct rte_eth_dev *dev,
priv_lock(priv);
flow = priv_flow_create(priv, attr, items, actions, error);
if (flow) {
- LIST_INSERT_HEAD(&priv->flows, flow, next);
+ TAILQ_INSERT_TAIL(&priv->flows, flow, next);
DEBUG("Flow created %p", (void *)flow);
}
priv_unlock(priv);
@@ -1249,8 +1249,7 @@ static void
priv_flow_destroy(struct priv *priv,
struct rte_flow *flow)
{
- (void)priv;
- LIST_REMOVE(flow, next);
+ TAILQ_REMOVE(&priv->flows, flow, next);
if (flow->ibv_flow)
claim_zero(ibv_exp_destroy_flow(flow->ibv_flow));
if (flow->drop)
@@ -1275,9 +1274,9 @@ priv_flow_destroy(struct priv *priv,
*/
for (queue_n = 0; queue_n < flow->rxqs_n; ++queue_n) {
rxq = flow->rxqs[queue_n];
- for (tmp = LIST_FIRST(&priv->flows);
+ for (tmp = TAILQ_FIRST(&priv->flows);
tmp;
- tmp = LIST_NEXT(tmp, next)) {
+ tmp = TAILQ_NEXT(tmp, next)) {
uint32_t tqueue_n;
if (tmp->drop)
@@ -1330,10 +1329,10 @@ mlx5_flow_destroy(struct rte_eth_dev *dev,
static void
priv_flow_flush(struct priv *priv)
{
- while (!LIST_EMPTY(&priv->flows)) {
+ while (!TAILQ_EMPTY(&priv->flows)) {
struct rte_flow *flow;
- flow = LIST_FIRST(&priv->flows);
+ flow = TAILQ_FIRST(&priv->flows);
priv_flow_destroy(priv, flow);
}
}
@@ -1494,9 +1493,7 @@ priv_flow_stop(struct priv *priv)
{
struct rte_flow *flow;
- for (flow = LIST_FIRST(&priv->flows);
- flow;
- flow = LIST_NEXT(flow, next)) {
+ TAILQ_FOREACH_REVERSE(flow, &priv->flows, mlx5_flows, next) {
claim_zero(ibv_exp_destroy_flow(flow->ibv_flow));
flow->ibv_flow = NULL;
if (flow->mark) {
@@ -1528,9 +1525,7 @@ priv_flow_start(struct priv *priv)
ret = priv_flow_create_drop_queue(priv);
if (ret)
return -1;
- for (flow = LIST_FIRST(&priv->flows);
- flow;
- flow = LIST_NEXT(flow, next)) {
+ TAILQ_FOREACH(flow, &priv->flows, next) {
struct ibv_qp *qp;
if (flow->drop)
@@ -1570,9 +1565,9 @@ priv_flow_rxq_in_use(struct priv *priv, struct rxq *rxq)
{
struct rte_flow *flow;
- for (flow = LIST_FIRST(&priv->flows);
+ for (flow = TAILQ_FIRST(&priv->flows);
flow;
- flow = LIST_NEXT(flow, next)) {
+ flow = TAILQ_NEXT(flow, next)) {
unsigned int n;
if (flow->drop)
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/ring: fix adding MAC addresses' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (18 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/mlx5: fix flow application order on stop/start' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/mlx5: fix exception handling' " Yuanhan Liu
` (16 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Chas Williams; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 722e0348154b718857dec6451ca62437343bd989 Mon Sep 17 00:00:00 2001
From: Chas Williams <ciwillia@brocade.com>
Date: Fri, 26 May 2017 09:18:05 -0400
Subject: [PATCH] net/ring: fix adding MAC addresses
[ upstream commit 96b00e3a6ab780e0193004c10dbd45511933737a ]
When .mac_addr_add() was changed to allow a return code, ring was changed
to return -ENOTSUP. This changes the behavior of the rte_ring driver in
a way that does not maintain backward compatibility. Additionally, if
the intent is to return -ENOTSUP, you could simply not define the stubs.
Fixes: 6d01e580ac5d ("ethdev: fix adding invalid MAC address")
Signed-off-by: Chas Williams <ciwillia@brocade.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
drivers/net/ring/rte_eth_ring.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index 87d2258..d4dce95 100644
--- a/drivers/net/ring/rte_eth_ring.c
+++ b/drivers/net/ring/rte_eth_ring.c
@@ -230,7 +230,7 @@ eth_mac_addr_add(struct rte_eth_dev *dev __rte_unused,
uint32_t index __rte_unused,
uint32_t vmdq __rte_unused)
{
- return -ENOTSUP;
+ return 0;
}
static void
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/mlx5: fix exception handling' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (19 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/ring: fix adding MAC addresses' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/mlx5: fix redundant free of Tx buffer' " Yuanhan Liu
` (15 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Yongseok Koh; +Cc: Adrien Mazarguil, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From be4fa40365a792937bbaa5a9f448e4a333dc744e Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Mon, 29 May 2017 18:02:59 -0700
Subject: [PATCH] net/mlx5: fix exception handling
[ upstream commit 70aee77ec6284d18ae30486b545b0527c2082bce ]
A sanity check is required in priv_fdir_disable(). If resizing Rx queue
fails, this can cause a crash by referencing a NULL pointer.
Fixes: 76f5c99e6840 ("mlx5: support flow director")
Fixes: 0cdddf4d0626 ("net/mlx5: split Rx queue structure")
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
drivers/net/mlx5/mlx5_fdir.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_fdir.c b/drivers/net/mlx5/mlx5_fdir.c
index f80c58b..1cff41b 100644
--- a/drivers/net/mlx5/mlx5_fdir.c
+++ b/drivers/net/mlx5/mlx5_fdir.c
@@ -733,9 +733,11 @@ priv_fdir_disable(struct priv *priv)
/* Destroy flow director context in each RX queue. */
for (i = 0; (i != priv->rxqs_n); i++) {
- struct rxq_ctrl *rxq_ctrl =
- container_of((*priv->rxqs)[i], struct rxq_ctrl, rxq);
+ struct rxq_ctrl *rxq_ctrl;
+ if (!(*priv->rxqs)[i])
+ continue;
+ rxq_ctrl = container_of((*priv->rxqs)[i], struct rxq_ctrl, rxq);
if (!rxq_ctrl->fdir_queue)
continue;
priv_fdir_queue_destroy(priv, rxq_ctrl->fdir_queue);
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/mlx5: fix redundant free of Tx buffer' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (20 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/mlx5: fix exception handling' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/igb: fix checksum valid flags' " Yuanhan Liu
` (14 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Yongseok Koh; +Cc: Nelio Laranjeiro, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 39ea3ea6e718267b7c2520f6641b6cf6f5d0637e Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Wed, 31 May 2017 10:48:45 -0700
Subject: [PATCH] net/mlx5: fix redundant free of Tx buffer
[ upstream commit c80711c3fbfdae1449ad1cbc6b31067087bd9561 ]
SW completion ring of Tx (txq->elts) stores individual mbufs even if a
multi-segmented packet is sent. rte_pktmbuf_free_seg() must be used when
cleaning up the completion ring. Otherwise, chained mbufs are redundantly
freed and finally it would cause a crash.
Fixes: 1d88ba171942 ("net/mlx5: refactor Tx data path")
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
---
drivers/net/mlx5/mlx5_txq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index 6c1387e..bf72468 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -117,7 +117,7 @@ txq_free_elts(struct txq_ctrl *txq_ctrl)
struct rte_mbuf *elt = (*elts)[elts_tail];
assert(elt != NULL);
- rte_pktmbuf_free(elt);
+ rte_pktmbuf_free_seg(elt);
#ifndef NDEBUG
/* Poisoning. */
memset(&(*elts)[elts_tail],
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/igb: fix checksum valid flags' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (21 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/mlx5: fix redundant free of Tx buffer' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/ixgbe: fix fdir mask not be reset' " Yuanhan Liu
` (13 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Wei Zhao; +Cc: Wenzhuo Lu, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From eb9ba6db2cd8a63b6fb6559b91ac80885ffcf5b6 Mon Sep 17 00:00:00 2001
From: Wei Zhao <wei.zhao1@intel.com>
Date: Wed, 31 May 2017 11:03:12 +0800
Subject: [PATCH] net/igb: fix checksum valid flags
[ upstream commit 760110abd68d84014b48bb84945276016d3e7616 ]
To enable L4 checksum offload for SCTP packets, E1000_RXCSUM_CRCOFL
should be set.
Otherwise, for SCTP packets even L4 checksum not calculated, it will
return PKT_RX_L4_CKSUM_GOOD.
Fixes: af75078fece3 ("first public release")
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
drivers/net/e1000/igb_rxtx.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c
index b3b601b..1c80a2a 100644
--- a/drivers/net/e1000/igb_rxtx.c
+++ b/drivers/net/e1000/igb_rxtx.c
@@ -2402,9 +2402,11 @@ eth_igb_rx_init(struct rte_eth_dev *dev)
/* Enable both L3/L4 rx checksum offload */
if (dev->data->dev_conf.rxmode.hw_ip_checksum)
- rxcsum |= (E1000_RXCSUM_IPOFL | E1000_RXCSUM_TUOFL);
+ rxcsum |= (E1000_RXCSUM_IPOFL | E1000_RXCSUM_TUOFL |
+ E1000_RXCSUM_CRCOFL);
else
- rxcsum &= ~(E1000_RXCSUM_IPOFL | E1000_RXCSUM_TUOFL);
+ rxcsum &= ~(E1000_RXCSUM_IPOFL | E1000_RXCSUM_TUOFL |
+ E1000_RXCSUM_CRCOFL);
E1000_WRITE_REG(hw, E1000_RXCSUM, rxcsum);
/* Setup the Receive Control Register. */
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/ixgbe: fix fdir mask not be reset' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (22 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/igb: fix checksum valid flags' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/i40e: exclude internal packet's byte count' " Yuanhan Liu
` (12 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Qi Zhang; +Cc: Wenzhuo Lu, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From f309da4becea3c75b6019c6ccb4648c10c0b43c1 Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Thu, 1 Jun 2017 13:36:44 -0400
Subject: [PATCH] net/ixgbe: fix fdir mask not be reset
[ upstream commit 8d702249d58e01429cab988d28b95921ebf1d590 ]
When the last fdir flow be destroyed, the flag "mask_added"
should be reset, so the remain mask info will not take effect
when a new flow be added.
Fixes: a14de8b498d1 ("net/ixgbe: destroy consistent filter")
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
drivers/net/ixgbe/ixgbe_flow.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index da7b1cc..9aeb71e 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -2647,6 +2647,8 @@ ixgbe_flow_destroy(struct rte_eth_dev *dev,
struct ixgbe_eth_l2_tunnel_conf_ele *l2_tn_filter_ptr;
struct ixgbe_fdir_rule_ele *fdir_rule_ptr;
struct ixgbe_flow_mem *ixgbe_flow_mem_ptr;
+ struct ixgbe_hw_fdir_info *fdir_info =
+ IXGBE_DEV_PRIVATE_TO_FDIR_INFO(dev->data->dev_private);
switch (filter_type) {
case RTE_ETH_FILTER_NTUPLE:
@@ -2699,6 +2701,8 @@ ixgbe_flow_destroy(struct rte_eth_dev *dev,
TAILQ_REMOVE(&filter_fdir_list,
fdir_rule_ptr, entries);
rte_free(fdir_rule_ptr);
+ if (TAILQ_EMPTY(&filter_fdir_list))
+ fdir_info->mask_added = false;
}
break;
case RTE_ETH_FILTER_L2_TUNNEL:
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/i40e: exclude internal packet's byte count' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (23 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/ixgbe: fix fdir mask not be reset' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/i40e: fix VF statistics' " Yuanhan Liu
` (11 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Qi Zhang; +Cc: Beilei Xing, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From ec5d186a14f826c0404ad489ecf242fdfbd5420d Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Thu, 1 Jun 2017 13:55:45 -0400
Subject: [PATCH] net/i40e: exclude internal packet's byte count
[ upstream commit 0bcdc44510ef5efd7c0069cdd0161e6f446c254b ]
Tx/Rx byte counts of internal managed packet should be
excluded from the total rx/tx bytes.
Fixes: 9aace75fc82e ("i40e: fix statistics")
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
---
drivers/net/i40e/i40e_ethdev.c | 21 +++++++++++++++++++--
drivers/net/i40e/i40e_ethdev.h | 5 +++++
2 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index c18a93b..2d648c2 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -2379,6 +2379,19 @@ i40e_read_stats_registers(struct i40e_pf *pf, struct i40e_hw *hw)
struct i40e_hw_port_stats *ns = &pf->stats; /* new stats */
struct i40e_hw_port_stats *os = &pf->stats_offset; /* old stats */
+ /* Get rx/tx bytes of internal transfer packets */
+ i40e_stat_update_48(hw, I40E_GLV_GORCH(hw->port),
+ I40E_GLV_GORCL(hw->port),
+ pf->offset_loaded,
+ &pf->internal_rx_bytes_offset,
+ &pf->internal_rx_bytes);
+
+ i40e_stat_update_48(hw, I40E_GLV_GOTCH(hw->port),
+ I40E_GLV_GOTCL(hw->port),
+ pf->offset_loaded,
+ &pf->internal_tx_bytes_offset,
+ &pf->internal_tx_bytes);
+
/* Get statistics of struct i40e_eth_stats */
i40e_stat_update_48(hw, I40E_GLPRT_GORCH(hw->port),
I40E_GLPRT_GORCL(hw->port),
@@ -2400,7 +2413,7 @@ i40e_read_stats_registers(struct i40e_pf *pf, struct i40e_hw *hw)
* so subtract ETHER_CRC_LEN from the byte counter for each rx packet.
*/
ns->eth.rx_bytes -= (ns->eth.rx_unicast + ns->eth.rx_multicast +
- ns->eth.rx_broadcast) * ETHER_CRC_LEN;
+ ns->eth.rx_broadcast) * ETHER_CRC_LEN + pf->internal_rx_bytes;
i40e_stat_update_32(hw, I40E_GLPRT_RDPC(hw->port),
pf->offset_loaded, &os->eth.rx_discards,
@@ -2428,7 +2441,7 @@ i40e_read_stats_registers(struct i40e_pf *pf, struct i40e_hw *hw)
pf->offset_loaded, &os->eth.tx_broadcast,
&ns->eth.tx_broadcast);
ns->eth.tx_bytes -= (ns->eth.tx_unicast + ns->eth.tx_multicast +
- ns->eth.tx_broadcast) * ETHER_CRC_LEN;
+ ns->eth.tx_broadcast) * ETHER_CRC_LEN + pf->internal_tx_bytes;
/* GLPRT_TEPC not supported */
/* additional port specific stats */
@@ -5196,6 +5209,10 @@ i40e_pf_setup(struct i40e_pf *pf)
pf->offset_loaded = FALSE;
memset(&pf->stats, 0, sizeof(struct i40e_hw_port_stats));
memset(&pf->stats_offset, 0, sizeof(struct i40e_hw_port_stats));
+ pf->internal_rx_bytes = 0;
+ pf->internal_tx_bytes = 0;
+ pf->internal_rx_bytes_offset = 0;
+ pf->internal_tx_bytes_offset = 0;
ret = i40e_pf_get_switch_config(pf);
if (ret != I40E_SUCCESS) {
diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h
index 2ff8282..b0d963c 100644
--- a/drivers/net/i40e/i40e_ethdev.h
+++ b/drivers/net/i40e/i40e_ethdev.h
@@ -639,6 +639,11 @@ struct i40e_pf {
struct i40e_hw_port_stats stats_offset;
struct i40e_hw_port_stats stats;
+ /* internal packet byte count, it should be excluded from the total */
+ uint64_t internal_rx_bytes;
+ uint64_t internal_tx_bytes;
+ uint64_t internal_rx_bytes_offset;
+ uint64_t internal_tx_bytes_offset;
bool offset_loaded;
struct rte_eth_dev_data *dev_data; /* Pointer to the device data */
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/i40e: fix VF statistics' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (24 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/i40e: exclude internal packet's byte count' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/qede: fix VXLAN tunnel Tx offload flag setting' " Yuanhan Liu
` (10 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Qi Zhang; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From faf7f29e1b632d8f2db4d9c7b71f594240f0c4e0 Mon Sep 17 00:00:00 2001
From: Qi Zhang <qi.z.zhang@intel.com>
Date: Mon, 5 Jun 2017 17:14:20 -0400
Subject: [PATCH] net/i40e: fix VF statistics
[ upstream commit 98abce237ba75e06e30f92bf361bc0de22098cb4 ]
CRC bytes should be excluded, so rx/tx bytes of VF stats is aligned
with PF stats.
Fixes: 9aace75fc82e ("i40e: fix statistics")
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
drivers/net/i40e/i40e_ethdev.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 2d648c2..fd7d347 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -2329,6 +2329,10 @@ i40e_update_vsi_stats(struct i40e_vsi *vsi)
i40e_stat_update_48(hw, I40E_GLV_BPRCH(idx), I40E_GLV_BPRCL(idx),
vsi->offset_loaded, &oes->rx_broadcast,
&nes->rx_broadcast);
+ /* exclude CRC bytes */
+ nes->rx_bytes -= (nes->rx_unicast + nes->rx_multicast +
+ nes->rx_broadcast) * ETHER_CRC_LEN;
+
i40e_stat_update_32(hw, I40E_GLV_RDPC(idx), vsi->offset_loaded,
&oes->rx_discards, &nes->rx_discards);
/* GLV_REPC not supported */
@@ -2348,6 +2352,9 @@ i40e_update_vsi_stats(struct i40e_vsi *vsi)
i40e_stat_update_48(hw, I40E_GLV_BPTCH(idx), I40E_GLV_BPTCL(idx),
vsi->offset_loaded, &oes->tx_broadcast,
&nes->tx_broadcast);
+ /* exclude CRC bytes */
+ nes->tx_bytes -= (nes->tx_unicast + nes->tx_multicast +
+ nes->tx_broadcast) * ETHER_CRC_LEN;
/* GLV_TDPC not supported */
i40e_stat_update_32(hw, I40E_GLV_TEPC(idx), vsi->offset_loaded,
&oes->tx_errors, &nes->tx_errors);
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/qede: fix VXLAN tunnel Tx offload flag setting' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (25 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/i40e: fix VF statistics' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/liquidio: fix MTU calculation from port configuration' " Yuanhan Liu
` (9 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Harish Patil; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 0273418964f5c14f6c1e5b7a443575d26eb09ce6 Mon Sep 17 00:00:00 2001
From: Harish Patil <harish.patil@cavium.com>
Date: Wed, 7 Jun 2017 00:42:21 -0700
Subject: [PATCH] net/qede: fix VXLAN tunnel Tx offload flag setting
[ upstream commit 44346c24b7900bc628ad20324a873f9a3250853b ]
This patch fixes missing PKT_TX_TUNNEL_VXLAN Tx offload flag from the
supported Tx offloads and an incorrect tunnel TX BD bit setting.
Fixes: 3d4bb4411683 ("net/qede: add fastpath support for VXLAN tunneling")
Signed-off-by: Harish Patil <harish.patil@cavium.com>
---
drivers/net/qede/qede_rxtx.c | 4 ++--
drivers/net/qede/qede_rxtx.h | 3 ++-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
index baea1bb..f5aa43d 100644
--- a/drivers/net/qede/qede_rxtx.c
+++ b/drivers/net/qede/qede_rxtx.c
@@ -1343,7 +1343,7 @@ print_tx_bd_info(struct qede_tx_queue *txq,
if (bd1)
PMD_TX_LOG(INFO, txq,
- "BD1: nbytes=%u nbds=%u bd_flags=04%x bf=%04x",
+ "BD1: nbytes=%u nbds=%u bd_flags=%04x bf=%04x",
rte_cpu_to_le_16(bd1->nbytes), bd1->data.nbds,
bd1->data.bd_flags.bitfields,
rte_cpu_to_le_16(bd1->data.bitfields));
@@ -1542,7 +1542,7 @@ qede_xmit_pkts(void *p_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
if (tunn_flg) {
/* First indicate its a tunnel pkt */
- bd1->data.bd_flags.bitfields |=
+ bd1->data.bitfields |=
ETH_TX_DATA_1ST_BD_TUNN_FLAG_MASK <<
ETH_TX_DATA_1ST_BD_TUNN_FLAG_SHIFT;
diff --git a/drivers/net/qede/qede_rxtx.h b/drivers/net/qede/qede_rxtx.h
index a1bbd25..21f2dac 100644
--- a/drivers/net/qede/qede_rxtx.h
+++ b/drivers/net/qede/qede_rxtx.h
@@ -134,7 +134,8 @@
#define QEDE_TX_OFFLOAD_MASK (QEDE_TX_CSUM_OFFLOAD_MASK | \
PKT_TX_QINQ_PKT | \
- PKT_TX_VLAN_PKT)
+ PKT_TX_VLAN_PKT | \
+ PKT_TX_TUNNEL_VXLAN)
#define QEDE_TX_OFFLOAD_NOTSUP_MASK \
(PKT_TX_OFFLOAD_MASK ^ QEDE_TX_OFFLOAD_MASK)
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/liquidio: fix MTU calculation from port configuration' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (26 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/qede: fix VXLAN tunnel Tx offload flag setting' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/bnxt: fix reporting of link status' " Yuanhan Liu
` (8 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Shijith Thotton; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 4cc4cd67f6cf6863d2bfa646eb9aa2f9dce711fa Mon Sep 17 00:00:00 2001
From: Shijith Thotton <shijith.thotton@caviumnetworks.com>
Date: Tue, 6 Jun 2017 16:34:34 +0530
Subject: [PATCH] net/liquidio: fix MTU calculation from port configuration
[ upstream commit dc7037ba73f84c8bc5923813e0398f3c1c28de9d ]
max_rx_pkt_len member of port RX configuration indicates max frame
length. Ethernet header and CRC length should be subtracted from it to
find MTU.
Fixes: 605164c8e79d ("net/liquidio: add API to validate VF MTU")
Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>
---
drivers/net/liquidio/lio_ethdev.c | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/drivers/net/liquidio/lio_ethdev.c b/drivers/net/liquidio/lio_ethdev.c
index 269a5f2..c7f1fb6 100644
--- a/drivers/net/liquidio/lio_ethdev.c
+++ b/drivers/net/liquidio/lio_ethdev.c
@@ -36,6 +36,7 @@
#include <rte_cycles.h>
#include <rte_malloc.h>
#include <rte_alarm.h>
+#include <rte_ether.h>
#include "lio_logs.h"
#include "lio_23xx_vf.h"
@@ -1348,7 +1349,8 @@ lio_sync_link_state_check(void *eth_dev)
static int
lio_dev_start(struct rte_eth_dev *eth_dev)
{
- uint16_t mtu = eth_dev->data->dev_conf.rxmode.max_rx_pkt_len;
+ uint16_t mtu;
+ uint32_t frame_len = eth_dev->data->dev_conf.rxmode.max_rx_pkt_len;
struct lio_device *lio_dev = LIO_DEV(eth_dev);
uint16_t timeout = LIO_MAX_CMD_TIMEOUT;
int ret = 0;
@@ -1386,12 +1388,29 @@ lio_dev_start(struct rte_eth_dev *eth_dev)
goto dev_mtu_check_error;
}
+ if (eth_dev->data->dev_conf.rxmode.jumbo_frame == 1) {
+ if (frame_len <= ETHER_MAX_LEN ||
+ frame_len > LIO_MAX_RX_PKTLEN) {
+ lio_dev_err(lio_dev, "max packet length should be >= %d and < %d when jumbo frame is enabled\n",
+ ETHER_MAX_LEN, LIO_MAX_RX_PKTLEN);
+ ret = -EINVAL;
+ goto dev_mtu_check_error;
+ }
+ mtu = (uint16_t)(frame_len - ETHER_HDR_LEN - ETHER_CRC_LEN);
+ } else {
+ /* default MTU */
+ mtu = ETHER_MTU;
+ eth_dev->data->dev_conf.rxmode.max_rx_pkt_len = ETHER_MAX_LEN;
+ }
+
if (lio_dev->linfo.link.s.mtu != mtu) {
ret = lio_dev_validate_vf_mtu(eth_dev, mtu);
if (ret)
goto dev_mtu_check_error;
}
+ eth_dev->data->mtu = mtu;
+
return 0;
dev_mtu_check_error:
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/bnxt: fix reporting of link status' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (27 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/liquidio: fix MTU calculation from port configuration' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'kni: fix build with gcc 7.1' " Yuanhan Liu
` (7 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Ajit Khaparde; +Cc: Stephen Hurd, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 139f95b38cf6cc671f571da056e32d94b5ec6a20 Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Thu, 8 Jun 2017 23:24:48 -0500
Subject: [PATCH] net/bnxt: fix reporting of link status
[ upstream commit bc8ee8572e8e5f82e4cd695c107f3fbcc42a5674 ]
This patch fixes incorrect reporting of link status
1) When link is down, set speed to zero. Otherwise a wrong non-zero
speed will be displayed.
2) DAC cables can detect there is a signal, but it necessarily does not
mean link is up. Code previously treated this as link up.
Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification")
Signed-off-by: Stephen Hurd <stephen.hurd@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_hwrm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 3849d1a..d898723 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -536,7 +536,7 @@ static int bnxt_hwrm_port_phy_qcfg(struct bnxt *bp,
HWRM_CHECK_RESULT;
link_info->phy_link_status = resp->link;
- if (link_info->phy_link_status != HWRM_PORT_PHY_QCFG_OUTPUT_LINK_NO_LINK) {
+ if (link_info->phy_link_status == HWRM_PORT_PHY_QCFG_OUTPUT_LINK_LINK) {
link_info->link_up = 1;
link_info->link_speed = rte_le_to_cpu_16(resp->link_speed);
} else {
@@ -1438,7 +1438,7 @@ int bnxt_get_hwrm_link_config(struct bnxt *bp, struct rte_eth_link *link)
link->link_speed =
bnxt_parse_hw_link_speed(link_info->link_speed);
else
- link->link_speed = ETH_LINK_SPEED_10M;
+ link->link_speed = ETH_SPEED_NUM_NONE;
link->link_duplex = bnxt_parse_hw_link_duplex(link_info->duplex);
link->link_status = link_info->link_up;
link->link_autoneg = link_info->auto_mode ==
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'kni: fix build with gcc 7.1' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (28 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/bnxt: fix reporting of link status' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/enic: " Yuanhan Liu
` (6 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Ferruh Yigit; +Cc: Nirmoy Das, Markos Chandras, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From ee19232d41d6bc5b0e69484068396696446f265f Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Tue, 13 Jun 2017 17:42:08 +0100
Subject: [PATCH] kni: fix build with gcc 7.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit c3698192940ca9786cb2871272a585638c50d194 ]
build error:
.../dpdk/build/build/lib/librte_eal/linuxapp/kni/igb_main.c:
In function ‘igb_kni_probe’:
.../dpdk/build/build/lib/librte_eal/linuxapp/kni/igb_main.c:2483:30:
error: ‘%d’ directive output may be truncated writing between 1 and 5
bytes into a region of size between 0 and 11
[-Werror=format-truncation=]
"%d.%d, 0x%08x, %d.%d.%d",
^~
.../dpdk/build/build/lib/librte_eal/linuxapp/kni/igb_main.c:2483:8:
note: directive argument in the range [0, 65535]
"%d.%d, 0x%08x, %d.%d.%d",
^~~~~~~~~~~~~~~~~~~~~~~~~
.../dpdk/build/build/lib/librte_eal/linuxapp/kni/igb_main.c:2481:4:
note: ‘snprintf’ output between 23 and 43 bytes into a destination of
size 32
snprintf(adapter->fw_version,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sizeof(adapter->fw_version),
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"%d.%d, 0x%08x, %d.%d.%d",
~~~~~~~~~~~~~~~~~~~~~~~~~~
fw.eep_major, fw.eep_minor, fw.etrack_id,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fw.or_major, fw.or_build, fw.or_patch);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fixed by increasing buffer size to 43 as suggested in compiler log.
Fixes: b9ee370557f1 ("kni: update kernel driver ethtool baseline")
Reported-by: Nirmoy Das <ndas@suse.de>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Markos Chandras <mchandras@suse.de>
---
lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h
index d077b49..8667f29 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h
@@ -607,7 +607,7 @@ struct igb_adapter {
int int_mode;
u32 rss_queues;
u32 vmdq_pools;
- char fw_version[32];
+ char fw_version[43];
u32 wvbr;
struct igb_mac_addr *mac_table;
#ifdef CONFIG_IGB_VMDQ_NETDEV
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/enic: fix build with gcc 7.1' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (29 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'kni: fix build with gcc 7.1' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/mlx5: " Yuanhan Liu
` (5 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Ferruh Yigit; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 1078f5c66f6e4d3bb13ee921ae44bca30eb80999 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Tue, 13 Jun 2017 17:42:10 +0100
Subject: [PATCH] net/enic: fix build with gcc 7.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit a45962823d863890265bd9033be09a33afb6199f ]
build error:
.../dpdk/drivers/net/enic/base/vnic_dev.c:
In function ‘vnic_dev_get_mac_addr’:
.../dpdk/drivers/net/enic/base/vnic_dev.c:470:12:
error: ‘a0’ is used uninitialized in this function
[-Werror=uninitialized]
args[0] = *a0;
^~~
...dpdk/drivers/net/enic/base/vnic_dev.c:
In function ‘vnic_dev_classifier’:
...dpdk/drivers/net/enic/base/vnic_dev.c:471:12:
error: ‘a1’ may be used uninitialized in this function
[-Werror=maybe-uninitialized]
args[1] = *a1;
^~~
Fixed by providing initial values.
Fixes: 9913fbb91df0 ("enic/base: common code")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
drivers/net/enic/base/vnic_dev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/enic/base/vnic_dev.c b/drivers/net/enic/base/vnic_dev.c
index 84e4840..1cd031a 100644
--- a/drivers/net/enic/base/vnic_dev.c
+++ b/drivers/net/enic/base/vnic_dev.c
@@ -645,7 +645,7 @@ int vnic_dev_soft_reset_done(struct vnic_dev *vdev, int *done)
int vnic_dev_get_mac_addr(struct vnic_dev *vdev, u8 *mac_addr)
{
- u64 a0, a1 = 0;
+ u64 a0 = 0, a1 = 0;
int wait = 1000;
int err, i;
@@ -1021,7 +1021,7 @@ int vnic_dev_set_mac_addr(struct vnic_dev *vdev, u8 *mac_addr)
int vnic_dev_classifier(struct vnic_dev *vdev, u8 cmd, u16 *entry,
struct filter_v2 *data)
{
- u64 a0, a1;
+ u64 a0 = 0, a1 = 0;
int wait = 1000;
dma_addr_t tlv_pa;
int ret = -EINVAL;
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/mlx5: fix build with gcc 7.1' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (30 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/enic: " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'vhost: fix malloc size too small' " Yuanhan Liu
` (4 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Ferruh Yigit; +Cc: Adrien Mazarguil, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From eb715252f4f97e463b6a0986f3598c3ffd3894c9 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@intel.com>
Date: Tue, 13 Jun 2017 17:42:11 +0100
Subject: [PATCH] net/mlx5: fix build with gcc 7.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit aee3d4d6d5a6dbfa0a503f25f0f2bec8e6476477 ]
build error:
.../dpdk/drivers/net/mlx5/mlx5_fdir.c:
In function ‘fdir_filter_to_flow_desc’:
.../dpdk/drivers/net/mlx5/mlx5_fdir.c:146:18:
error: this statement may fall through [-Werror=implicit-fallthrough=]
desc->dst_port = fdir_filter->input.flow.udp4_flow.dst_port;
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.../dpdk/drivers/net/mlx5/mlx5_fdir.c:147:2: note: here
case RTE_ETH_FLOW_NONFRAG_IPV4_OTHER:
^~~~
Fixed by adding fallthrough comment to the code.
Fixes: 76f5c99e6840 ("mlx5: support flow director")
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
---
drivers/net/mlx5/mlx5_fdir.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/mlx5/mlx5_fdir.c b/drivers/net/mlx5/mlx5_fdir.c
index 1cff41b..c8d4748 100644
--- a/drivers/net/mlx5/mlx5_fdir.c
+++ b/drivers/net/mlx5/mlx5_fdir.c
@@ -144,6 +144,7 @@ fdir_filter_to_flow_desc(const struct rte_eth_fdir_filter *fdir_filter,
case RTE_ETH_FLOW_NONFRAG_IPV4_TCP:
desc->src_port = fdir_filter->input.flow.udp4_flow.src_port;
desc->dst_port = fdir_filter->input.flow.udp4_flow.dst_port;
+ /* fallthrough */
case RTE_ETH_FLOW_NONFRAG_IPV4_OTHER:
desc->src_ip[0] = fdir_filter->input.flow.ip4_flow.src_ip;
desc->dst_ip[0] = fdir_filter->input.flow.ip4_flow.dst_ip;
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'vhost: fix malloc size too small' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (31 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/mlx5: " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'vhost: fix guest pages memory leak' " Yuanhan Liu
` (3 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Dariusz Stojaczyk; +Cc: Jens Freimann, Yuanhan Liu, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From ea282f659e2d16c16e47bd033640a96535fce6d8 Mon Sep 17 00:00:00 2001
From: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Date: Fri, 26 May 2017 13:59:13 +0200
Subject: [PATCH] vhost: fix malloc size too small
[ upstream commit d1b2842a9dcf1e7957a185be126f4af9885f9cf7 ]
Amount of allocated memory was too small, causing buffer overflow.
Fixes: eb32247457fe ("vhost: export guest memory regions")
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Jens Freimann <jfreiman@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
lib/librte_vhost/vhost.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_vhost/vhost.c b/lib/librte_vhost/vhost.c
index 0b19d2e..1f565fb 100644
--- a/lib/librte_vhost/vhost.c
+++ b/lib/librte_vhost/vhost.c
@@ -369,7 +369,7 @@ rte_vhost_get_mem_table(int vid, struct rte_vhost_memory **mem)
return -1;
size = dev->mem->nregions * sizeof(struct rte_vhost_mem_region);
- m = malloc(size);
+ m = malloc(sizeof(struct rte_vhost_memory) + size);
if (!m)
return -1;
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'vhost: fix guest pages memory leak' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (32 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'vhost: fix malloc size too small' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'vhost: fix crash on NUMA' " Yuanhan Liu
` (2 subsequent siblings)
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Dariusz Stojaczyk; +Cc: Jens Freimann, Yuanhan Liu, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 217aa8e324d0ef96a8ed785cddb03b3fbc93aad0 Mon Sep 17 00:00:00 2001
From: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Date: Fri, 26 May 2017 13:59:14 +0200
Subject: [PATCH] vhost: fix guest pages memory leak
[ upstream commit 29c7c2fdaa4e88eebee6e3abaa15858d9616b1aa ]
This patch fixes a memory leak.
virtio_net::guest_pages is allocated in vhost_setup_mem_table(),
reallocated in add_one_guest_page(), but never freed.
Fixes: e246896178e6 ("vhost: get guest/host physical address mappings")
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Jens Freimann <jfreiman@redhat.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
lib/librte_vhost/vhost_user.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index 5c8058b..2cc0b66 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -114,6 +114,10 @@ vhost_backend_cleanup(struct virtio_net *dev)
rte_free(dev->mem);
dev->mem = NULL;
}
+
+ free(dev->guest_pages);
+ dev->guest_pages = NULL;
+
if (dev->log_addr) {
munmap((void *)(uintptr_t)dev->log_addr, dev->log_size);
dev->log_addr = 0;
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'vhost: fix crash on NUMA' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (33 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'vhost: fix guest pages memory leak' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'net/virtio: zero the whole memory zone' " Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'lpm: fix index of tbl8' " Yuanhan Liu
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Yuanhan Liu; +Cc: Ciara Loftus, Jens Freimann, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 47d21fc57a6b52afbfc161001ea429125edbeb7b Mon Sep 17 00:00:00 2001
From: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Date: Fri, 2 Jun 2017 08:14:46 +0800
Subject: [PATCH] vhost: fix crash on NUMA
[ upstream commit ebd792b386097d40164c81e055a18f1adfa95d8d ]
The queue allocation was changed, from allocating one queue-pair at a
time to one queue at a time. Most of the changes have been done, but
just with one being missed: the size of copying the old queue is still
based on queue-pair at numa_realloc(), which leads to overwritten issue.
As a result, crash may happen.
Fix it by specifying the right copy size. Also, the net queue macros
are not used any more. Remove them.
Fixes: ab4d7b9f1afc ("vhost: turn queue pair to vring")
Reported-by: Ciara Loftus <ciara.loftus@intel.com>
Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Reviewed-by: Jens Freimann <jfreiman@redhat.com>
Tested-by: Ciara Loftus <ciara.loftus@intel.com>
---
lib/librte_vhost/vhost_user.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
index 2cc0b66..2880881 100644
--- a/lib/librte_vhost/vhost_user.c
+++ b/lib/librte_vhost/vhost_user.c
@@ -242,8 +242,6 @@ numa_realloc(struct virtio_net *dev, int index)
struct vhost_virtqueue *old_vq, *vq;
int ret;
- enum {VIRTIO_RXQ, VIRTIO_TXQ, VIRTIO_QNUM};
-
old_dev = dev;
vq = old_vq = dev->virtqueue[index];
@@ -265,7 +263,7 @@ numa_realloc(struct virtio_net *dev, int index)
if (!vq)
return dev;
- memcpy(vq, old_vq, sizeof(*vq) * VIRTIO_QNUM);
+ memcpy(vq, old_vq, sizeof(*vq));
rte_free(old_vq);
}
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'net/virtio: zero the whole memory zone' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (34 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'vhost: fix crash on NUMA' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
2017-06-20 11:35 ` [dpdk-stable] patch 'lpm: fix index of tbl8' " Yuanhan Liu
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Tiwei Bie; +Cc: Yuanhan Liu, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From b9c1c218c13c6d6fccc960bdc8bcd5b35fb9d061 Mon Sep 17 00:00:00 2001
From: Tiwei Bie <tiwei.bie@intel.com>
Date: Mon, 12 Jun 2017 12:34:30 +0800
Subject: [PATCH] net/virtio: zero the whole memory zone
[ upstream commit 5bdd24e451c711129218c88292cae8e891e7506a ]
Zero the whole memory zone instead of the first few bytes.
Fixes: c1f86306a026 ("virtio: add new driver")
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
---
drivers/net/virtio/virtio_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 45f9bca..88118f1 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -424,7 +424,7 @@ virtio_init_queue(struct rte_eth_dev *dev, uint16_t vtpci_queue_idx)
}
}
- memset(mz->addr, 0, sizeof(mz->len));
+ memset(mz->addr, 0, mz->len);
vq->vq_ring_mem = mz->phys_addr;
vq->vq_ring_virt_mem = mz->addr;
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread
* [dpdk-stable] patch 'lpm: fix index of tbl8' has been queued to stable release 17.05.1
2017-06-20 11:35 [dpdk-stable] patch 'examples/vhost: fix uninitialized descriptor indexes' has been queued to stable release 17.05.1 Yuanhan Liu
` (35 preceding siblings ...)
2017-06-20 11:35 ` [dpdk-stable] patch 'net/virtio: zero the whole memory zone' " Yuanhan Liu
@ 2017-06-20 11:35 ` Yuanhan Liu
36 siblings, 0 replies; 40+ messages in thread
From: Yuanhan Liu @ 2017-06-20 11:35 UTC (permalink / raw)
To: Wei Dai; +Cc: Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 17.05.1
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/22/17. So please
shout if anyone has objections.
Thanks.
--yliu
---
>From 7fa585542021f5aae1e0c069e592410e5fa5b095 Mon Sep 17 00:00:00 2001
From: Wei Dai <wei.dai@intel.com>
Date: Mon, 19 Jun 2017 12:14:38 +0800
Subject: [PATCH] lpm: fix index of tbl8
[ upstream commit 9d042b3ee0cc67e2db6cc81ef454113957793d2b ]
>From v20 to v1604, number of tbl8 can be up to 1<<24,
(uint8_t) or (uint16_t) may truncate the number of
index of tlb8 in v1604 and cause wrong number.
Fixes: dc81ebbacaeb ("lpm: extend IPv4 next hop field")
Signed-off-by: Wei Dai <wei.dai@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
lib/librte_lpm/rte_lpm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c
index 8c15c4c..978ac60 100644
--- a/lib/librte_lpm/rte_lpm.c
+++ b/lib/librte_lpm/rte_lpm.c
@@ -1034,7 +1034,7 @@ add_depth_big_v1604(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth,
*/
struct rte_lpm_tbl_entry new_tbl24_entry = {
- .group_idx = (uint8_t)tbl8_group_index,
+ .group_idx = tbl8_group_index,
.valid = VALID,
.valid_group = 1,
.depth = 0,
@@ -1080,7 +1080,7 @@ add_depth_big_v1604(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth,
*/
struct rte_lpm_tbl_entry new_tbl24_entry = {
- .group_idx = (uint8_t)tbl8_group_index,
+ .group_idx = tbl8_group_index,
.valid = VALID,
.valid_group = 1,
.depth = 0,
--
2.7.4
^ permalink raw reply [flat|nested] 40+ messages in thread