From: Yu Watanabe Date: Tue, 16 Aug 2022 16:59:56 +0000 (+0900) Subject: test-network: add tests for MTUBytes= for bridge master and ports X-Git-Tag: v252-rc1~433 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=21d0ed68eedc47f064a4417126fbd1a38394a843;p=thirdparty%2Fsystemd.git test-network: add tests for MTUBytes= for bridge master and ports Prompted by #24311. --- diff --git a/test/test-network/conf/25-bridge99.network b/test/test-network/conf/25-bridge99.network index 07ef254ddab..dbeb04ea045 100644 --- a/test/test-network/conf/25-bridge99.network +++ b/test/test-network/conf/25-bridge99.network @@ -2,6 +2,9 @@ [Match] Name=bridge99 +[Link] +MTUBytes=9000 + [Network] Address=192.168.0.15/24 Gateway=192.168.0.1 diff --git a/test/test-network/conf/26-bridge-slave-interface-1.network b/test/test-network/conf/26-bridge-slave-interface-1.network index 8858cbf0008..cdb3daa2b1b 100644 --- a/test/test-network/conf/26-bridge-slave-interface-1.network +++ b/test/test-network/conf/26-bridge-slave-interface-1.network @@ -2,6 +2,9 @@ [Match] Name=dummy98 +[Link] +MTUBytes=9000 + [Network] Bridge=bridge99 diff --git a/test/test-network/conf/26-bridge-slave-interface-2.network b/test/test-network/conf/26-bridge-slave-interface-2.network index 26ab7d8af6a..42b197eeef1 100644 --- a/test/test-network/conf/26-bridge-slave-interface-2.network +++ b/test/test-network/conf/26-bridge-slave-interface-2.network @@ -2,6 +2,9 @@ [Match] Name=test1 +[Link] +MTUBytes=9000 + [Network] Bridge=bridge99 diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index f3ec22aeee4..3ee734eaf0e 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -3796,19 +3796,25 @@ class NetworkdBridgeTests(unittest.TestCase, Utilities): start_networkd() self.wait_online(['dummy98:enslaved', 'test1:enslaved', 'bridge99:routable']) + output = check_output('ip -d link show bridge99') + print(output) + self.assertIn('mtu 9000 ', output) + output = check_output('ip -d link show test1') print(output) - self.assertRegex(output, 'master') - self.assertRegex(output, 'bridge') + self.assertIn('master bridge99 ', output) + self.assertIn('bridge_slave', output) + self.assertIn('mtu 9000 ', output) output = check_output('ip -d link show dummy98') print(output) - self.assertRegex(output, 'master') - self.assertRegex(output, 'bridge') + self.assertIn('master bridge99 ', output) + self.assertIn('bridge_slave', output) + self.assertIn('mtu 9000 ', output) output = check_output('ip addr show bridge99') print(output) - self.assertRegex(output, '192.168.0.15/24') + self.assertIn('192.168.0.15/24', output) output = check_output('bridge -d link show dummy98') print(output) @@ -3833,7 +3839,7 @@ class NetworkdBridgeTests(unittest.TestCase, Utilities): check_output('ip address add 192.168.0.16/24 dev bridge99') output = check_output('ip addr show bridge99') print(output) - self.assertRegex(output, '192.168.0.16/24') + self.assertIn('192.168.0.16/24', output) # for issue #6088 print('### ip -6 route list table all dev bridge99') @@ -3842,24 +3848,49 @@ class NetworkdBridgeTests(unittest.TestCase, Utilities): self.assertRegex(output, 'ff00::/8 table local (proto kernel )?metric 256 (linkdown )?pref medium') remove_link('test1') - self.wait_operstate('bridge99', 'degraded-carrier') - remove_link('dummy98') + output = check_output('ip -d link show bridge99') + print(output) + self.assertIn('mtu 9000 ', output) + + output = check_output('ip -d link show dummy98') + print(output) + self.assertIn('master bridge99 ', output) + self.assertIn('bridge_slave', output) + self.assertIn('mtu 9000 ', output) + remove_link('dummy98') self.wait_operstate('bridge99', 'no-carrier') + output = check_output('ip -d link show bridge99') + print(output) + # When no carrier, the kernel may reset the MTU + self.assertIn('NO-CARRIER', output) + output = check_output('ip address show bridge99') print(output) - self.assertRegex(output, 'NO-CARRIER') - self.assertNotRegex(output, '192.168.0.15/24') - self.assertRegex(output, '192.168.0.16/24') # foreign address is kept + self.assertNotIn('192.168.0.15/24', output) + self.assertIn('192.168.0.16/24', output) # foreign address is kept print('### ip -6 route list table all dev bridge99') output = check_output('ip -6 route list table all dev bridge99') print(output) self.assertRegex(output, 'ff00::/8 table local (proto kernel )?metric 256 (linkdown )?pref medium') + check_output('ip link add dummy98 type dummy') + self.wait_online(['dummy98:enslaved', 'bridge99:routable']) + + output = check_output('ip -d link show bridge99') + print(output) + self.assertIn('mtu 9000 ', output) + + output = check_output('ip -d link show dummy98') + print(output) + self.assertIn('master bridge99 ', output) + self.assertIn('bridge_slave', output) + self.assertIn('mtu 9000 ', output) + def test_bridge_configure_without_carrier(self): copy_network_unit('26-bridge.netdev', '26-bridge-configure-without-carrier.network', '11-dummy.netdev')