The current_primary_port is initialised to an invalid value
during bonded device creation.
It should be set to a valid value later.
This fix sets it to a valid value when the first slave port
is added to the bonding device.

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

Signed-off-by: Bernard Iremonger <bernard.iremonger at intel.com>
---
 drivers/net/bonding/rte_eth_bond_api.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/bonding/rte_eth_bond_api.c 
b/drivers/net/bonding/rte_eth_bond_api.c
index 3fca764..d473ac2 100644
--- a/drivers/net/bonding/rte_eth_bond_api.c
+++ b/drivers/net/bonding/rte_eth_bond_api.c
@@ -352,6 +352,7 @@ __eth_bond_slave_add_lock_free(uint8_t bonded_port_id, 
uint8_t slave_port_id)

                /* Make primary slave */
                internals->primary_port = slave_port_id;
+               internals->current_primary_port = slave_port_id;

                /* Inherit queues settings from first slave */
                internals->nb_rx_queues = slave_eth_dev->data->nb_rx_queues;
-- 
2.6.3

Reply via email to