From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 6192656A3 for ; Thu, 31 May 2018 16:41:11 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 May 2018 07:41:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,463,1520924400"; d="scan'208";a="52306941" Received: from silpixa00383879.ir.intel.com (HELO silpixa00383879.ger.corp.intel.com) ([10.237.223.127]) by fmsmga002.fm.intel.com with ESMTP; 31 May 2018 07:41:08 -0700 From: Radu Nicolau To: dev@dpdk.org Cc: declan.doherty@intel.com, ferruh.yigit@intel.com, Radu Nicolau Date: Thu, 31 May 2018 15:34:35 +0100 Message-Id: <1527777275-9974-1-git-send-email-radu.nicolau@intel.com> X-Mailer: git-send-email 2.7.5 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v2] net/bonding: fix update link status on slave add X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2018 14:41:11 -0000 Add a call to rte_eth_link_get_nowait on every slave to update the internal link status struct. Otherwise slave add will fail for mode 4 if the ports are all stopped but only one of them checked. Fixes: b77d21cc2364 ("ethdev: add link status get/set helper functions") Bugzilla entry: https://dpdk.org/tracker/show_bug.cgi?id=52 Signed-off-by: Radu Nicolau --- v2: add fix and Bugzilla references drivers/net/bonding/rte_eth_bond_api.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c index d558df8..cad08b9 100644 --- a/drivers/net/bonding/rte_eth_bond_api.c +++ b/drivers/net/bonding/rte_eth_bond_api.c @@ -296,6 +296,8 @@ __eth_bond_slave_add_lock_free(uint16_t bonded_port_id, uint16_t slave_port_id) return -1; } + rte_eth_link_get_nowait(slave_port_id, &link_props); + slave_add(internals, slave_eth_dev); /* We need to store slaves reta_size to be able to synchronize RETA for all -- 2.7.5