From: Shani Peretz <shperetz@nvidia.com>
To: <dev@dpdk.org>
Cc: Shani Peretz <shperetz@nvidia.com>, <stable@dpdk.org>,
Chas Williams <3chas3@gmail.com>,
"Min Hu (Connor)" <humin29@huawei.com>,
Pawel Wodkowski <pawelwod@gmail.com>,
Declan Doherty <declan.doherty@intel.com>
Subject: [PATCH] net/bonding: fix MAC address propagation in 802.3ad mode
Date: Wed, 5 Nov 2025 20:01:35 +0200 [thread overview]
Message-ID: <20251105180135.1181619-1-shperetz@nvidia.com> (raw)
When changing the MAC address of a bonding device in 802.3ad mode,
the new MAC was not propagated to the physical member NIC.
This caused the physical NIC to drop all data packets sent to the
new MAC address, resulting in connectivity loss.
It happens because the MAC update function only updated the
LACP layer (actor.system) but not the physical NIC hardware MAC
addresses.
This fix adds a call to rte_eth_dev_default_mac_addr_set() to update
the hardware MAC on each member port.
Bugzilla ID: 1158
Fixes: 46fb43683679 ("bond: add mode 4")
Cc: stable@dpdk.org
Signed-off-by: Shani Peretz <shperetz@nvidia.com>
---
drivers/net/bonding/rte_eth_bond_8023ad.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c
index 1677615435..a3579f7bc2 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.c
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
@@ -1186,6 +1186,15 @@ bond_mode_8023ad_mac_address_update(struct rte_eth_dev *bond_dev)
continue;
rte_ether_addr_copy(&internals->mode4.mac_addr, &member->actor.system);
+
+ /* Update physical NIC hardware MAC address to match bonding device. */
+ if (rte_eth_dev_default_mac_addr_set(member_id,
+ &internals->mode4.mac_addr) != 0) {
+ RTE_BOND_LOG(ERR,
+ "Failed to update MAC address on member port %u",
+ member_id);
+ }
+
/* Do nothing if this port is not an aggregator. In other case
* Set NTT flag on every port that use this aggregator. */
if (member->aggregator_port_id != member_id)
--
2.34.1
next reply other threads:[~2025-11-05 18:02 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-05 18:01 Shani Peretz [this message]
2025-11-05 19:03 ` Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251105180135.1181619-1-shperetz@nvidia.com \
--to=shperetz@nvidia.com \
--cc=3chas3@gmail.com \
--cc=declan.doherty@intel.com \
--cc=dev@dpdk.org \
--cc=humin29@huawei.com \
--cc=pawelwod@gmail.com \
--cc=stable@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).