From b1bed07d84d76f3ab2f11a42fefce2685dbbe685 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 27 May 2025 23:31:48 +0900 Subject: [PATCH] test-network: add test case for issue #37629 --- test/test-network/systemd-networkd-tests.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index 894d43c0c18..541280a3d7a 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -5775,6 +5775,21 @@ class NetworkdBondTests(unittest.TestCase, Utilities): print(output) self.assertRegex(output, 'master bond199') + # Test case for #37629 + for _ in range(3): + # When a slave leaved from its master bonding interface, the kernel brings down the slave. + check_output('ip link set dummy98 nomaster') + self.wait_online('dummy98:off') + + # Bring up the interface to check if networkd recognizes the interface has no master now. + check_output('ip link set dummy98 up') + self.wait_online('dummy98:carrier') + + # We need to first bring down the interface to make it join a bonding interface. + check_output('ip link set dummy98 down') + check_output('ip link set dummy98 master bond199') + self.wait_online('dummy98:enslaved') + def test_bond_active_slave(self): copy_network_unit('23-active-slave.network', '23-bond199.network', '25-bond-active-backup-slave.netdev', '12-dummy.netdev') start_networkd() -- 2.47.3