Skip to content

Commit

Permalink
test-network: add tests for #5430 and GatewayOnLink=
Browse files Browse the repository at this point in the history
  • Loading branch information
yuwata authored and poettering committed Nov 26, 2018
1 parent f5d9a12 commit f5050e4
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 0 deletions.
13 changes: 13 additions & 0 deletions test/test-network/conf/25-route-gateway-on-link.network
Original file line number Diff line number Diff line change
@@ -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
14 changes: 14 additions & 0 deletions test/test-network/conf/25-route-gateway.network
Original file line number Diff line number Diff line change
@@ -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
46 changes: 46 additions & 0 deletions test/test-network/systemd-networkd-tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -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']

Expand Down Expand Up @@ -532,6 +533,51 @@ def test_ip_route_tcp_window(self):
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()
Expand Down

0 comments on commit f5050e4

Please sign in to comment.