From: Yu Watanabe Date: Sat, 2 Mar 2024 04:44:20 +0000 (+0900) Subject: test-network: check enabled capabilities in LLDP neighbors X-Git-Tag: v256-rc1~668^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0f805b4661828231c69a77c1fd36a76752bc98b7;p=thirdparty%2Fsystemd.git test-network: check enabled capabilities in LLDP neighbors Addresses https://github.com/systemd/systemd/pull/31583#discussion_r1509880349. --- diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index babfc71e911..52496f8322e 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -5328,7 +5328,7 @@ class NetworkdLLDPTests(unittest.TestCase, Utilities): output = networkctl('lldp') print(output) - if re.search(r'veth99 .* veth-peer', output): + if re.search(r'veth99 .* veth-peer .* .......a...', output): break else: self.fail() @@ -5336,30 +5336,87 @@ class NetworkdLLDPTests(unittest.TestCase, Utilities): # With interface name output = networkctl('lldp', 'veth99'); print(output) - self.assertRegex(output, r'veth99 .* veth-peer') + self.assertRegex(output, r'veth99 .* veth-peer .* .......a...') # With interface name pattern output = networkctl('lldp', 've*9'); print(output) - self.assertRegex(output, r'veth99 .* veth-peer') + self.assertRegex(output, r'veth99 .* veth-peer .* .......a...') # json format output = networkctl('--json=short', 'lldp') print(output) self.assertIn('"InterfaceName":"veth99"', output) self.assertIn('"PortID":"veth-peer"', output) + self.assertIn('"EnabledCapabilities":128', output) # json format with interface name output = networkctl('--json=short', 'lldp', 'veth99') print(output) self.assertIn('"InterfaceName":"veth99"', output) self.assertIn('"PortID":"veth-peer"', output) + self.assertIn('"EnabledCapabilities":128', output) # json format with interface name pattern output = networkctl('--json=short', 'lldp', 've*9') print(output) self.assertIn('"InterfaceName":"veth99"', output) self.assertIn('"PortID":"veth-peer"', output) + self.assertIn('"EnabledCapabilities":128', output) + + # LLDP neighbors in status + output = networkctl_status('veth99') + print(output) + self.assertRegex(output, r'Connected To: .* on port veth-peer') + + # enable forwarding, to enable the Router flag + with open(os.path.join(network_unit_dir, '23-emit-lldp.network'), mode='a', encoding='utf-8') as f: + f.write('[Network]\nIPv4Forwarding=yes\n') + + networkctl_reload() + self.wait_online('veth-peer:degraded') + + for trial in range(10): + if trial > 0: + time.sleep(1) + + output = networkctl('lldp') + print(output) + if re.search(r'veth99 .* veth-peer .* ....r......', output): + break + else: + self.fail() + + # With interface name + output = networkctl('lldp', 'veth99'); + print(output) + self.assertRegex(output, r'veth99 .* veth-peer .* ....r......') + + # With interface name pattern + output = networkctl('lldp', 've*9'); + print(output) + self.assertRegex(output, r'veth99 .* veth-peer .* ....r......') + + # json format + output = networkctl('--json=short', 'lldp') + print(output) + self.assertIn('"InterfaceName":"veth99"', output) + self.assertIn('"PortID":"veth-peer"', output) + self.assertIn('"EnabledCapabilities":16', output) + + # json format with interface name + output = networkctl('--json=short', 'lldp', 'veth99') + print(output) + self.assertIn('"InterfaceName":"veth99"', output) + self.assertIn('"PortID":"veth-peer"', output) + self.assertIn('"EnabledCapabilities":16', output) + + # json format with interface name pattern + output = networkctl('--json=short', 'lldp', 've*9') + print(output) + self.assertIn('"InterfaceName":"veth99"', output) + self.assertIn('"PortID":"veth-peer"', output) + self.assertIn('"EnabledCapabilities":16', output) # LLDP neighbors in status output = networkctl_status('veth99')