patches for DPDK stable branches
 help / color / mirror / Atom feed
From: luca.boccassi@gmail.com
To: Radu Nicolau <radu.nicolau@intel.com>
Cc: Chas Williams <chas3@att.com>, dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'net/bonding: fix race condition' has been queued to LTS release 16.11.8
Date: Mon,  6 Aug 2018 11:56:18 +0100	[thread overview]
Message-ID: <20180806105619.24253-9-luca.boccassi@gmail.com> (raw)
In-Reply-To: <20180806105619.24253-1-luca.boccassi@gmail.com>

Hi,

FYI, your patch has been queued to LTS release 16.11.8

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/08/18. So please
shout if anyone has objections.

Thanks.

Luca Boccassi

---
>From 64463044f24ff88b30f153df2b9451698e8fafbc Mon Sep 17 00:00:00 2001
From: Radu Nicolau <radu.nicolau@intel.com>
Date: Wed, 25 Jul 2018 10:39:40 +0100
Subject: [PATCH] net/bonding: fix race condition

[ upstream commit 5922ff069fb910946f97780754ad4b66b987d5b6 ]

Race condition can appear in the bond_mode_8023ad_periodic_cb()
callback when bonding port is stopped, reconfigured and restarted.

Re-ordered calls in bond_ethdev_start() to have callback alarm set
after slave ports are reconfigured.

Fixes: 2efb58cbab6e ("bond: new link bonding library")

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Chas Williams <chas3@att.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 5905c70707..6081918e79 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -1545,10 +1545,6 @@ bond_ethdev_start(struct rte_eth_dev *eth_dev)
 		}
 	}
 
-	/* Update all slave devices MACs*/
-	if (mac_address_slaves_update(eth_dev) != 0)
-		goto out_err;
-
 	/* If bonded device is configure in promiscuous mode then re-apply config */
 	if (internals->promiscuous_en)
 		bond_ethdev_promiscuous_enable(eth_dev);
@@ -1577,6 +1573,10 @@ bond_ethdev_start(struct rte_eth_dev *eth_dev)
 			(void *)&rte_eth_devices[internals->port_id]);
 	}
 
+	/* Update all slave devices MACs*/
+	if (mac_address_slaves_update(eth_dev) != 0)
+		goto out_err;
+
 	if (internals->user_defined_primary_port)
 		bond_ethdev_primary_set(internals, internals->primary_port);
 
-- 
2.18.0

  parent reply	other threads:[~2018-08-06 10:56 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-24 16:07 [dpdk-stable] patch 'net/ena: check pointer before memset' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/ena: change memory type' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/ena: fix GENMASK_ULL macro' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/ena: set link speed as none' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/nfp: fix field initialization in Tx descriptor' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/bonding: fix MAC address reset' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'mbuf: fix typo in IPv6 macro comment' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'kni: fix build with gcc 8.1' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net: rename u16 to fix shadowed declaration' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/ixgbe: fix tunnel id format error for FDIR' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/ixgbe: fix tunnel type set " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/ixgbe: fix mask bits register " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/i40e: fix shifts of 32-bit value' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'app/testpmd: fix VLAN TCI mask set error for FDIR' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/i40e: workaround performance degradation' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/i40e: do not reset device info data' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/pcap: fix multiple queues' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/thunderx: fix build with gcc optimization on' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/ena: fix SIGFPE with 0 Rx queue' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/qede: fix default extended VLAN offload config' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/bnxt: fix HW Tx checksum offload check' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/bnxt: fix Tx with multiple mbuf' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/bnxt: fix incorrect IO address handling in Tx' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/bnxt: fix Rx ring count limitation' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'net/bonding: do not clear active slave count' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'test/crypto: fix device id when stopping port' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'maintainers: update for Mellanox PMDs' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'examples/multi_process: build l2fwd_fork app' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'hash: fix multiwriter lock memory allocation' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'hash: fix a multi-writer race condition' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'hash: fix key slot size accuracy' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'eal: fix return codes on thread naming failure' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'eal/linux: fix invalid syntax in interrupts' " luca.boccassi
2018-07-24 16:07 ` [dpdk-stable] patch 'ethdev: check queue stats mapping input arguments' " luca.boccassi
2018-07-27 10:17   ` [dpdk-stable] patch 'examples/ipsec-secgw: fix IPv4 checksum at Tx' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'examples/ipsec-secgw: fix bypass rule processing' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'net/i40e: fix link speed' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'net/i40e: fix check of flow director programming status' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'ethdev: fix queue statistics mapping documentation' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'net/thunderx: avoid sq door bell write on zero packet' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'examples/exception_path: fix out-of-bounds read' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'examples/l3fwd: remove useless include' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'test: fix EAL flags autotest on FreeBSD' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'test/hash: fix multiwriter with non consecutive cores' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'test/hash: fix potential memory leak' " luca.boccassi
2018-07-27 10:17     ` [dpdk-stable] patch 'doc: fix bonding command in testpmd' " luca.boccassi
2018-08-06 10:56     ` [dpdk-stable] patch 'test: fix uninitialized port configuration' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'app/testpmd: fix DCB config' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'net/bnxt: check access denied for HWRM commands' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'net/bnxt: fix RETA size' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'net/qede/base: fix GRC attention callback' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'net/qede: fix MAC address removal failure message' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'net/bnx2x: fix FW command timeout during stop' " luca.boccassi
2018-08-06 10:56       ` [dpdk-stable] patch 'net/i40e: revert fix of flow director check' " luca.boccassi
2018-08-06 10:56       ` luca.boccassi [this message]
2018-08-06 10:56       ` [dpdk-stable] patch 'eal: fix bitmap documentation' " luca.boccassi
2018-08-10  9:06       ` [dpdk-stable] patch 'hash: fix doxygen of return values' " luca.boccassi
2018-08-10  9:06         ` [dpdk-stable] patch 'kni: fix crash with null name' " luca.boccassi
2018-08-10  9:06         ` [dpdk-stable] patch 'kni: fix build on RHEL 7.5' " luca.boccassi
2018-08-10  9:06         ` [dpdk-stable] patch 'ethdev: fix a doxygen comment for port allocation' " luca.boccassi
2018-08-10  9:06         ` [dpdk-stable] patch 'mk: fix permissions when using make install' " luca.boccassi
2018-08-10  9:06         ` [dpdk-stable] patch 'maintainers: claim maintainership for ARM v7 and v8' " luca.boccassi
2018-08-28 10:25         ` [dpdk-stable] patch 'net/null: add MAC address setting fake operation' " Luca Boccassi
2018-08-28 10:25           ` [dpdk-stable] patch 'test/virtual_pmd: add MAC address setting fake op' " Luca Boccassi
2018-08-28 10:25           ` [dpdk-stable] patch 'test/bonding: assign non-zero MAC to null devices' " Luca Boccassi
2018-08-28 10:25           ` [dpdk-stable] patch 'Revert "net/i40e: fix packet count for PF"' " Luca Boccassi

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=20180806105619.24253-9-luca.boccassi@gmail.com \
    --to=luca.boccassi@gmail.com \
    --cc=chas3@att.com \
    --cc=radu.nicolau@intel.com \
    --cc=stable@dpdk.org \
    /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).