Message ID | 20230821101008.797482-1-liuhangbin@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 691b2bf1494620ff8c292626e4967c57e5705a8b |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] bonding: update port speed when getting bond speed | expand |
Hangbin Liu <liuhangbin@gmail.com> wrote: >Andrew reported a bonding issue that if we put an active-back bond on top >of a 802.3ad bond interface. When the 802.3ad bond's speed/duplex changed >dynamically. The upper bonding interface's speed/duplex can't be changed at >the same time, which will show incorrect speed. > >Fix it by updating the port speed when calling ethtool. > >Reported-by: Andrew Schorr <ajschorr@alumni.princeton.edu> >Closes: https://lore.kernel.org/netdev/ZEt3hvyREPVdbesO@Laptop-X1/ >Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> Acked-by: Jay Vosburgh <jay.vosburgh@canonical.com> >--- > drivers/net/bonding/bond_main.c | 1 + > 1 file changed, 1 insertion(+) > >diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c >index 447b06ea4fc9..07c2e46d27a8 100644 >--- a/drivers/net/bonding/bond_main.c >+++ b/drivers/net/bonding/bond_main.c >@@ -5706,6 +5706,7 @@ static int bond_ethtool_get_link_ksettings(struct net_device *bond_dev, > */ > bond_for_each_slave(bond, slave, iter) { > if (bond_slave_can_tx(slave)) { >+ bond_update_speed_duplex(slave); > if (slave->speed != SPEED_UNKNOWN) { > if (BOND_MODE(bond) == BOND_MODE_BROADCAST) > speed = bond_mode_bcast_speed(slave, >-- >2.41.0 > >
Hello: This patch was applied to netdev/net-next.git (main) by Paolo Abeni <pabeni@redhat.com>: On Mon, 21 Aug 2023 18:10:08 +0800 you wrote: > Andrew reported a bonding issue that if we put an active-back bond on top > of a 802.3ad bond interface. When the 802.3ad bond's speed/duplex changed > dynamically. The upper bonding interface's speed/duplex can't be changed at > the same time, which will show incorrect speed. > > Fix it by updating the port speed when calling ethtool. > > [...] Here is the summary with links: - [net-next] bonding: update port speed when getting bond speed https://git.kernel.org/netdev/net-next/c/691b2bf14946 You are awesome, thank you!
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 447b06ea4fc9..07c2e46d27a8 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -5706,6 +5706,7 @@ static int bond_ethtool_get_link_ksettings(struct net_device *bond_dev, */ bond_for_each_slave(bond, slave, iter) { if (bond_slave_can_tx(slave)) { + bond_update_speed_duplex(slave); if (slave->speed != SPEED_UNKNOWN) { if (BOND_MODE(bond) == BOND_MODE_BROADCAST) speed = bond_mode_bcast_speed(slave,
Andrew reported a bonding issue that if we put an active-back bond on top of a 802.3ad bond interface. When the 802.3ad bond's speed/duplex changed dynamically. The upper bonding interface's speed/duplex can't be changed at the same time, which will show incorrect speed. Fix it by updating the port speed when calling ethtool. Reported-by: Andrew Schorr <ajschorr@alumni.princeton.edu> Closes: https://lore.kernel.org/netdev/ZEt3hvyREPVdbesO@Laptop-X1/ Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> --- drivers/net/bonding/bond_main.c | 1 + 1 file changed, 1 insertion(+)