[v2] bonding: change mac_addr filled position

Message ID 1552566441-14658-1-git-send-email-zhangliang@bigo.sg (mailing list archive)
State Superseded, archived
Headers
Series [v2] bonding: change mac_addr filled position |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail apply issues

Commit Message

Liang Zhang March 14, 2019, 12:27 p.m. UTC
  When mac_address update in bond_mode_8023ad_mac_address_update,
bonding port's mac_addr should update also.

Signed-off-by: Liang Zhang <zhangliang@bigo.sg>
---
 drivers/net/bonding/rte_eth_bond_8023ad.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
  

Patch

diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c
index e518956..dac23ac 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.c
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
@@ -791,8 +791,11 @@  rx_machine_update(struct bond_dev_private *internals, uint8_t slave_id,
 		RTE_ASSERT(lacp->lacpdu.subtype == SLOW_SUBTYPE_LACP);
 
 		partner = &lacp->lacpdu.partner;
-		if (is_same_ether_addr(&partner->port_params.system, &internals->mode4.mac_addr)) {
-			/* This is LACP frame to the bonding port so pass it to rx_machine */
+		if (is_same_ether_addr(&partner->port_params.system,
+			&internals->mode4.mac_addr)) {
+			/* This LACP frame is sending to the bonding port
+			 * so pass it to rx_machine.
+			 */
 			rx_machine(internals, slave_id, &lacp->lacpdu);
 		}
 		rte_pktmbuf_free(lacp_pkt);
@@ -1144,7 +1147,6 @@  bond_mode_8023ad_setup(struct rte_eth_dev *dev,
 	bond_mode_8023ad_conf_assign(mode4, conf);
 	mode4->slowrx_cb = conf->slowrx_cb;
 	mode4->agg_selection = AGG_STABLE;
-	rte_eth_macaddr_get(internals->port_id, &mode4->mac_addr);
 
 	if (dev->data->dev_started)
 		bond_mode_8023ad_start(dev);
@@ -1170,6 +1172,7 @@  bond_mode_8023ad_start(struct rte_eth_dev *bond_dev)
 	struct mode8023ad_private *mode4 = &internals->mode4;
 	static const uint64_t us = BOND_MODE_8023AX_UPDATE_TIMEOUT_MS * 1000;
 
+	rte_eth_macaddr_get(internals->port_id, &mode4->mac_addr);
 	if (mode4->slowrx_cb)
 		return rte_eal_alarm_set(us, &bond_mode_8023ad_ext_periodic_cb,
 					 bond_dev);