From: Yu Watanabe Date: Wed, 27 Feb 2019 10:10:47 +0000 (+0900) Subject: test-network: add testcase for #1850 X-Git-Tag: v242-rc1~229^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=af3b1498c6e9e9d9a17d07e92457ac535b1febcc;p=thirdparty%2Fsystemd.git test-network: add testcase for #1850 --- diff --git a/test/test-network/conf/dhcp-client-gateway-onlink-implicit.network b/test/test-network/conf/dhcp-client-gateway-onlink-implicit.network new file mode 100644 index 00000000000..35aa8e7f50a --- /dev/null +++ b/test/test-network/conf/dhcp-client-gateway-onlink-implicit.network @@ -0,0 +1,13 @@ +[Match] +Name=veth99 + +[Network] +DHCP=ipv4 + +[Route] +Gateway=192.168.0.1 +Destination=10.0.0.0/8 + +[Route] +Gateway=192.168.0.1 +Destination=192.168.100.0/24 diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index b9a61a92feb..ced5e048f9a 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -1491,6 +1491,7 @@ class NetworkdNetworkDHCPClientTests(unittest.TestCase, Utilities): '25-vrf.network', 'dhcp-client-anonymize.network', 'dhcp-client-critical-connection.network', + 'dhcp-client-gateway-onlink-implicit.network', 'dhcp-client-ipv4-dhcp-settings.network', 'dhcp-client-ipv4-only-ipv6-disabled.network', 'dhcp-client-ipv4-only.network', @@ -1776,6 +1777,26 @@ class NetworkdNetworkDHCPClientTests(unittest.TestCase, Utilities): print(output) self.assertRegex(output, 'State: routable \(configured\)') + def test_dhcp_client_gateway_onlink_implicit(self): + self.copy_unit_to_networkd_unit_path('25-veth.netdev', 'dhcp-server-veth-peer.network', + 'dhcp-client-gateway-onlink-implicit.network') + self.start_networkd() + + self.assertTrue(self.link_exits('veth99')) + + self.start_dnsmasq() + + output = subprocess.check_output(['networkctl', 'status', 'veth99']).rstrip().decode('utf-8') + print(output) + self.assertRegex(output, '192.168.5') + + output = subprocess.check_output(['ip', 'route', 'list', 'dev', 'veth99', '10.0.0.0/8']).rstrip().decode('utf-8') + print(output) + self.assertRegex(output, 'onlink') + output = subprocess.check_output(['ip', 'route', 'list', 'dev', 'veth99', '192.168.100.0/24']).rstrip().decode('utf-8') + print(output) + self.assertRegex(output, 'onlink') + if __name__ == '__main__': unittest.main(testRunner=unittest.TextTestRunner(stream=sys.stdout, verbosity=3))