From 91a7afdeae20838bebc213da02d1bf12d70a065a Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 22 Jul 2022 13:23:41 +0900 Subject: [PATCH] test-network: add tests for RapidCommit= --- test/test-network/systemd-networkd-tests.py | 38 +++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index 6a3a2c6f459..58a2f45fb2f 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -4170,6 +4170,44 @@ class NetworkdDHCPClientTests(unittest.TestCase, Utilities): print(output) self.assertRegex(output, 'token :: dev veth99') + print('## dnsmasq log') + output = read_dnsmasq_log_file() + print(output) + self.assertIn('DHCPSOLICIT(veth-peer)', output) + self.assertNotIn('DHCPADVERTISE(veth-peer)', output) + self.assertNotIn('DHCPREQUEST(veth-peer)', output) + self.assertIn('DHCPREPLY(veth-peer)', output) + self.assertIn('sent size: 0 option: 14 rapid-commit', output) + + with open(os.path.join(network_unit_dir, '25-dhcp-client-ipv6-only.network'), mode='a', encoding='utf-8') as f: + f.write('\n[DHCPv6]\nRapidCommit=no\n') + + stop_dnsmasq() + start_dnsmasq() + + networkctl_reload() + self.wait_online(['veth99:routable', 'veth-peer:routable']) + + # checking address + output = check_output('ip address show dev veth99 scope global') + print(output) + self.assertRegex(output, r'inet6 2600::[0-9a-f:]*/128 scope global dynamic noprefixroute') + self.assertNotIn('192.168.5', output) + + # checking semi-static route + output = check_output('ip -6 route list dev veth99 2001:1234:5:9fff:ff:ff:ff:ff') + print(output) + self.assertRegex(output, 'via fe80::1034:56ff:fe78:9abd') + + print('## dnsmasq log') + output = read_dnsmasq_log_file() + print(output) + self.assertIn('DHCPSOLICIT(veth-peer)', output) + self.assertIn('DHCPADVERTISE(veth-peer)', output) + self.assertIn('DHCPREQUEST(veth-peer)', output) + self.assertIn('DHCPREPLY(veth-peer)', output) + self.assertNotIn('rapid-commit', output) + def test_dhcp_client_ipv4_only(self): copy_network_unit('25-veth.netdev', '25-dhcp-server-veth-peer.network', '25-dhcp-client-ipv4-only.network') -- 2.47.3