]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-network: add test case for multipath routing 14194/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 28 Nov 2019 16:45:24 +0000 (01:45 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 18 Dec 2019 13:12:57 +0000 (22:12 +0900)
test/test-network/conf/25-route-static.network
test/test-network/systemd-networkd-tests.py

index 9c8269e3b883ed77a8a960cc94db2f38adbb3658..a4ba77a3e3f6bdb3eab2c58e48634674d304b8e1 100644 (file)
@@ -12,6 +12,10 @@ IPv4LLRoute=yes
 Destination=2001:1234:5:8fff:ff:ff:ff:ff/128
 Scope=link
 
+[Route]
+Destination=2001:1234:5:9fff:ff:ff:ff:ff/128
+Scope=link
+
 [Route]
 Destination=::/0
 Gateway=2001:1234:5:8fff:ff:ff:ff:ff
@@ -62,3 +66,18 @@ Destination=149.10.123.3
 [Route]
 Type=multicast
 Destination=149.10.123.4
+
+[Route]
+Destination=192.168.10.1/32
+MultiPathRoute=149.10.124.59@dummy98 10
+MultiPathRoute=149.10.124.60@dummy98 5
+
+[Route]
+Destination=2001:1234:5:7fff:ff:ff:ff:ff/128
+MultiPathRoute=2001:1234:5:8fff:ff:ff:ff:ff@dummy98 10
+MultiPathRoute=2001:1234:5:9fff:ff:ff:ff:ff@dummy98 5
+
+[Route]
+Destination=192.168.10.2/32
+MultiPathRoute=2001:1234:5:8fff:ff:ff:ff:ff@dummy98 10
+MultiPathRoute=2001:1234:5:9fff:ff:ff:ff:ff@dummy98 5
index e1055fcf795da0f62face1e109b0b091ad8287ff..befe78fc0c728694a086c62c537bc3df30e6c5ad 100755 (executable)
@@ -1812,6 +1812,30 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
         print(output)
         self.assertRegex(output, 'prohibit 202.54.1.4 proto static')
 
+        print('### ip route show 192.168.10.1')
+        output = check_output('ip route show 192.168.10.1')
+        print(output)
+        self.assertRegex(output, '192.168.10.1 proto static')
+        self.assertRegex(output, 'nexthop via 149.10.124.59 dev dummy98 weight 10')
+        self.assertRegex(output, 'nexthop via 149.10.124.60 dev dummy98 weight 5')
+
+        print('### ip route show 192.168.10.2')
+        output = check_output('ip route show 192.168.10.2')
+        print(output)
+        # old ip command does not show IPv6 gateways...
+        self.assertRegex(output, '192.168.10.2 proto static')
+        self.assertRegex(output, 'nexthop')
+        self.assertRegex(output, 'dev dummy98 weight 10')
+        self.assertRegex(output, 'dev dummy98 weight 5')
+
+        print('### ip -6 route show 2001:1234:5:7fff:ff:ff:ff:ff')
+        output = check_output('ip -6 route show 2001:1234:5:7fff:ff:ff:ff:ff')
+        print(output)
+        # old ip command does not show 'nexthop' keyword and weight...
+        self.assertRegex(output, '2001:1234:5:7fff:ff:ff:ff:ff')
+        self.assertRegex(output, 'via 2001:1234:5:8fff:ff:ff:ff:ff dev dummy98')
+        self.assertRegex(output, 'via 2001:1234:5:9fff:ff:ff:ff:ff dev dummy98')
+
     def test_gateway_reconfigure(self):
         copy_unit_to_networkd_unit_path('25-gateway-static.network', '12-dummy.netdev')
         start_networkd()