net/bonding: set slave MAC addresses correctly
Subsystems (2)
PATCH 1/1 net/bonding: set slave MAC addresses correctly
From: Chas Williams <[email protected]>
Use rte_eth_dev_default_mac_addr_set() to change a slave MAC address. mac_address_set() only updates the software copy and does nothing to update the hardware.
Signed-off-by Chas Williams <[email protected]>
--- drivers/net/bonding/rte_eth_bond_api.c | 2 +- drivers/net/bonding/rte_eth_bond_pmd.c | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-)
drivers/net/bonding/rte_eth_bond_api.c +1 -1
@@ -453,7 +453,7 @@ __eth_bond_slave_remove_lock_free(uint16_t bonded_port_id, &rte_eth_devices[bonded_port_id].data->port_id);/* Restore original MAC address of slave device */ -mac_address_set (&rte_eth_devices[slave_port_id], +rte_eth_dev_default_mac_addr_set (slave_port_id, &(internals->slaves[slave_idx].persisted_mac_addr)); slave_eth_dev = &rte_eth_devices[slave_port_id];
drivers/net/bonding/rte_eth_bond_pmd.c +6 -4
@@ -1511,7 +1511,8 @@ mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev)case BONDING_MODE_BALANCE :case BONDING_MODE_BROADCAST :for (i =0 ; i < internals->slave_count; i++) { -if (mac_address_set (&rte_eth_devices[internals->slaves[i].port_id], +if (rte_eth_dev_default_mac_addr_set ( + internals->slaves[i].port_id, bonded_eth_dev->data->mac_addrs)) {RTE_BOND_LOG (ERR ,"Failed to update port Id %d MAC address" , internals->slaves[i].port_id);
@@ -1529,15 +1530,16 @@ mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev)for (i =0 ; i < internals->slave_count; i++) {if (internals->slaves[i].port_id == internals->current_primary_port) { -if (mac_address_set (&rte_eth_devices[internals->primary_port], +if (rte_eth_dev_default_mac_addr_set ( + internals->primary_port, bonded_eth_dev->data->mac_addrs)) {RTE_BOND_LOG (ERR ,"Failed to update port Id %d MAC address" , internals->current_primary_port);return -1 ; } }else { -if (mac_address_set ( - &rte_eth_devices[internals->slaves[i].port_id], +if (rte_eth_dev_default_mac_addr_set ( + internals->slaves[i].port_id, &internals->slaves[i].persisted_mac_addr)) {RTE_BOND_LOG (ERR ,"Failed to update port Id %d MAC address" , internals->slaves[i].port_id);
Signature · 1 line
2.9.5
Quoted 8 lines · Chas Williams
From: Chas Williams <[email protected]>
Use
rte_eth_dev_default_mac_addr_set()to change a slave MAC address.mac_address_set()only updates the software copy and does nothing to update the hardware.Signed-off-by Chas Williams <[email protected]>---
...
Quoted 1 line
Acked-by Declan Doherty <[email protected]>
Ferruh Yigit
AppliedQuoted 10 lines · Declan
Quoted 7 lines · Chas Williams
From: Chas Williams <[email protected]>
Use
rte_eth_dev_default_mac_addr_set()to change a slave MAC address.mac_address_set()only updates the software copy and does nothing to update the hardware.Signed-off-by Chas Williams <[email protected]>Acked-by Declan Doherty <[email protected]>
Applied to dpdk-next-net/master, thanks.