Bug 52 - Bonding PMD may fail to accept new slaves in certain conditions
Summary: Bonding PMD may fail to accept new slaves in certain conditions
Status: RESOLVED FIXED
Alias: None
Product: DPDK
Classification: Unclassified
Component: ethdev (show other bugs)
Version: 18.05
Hardware: All All
: Normal minor
Target Milestone: ---
Assignee: Ferruh YIGIT
URL:
Depends on:
Blocks:
 
Reported: 2018-05-28 15:38 CEST by Radu Nicolau
Modified: 2019-06-26 10:21 CEST (History)
1 user (show)



Attachments

Description Radu Nicolau 2018-05-28 15:38:12 CEST
When using testpmd to test bonding, the following sequence of commands will fail as described:

testpmd> port stop all
testpmd> create bonded device 4 0
testpmd> add bonding slave 0 2
testpmd> add bonding slave 1 2

__eth_bond_slave_add_lock_free(352) - Invalid link properties for slave 1 in bonding mode 4
Failed to add slave 1 to master port = 2


Root cause is a mismatch in port link status caused by testpmd implementation that does not re-check all ports, but stops at the first port that shows link down.

To work around the issue insert "show port info all" command after "port stop all" if using testpmd, or make sure that the application either calls rte_eth_link_get on all ports that will be bound, or on none of them.

Patch addressing the issue: https://dpdk.org/dev/patchwork/patch/39567/
Comment 1 Ajit Khaparde 2018-08-02 21:00:46 CEST
A V5 is available for review with an ACK by Declan.

https://patches.dpdk.org/patch/43187/

We can close this once Ferruh applies it.
Next AI is on Ferruh.
Comment 2 Ferruh YIGIT 2019-06-26 10:21:25 CEST
The patch is merged.

Note You need to log in before you can comment on or make changes to this bug.