patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Yuanhan Liu <yuanhan.liu@linux.intel.com>
To: Eric Kinzie <ehkinzie@gmail.com>
Cc: Bernard Iremonger <bernard.iremonger@intel.com>,
	dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'net/bonding: validate speed after link up' has been queued to stable release 16.07.2
Date: Wed,  2 Nov 2016 18:21:06 +0800	[thread overview]
Message-ID: <1478082097-16957-10-git-send-email-yuanhan.liu@linux.intel.com> (raw)
In-Reply-To: <1478082097-16957-1-git-send-email-yuanhan.liu@linux.intel.com>

Hi,

FYI, your patch has been queued to stable release 16.07.2

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

Thanks.

	--yliu

---
>From d6a7d563feb8eab31dc5404a0704a1354b9a441a Mon Sep 17 00:00:00 2001
From: Eric Kinzie <ehkinzie@gmail.com>
Date: Thu, 4 Aug 2016 11:24:42 -0700
Subject: [PATCH] net/bonding: validate speed after link up

[ upstream commit b4092cacf6bd6470c0c37937862255639293e9b0 ]

It's possible for the bonding driver to mistakenly reject an interface
based in it's, as yet, unnegotiated link speed and duplex. Always allow
the interface to be added to the bonding interface but require link
properties validation to succeed before slave is activated.

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

Signed-off-by: Eric Kinzie <ehkinzie@gmail.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 drivers/net/bonding/rte_eth_bond_api.c | 15 ---------------
 drivers/net/bonding/rte_eth_bond_pmd.c | 10 ++++++++++
 2 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c
index 203ebe9..3c16973 100644
--- a/drivers/net/bonding/rte_eth_bond_api.c
+++ b/drivers/net/bonding/rte_eth_bond_api.c
@@ -373,21 +373,6 @@ __eth_bond_slave_add_lock_free(uint8_t bonded_port_id, uint8_t slave_port_id)
 		internals->candidate_max_rx_pktlen = dev_info.max_rx_pktlen;
 
 	} else {
-		/* Check slave link properties are supported if props are set,
-		 * all slaves must be the same */
-		if (internals->link_props_set) {
-			if (link_properties_valid(&(bonded_eth_dev->data->dev_link),
-									  &(slave_eth_dev->data->dev_link))) {
-				slave_eth_dev->data->dev_flags &= (~RTE_ETH_DEV_BONDED_SLAVE);
-				RTE_BOND_LOG(ERR,
-						"Slave port %d link speed/duplex not supported",
-						slave_port_id);
-				return -1;
-			}
-		} else {
-			link_properties_set(bonded_eth_dev,
-					&(slave_eth_dev->data->dev_link));
-		}
 		internals->rx_offload_capa &= dev_info.rx_offload_capa;
 		internals->tx_offload_capa &= dev_info.tx_offload_capa;
 		internals->flow_type_rss_offloads &= dev_info.flow_type_rss_offloads;
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index b20a272..25fe00a 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -1985,6 +1985,16 @@ bond_ethdev_lsc_event_callback(uint8_t port_id, enum rte_eth_event_type type,
 			/* Inherit eth dev link properties from first active slave */
 			link_properties_set(bonded_eth_dev,
 					&(slave_eth_dev->data->dev_link));
+		} else {
+			if (link_properties_valid(
+				&bonded_eth_dev->data->dev_link, &link) != 0) {
+				slave_eth_dev->data->dev_flags &=
+					(~RTE_ETH_DEV_BONDED_SLAVE);
+				RTE_LOG(ERR, PMD,
+					"port %u invalid speed/duplex\n",
+					port_id);
+				return;
+			}
 		}
 
 		activate_slave(bonded_eth_dev, port_id);
-- 
1.9.0

  parent reply	other threads:[~2016-11-02 10:20 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' " Yuanhan Liu
2016-11-02 10:20 ` [dpdk-stable] patch 'pdump: fix created directory permissions' " Yuanhan Liu
2016-11-02 10:20 ` [dpdk-stable] patch 'app/procinfo: free xstats memory upon failure' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'examples/ip_pipeline: fix plugin loading' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'examples/qos_sched: fix dequeue from ring' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/test: fix hash multiwriter sequence' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix RSS hash key size' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix DCB configuration' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'lpm: fix freeing unused sub-table on rule delete' " Yuanhan Liu
2016-11-02 10:21 ` Yuanhan Liu [this message]
2016-11-02 10:21 ` [dpdk-stable] patch 'net/thunderx: fix Tx checksum handling' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: fix flow director' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: fix crash with removed flow director filters' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix maximum PF queues' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix socket id for slowpath memory' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/ena: improve safety of string handling' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnxt: ensure entry length is unsigned' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: do not use VSI before NULL check' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnxt: fix bit shift size' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix Rx function selection' " Yuanhan Liu
2016-11-02 12:44   ` Nélio Laranjeiro
2016-11-02 10:21 ` [dpdk-stable] patch 'net/ring: fix ring device creation via devargs' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: fix Rx checksum flags' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'examples/tep_term: fix L4 length' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'examples/tep_term: fix packet length with multi-segments' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix PF/VF check of flow director' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'mempool: fix search of maximum contiguous pages' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'ethdev: prevent duplicate event callback' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix build with icc' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix hash key size retrieval' " Yuanhan Liu
2016-11-02 12:45   ` Nélio Laranjeiro
2016-11-02 10:21 ` [dpdk-stable] patch 'net/ixgbe: fix flow director mask' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix flow director endianness' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: revert truncated packets counter fix' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/ixgbe: fix out of order Rx read' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix link status report' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: fix VF Tx queue initialization' " Yuanhan Liu
     [not found]   ` <8E8F16D832DEA44EAC8E3A3C70D1E0C737AB8DBD@CRSMSX101.amr.corp.intel.com>
2016-12-06  1:44     ` Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/qede/base: fix 32-bit build' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: fix hash filter on X722' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: fix Rx hang when disable LLDP' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'vhost: fix Windows VM hang' " Yuanhan Liu

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=1478082097-16957-10-git-send-email-yuanhan.liu@linux.intel.com \
    --to=yuanhan.liu@linux.intel.com \
    --cc=bernard.iremonger@intel.com \
    --cc=ehkinzie@gmail.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).