Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

bonding: update port speed when getting bond speed

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>
Link: https://lore.kernel.org/r/20230821101008.797482-1-liuhangbin@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>

authored by

Hangbin Liu and committed by
Paolo Abeni
691b2bf1 43c28172

+1
+1
drivers/net/bonding/bond_main.c
··· 5718 5718 */ 5719 5719 bond_for_each_slave(bond, slave, iter) { 5720 5720 if (bond_slave_can_tx(slave)) { 5721 + bond_update_speed_duplex(slave); 5721 5722 if (slave->speed != SPEED_UNKNOWN) { 5722 5723 if (BOND_MODE(bond) == BOND_MODE_BROADCAST) 5723 5724 speed = bond_mode_bcast_speed(slave,