From f5050e48aee0de888cdea68580e577325ed0d1f8 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 26 Nov 2018 15:46:55 +0900 Subject: [PATCH] test-network: add tests for #5430 and GatewayOnLink= --- .../conf/25-route-gateway-on-link.network | 13 ++++++ .../conf/25-route-gateway.network | 14 ++++++ test/test-network/systemd-networkd-tests.py | 46 +++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 test/test-network/conf/25-route-gateway-on-link.network create mode 100644 test/test-network/conf/25-route-gateway.network diff --git a/test/test-network/conf/25-route-gateway-on-link.network b/test/test-network/conf/25-route-gateway-on-link.network new file mode 100644 index 00000000000..aa64c255167 --- /dev/null +++ b/test/test-network/conf/25-route-gateway-on-link.network @@ -0,0 +1,13 @@ +[Match] +Name=dummy98 + +[Address] +Address=149.10.124.58/28 + +[Route] +Destination=149.10.124.64 +Scope=link + +[Route] +Gateway=149.10.125.65 +GatewayOnlink=true diff --git a/test/test-network/conf/25-route-gateway.network b/test/test-network/conf/25-route-gateway.network new file mode 100644 index 00000000000..29d07f182a9 --- /dev/null +++ b/test/test-network/conf/25-route-gateway.network @@ -0,0 +1,14 @@ +# test for issue #5430 + +[Match] +Name=dummy98 + +[Address] +Address=149.10.124.58/28 + +[Route] +Destination=149.10.124.64 +Scope=link + +[Route] +Gateway=149.10.124.64 diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index 2525a35f761..48640068b6d 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -416,6 +416,7 @@ class NetworkdNetWorkTests(unittest.TestCase, Utilities): '25-bond-active-backup-slave.netdev', '12-dummy.netdev', '23-active-slave.network', 'routing-policy-rule.network', '25-address-section.network', '25-address-section-miscellaneous.network', '25-route-section.network', '25-route-type.network', '25-route-tcp-window-settings.network', + '25-route-gateway.network', '25-route-gateway-on-link.network', '25-address-link-section.network', '25-ipv6-address-label-section.network', '25-link-section-unmanaged.network', '25-sysctl.network'] @@ -532,6 +533,51 @@ class NetworkdNetWorkTests(unittest.TestCase, Utilities): self.assertRegex(output, 'initcwnd 20') self.assertRegex(output, 'initrwnd 30') + def test_ip_route_gateway(self): + self.copy_unit_to_networkd_unit_path('25-route-gateway.network', '12-dummy.netdev') + self.start_networkd() + + self.assertTrue(self.link_exits('dummy98')) + + output = subprocess.check_output(['ip', 'route', 'list', 'dev', 'dummy98', 'default']).rstrip().decode('utf-8') + print(output) + self.assertRegex(output, 'default') + self.assertRegex(output, 'via') + self.assertRegex(output, '149.10.124.64') + self.assertRegex(output, 'proto') + self.assertRegex(output, 'static') + + output = subprocess.check_output(['ip', 'route', 'list', 'dev', 'dummy98', 'src', '149.10.124.58']).rstrip().decode('utf-8') + print(output) + self.assertRegex(output, '149.10.124.48/28') + self.assertRegex(output, 'proto') + self.assertRegex(output, 'kernel') + self.assertRegex(output, 'scope') + self.assertRegex(output, 'link') + + def test_ip_route_gateway_on_link(self): + self.copy_unit_to_networkd_unit_path('25-route-gateway-on-link.network', '12-dummy.netdev') + self.start_networkd() + + self.assertTrue(self.link_exits('dummy98')) + + output = subprocess.check_output(['ip', 'route', 'list', 'dev', 'dummy98', 'default']).rstrip().decode('utf-8') + print(output) + self.assertRegex(output, 'default') + self.assertRegex(output, 'via') + self.assertRegex(output, '149.10.125.65') + self.assertRegex(output, 'proto') + self.assertRegex(output, 'static') + self.assertRegex(output, 'onlink') + + output = subprocess.check_output(['ip', 'route', 'list', 'dev', 'dummy98', 'src', '149.10.124.58']).rstrip().decode('utf-8') + print(output) + self.assertRegex(output, '149.10.124.48/28') + self.assertRegex(output, 'proto') + self.assertRegex(output, 'kernel') + self.assertRegex(output, 'scope') + self.assertRegex(output, 'link') + def test_ip_link_mac_address(self): self.copy_unit_to_networkd_unit_path('25-address-link-section.network', '12-dummy.netdev') self.start_networkd() -- 2.39.2