summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2019-02-27 19:10:47 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2019-02-28 10:34:27 +0900
commitaf3b1498c6e9e9d9a17d07e92457ac535b1febcc (patch)
tree0937e73dfcefed7b705c8c76edce94a24f0d0b86
parent4912ab7774ccc1eed07bfbbc6b87e8a23b1f5495 (diff)
downloadsystemd-af3b1498c6e9e9d9a17d07e92457ac535b1febcc.tar.gz
systemd-af3b1498c6e9e9d9a17d07e92457ac535b1febcc.tar.bz2
systemd-af3b1498c6e9e9d9a17d07e92457ac535b1febcc.zip
test-network: add testcase for #1850
-rw-r--r--test/test-network/conf/dhcp-client-gateway-onlink-implicit.network13
-rwxr-xr-xtest/test-network/systemd-networkd-tests.py21
2 files changed, 34 insertions, 0 deletions
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 0000000000..35aa8e7f50
--- /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 b9a61a92fe..ced5e048f9 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))