When mac_address update in bond_mode_8023ad_mac_address_update,
bonding port's mac_addr should update also.

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

diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c 
b/drivers/net/bonding/rte_eth_bond_8023ad.c
index e518956..eefc7a2 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.c
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
@@ -791,8 +791,12 @@ 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 +1148,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 +1173,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);
-- 
2.7.4

Reply via email to