patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Christian Ehrhardt <christian.ehrhardt@canonical.com>
To: Yongseok Koh <yskoh@mellanox.com>
Cc: dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'net/mlx5: preserve promiscuous flag for flow isolation mode' has been queued to stable release 18.05.1
Date: Tue, 14 Aug 2018 13:06:38 +0200	[thread overview]
Message-ID: <20180814110651.25277-35-christian.ehrhardt@canonical.com> (raw)
In-Reply-To: <20180814110651.25277-1-christian.ehrhardt@canonical.com>

Hi,

FYI, your patch has been queued to stable release 18.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 08/16/18. So please
shout if anyone has objections.

Thanks.

Christian Ehrhardt <christian.ehrhardt@canonical.com>

---
>From 38b9617cc522f4ac0192d0b2372ba280b14233fc Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Thu, 2 Aug 2018 14:06:31 -0700
Subject: [PATCH] net/mlx5: preserve promiscuous flag for flow isolation mode

[ upstream commit 24b068ad71229139f74a1c45bd45dcf9f4611f89 ]

mlx5_dev_ops_isolate doesn't have APIs for enabling/disabling promiscuous
mode as it can't be enabled in flow isolation mode. If the function
pointers are null, librte APIs such as rte_eth_promiscuous_enable/disable()
fail to set the flag (dev->data->promiscuous). The flag is used when
starting traffic by mlx5_traffic_enable(). When switching out of flow
isolation mode, promiscuous mode will not be set even though it has been
enabled.

Fixes: 0887aa7f27f3 ("net/mlx5: add new operations for isolated mode")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
---
 drivers/net/mlx5/mlx5.c        |  2 ++
 drivers/net/mlx5/mlx5_rxmode.c | 13 +++++++++++--
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index bd2a5b9c1..187a01463 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -370,6 +370,8 @@ const struct eth_dev_ops mlx5_dev_ops_isolate = {
 	.dev_set_link_down = mlx5_set_link_down,
 	.dev_set_link_up = mlx5_set_link_up,
 	.dev_close = mlx5_dev_close,
+	.promiscuous_enable = mlx5_promiscuous_enable,
+	.promiscuous_disable = mlx5_promiscuous_disable,
 	.link_update = mlx5_link_update,
 	.stats_get = mlx5_stats_get,
 	.stats_reset = mlx5_stats_reset,
diff --git a/drivers/net/mlx5/mlx5_rxmode.c b/drivers/net/mlx5/mlx5_rxmode.c
index 80824bc43..3c0373bb4 100644
--- a/drivers/net/mlx5/mlx5_rxmode.c
+++ b/drivers/net/mlx5/mlx5_rxmode.c
@@ -32,10 +32,18 @@
 void
 mlx5_promiscuous_enable(struct rte_eth_dev *dev)
 {
+	struct priv *priv = dev->data->dev_private;
 	int ret;
 
 	dev->data->promiscuous = 1;
-	if (((struct priv *)dev->data->dev_private)->config.vf)
+	if (priv->isolated) {
+		DRV_LOG(WARNING,
+			"port %u cannot enable promiscuous mode"
+			" in flow isolation mode",
+			dev->data->port_id);
+		return;
+	}
+	if (priv->config.vf)
 		mlx5_nl_promisc(dev, 1);
 	ret = mlx5_traffic_restart(dev);
 	if (ret)
@@ -52,10 +60,11 @@ mlx5_promiscuous_enable(struct rte_eth_dev *dev)
 void
 mlx5_promiscuous_disable(struct rte_eth_dev *dev)
 {
+	struct priv *priv = dev->data->dev_private;
 	int ret;
 
 	dev->data->promiscuous = 0;
-	if (((struct priv *)dev->data->dev_private)->config.vf)
+	if (priv->config.vf)
 		mlx5_nl_promisc(dev, 0);
 	ret = mlx5_traffic_restart(dev);
 	if (ret)
-- 
2.17.1

  parent reply	other threads:[~2018-08-14 11:09 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-14 11:06 [dpdk-stable] patch 'test: fix result printing' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'test: fix code on report' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'test: make autotest runner python 2/3 compliant' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'test: print autotest categories' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'test: improve filtering' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'mk: update targets for classified tests' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'mk: remove unnecessary test rules' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'test: fix uninitialized port configuration' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'app/testpmd: fix DCB config' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'latency: free up the memzone' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/octeontx: fix stop clearing Rx/Tx functions' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix filter freeing' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix memory leaks in NVM commands' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix lock release on NVM write failure' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: check access denied for HWRM commands' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnxt: fix RETA size' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede: fix interrupt handler unregister' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede/base: fix to clear HW indication' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede/base: fix GRC attention callback' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede: fix MAC address removal failure message' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnx2x: fix FW command timeout during stop' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bnx2x: fix poll link status' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/dpaa2: remove loop for unused pool entries' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx4: check RSS queues number limitation' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx4: avoid stripping the glue library' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx4: advertise Rx jumbo frame support' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: fix secondary process resource leakage' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/i40e: fix device parameter parsing' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/i40e: fix rearm check in AVX2 Rx' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/i40e: revert fix of flow director check' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/avf: fix offload capabilities' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'vhost: flush IOTLB cache on new mem table handling' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/bonding: fix race condition' " Christian Ehrhardt
2018-08-14 11:06 ` Christian Ehrhardt [this message]
2018-08-14 11:06 ` [dpdk-stable] patch 'net/mlx5: preserve allmulticast flag for flow isolation mode' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'event: fix ring init failure handling' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'app/crypto-perf: fix auth IV offset' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'eal: fix bitmap documentation' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'examples/flow_filtering: add flow director config for i40e' " Christian Ehrhardt
2018-08-14 12:08   ` Xu, Rosen
2018-08-14 11:06 ` [dpdk-stable] patch 'hash: fix doxygen of return values' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/tap: fix zeroed flow mask configurations' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'net/qede: fix ntuple filter configuration' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'kni: fix crash with null name' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'kni: fix build on RHEL 7.5' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'ethdev: fix a doxygen comment for port allocation' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'mk: fix permissions when using make install' " Christian Ehrhardt
2018-08-14 11:06 ` [dpdk-stable] patch 'maintainers: claim maintainership for ARM v7 and v8' " Christian Ehrhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180814110651.25277-35-christian.ehrhardt@canonical.com \
    --to=christian.ehrhardt@canonical.com \
    --cc=stable@dpdk.org \
    --cc=yskoh@mellanox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).