]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Add test for IPv6 Route advertisement 13559/head
authorSusant Sahani <ssahani@vmware.com>
Mon, 16 Sep 2019 14:43:34 +0000 (20:13 +0530)
committerSusant Sahani <ssahani@vmware.com>
Tue, 17 Sep 2019 10:10:19 +0000 (12:10 +0200)
test/test-network/conf/ipv6ra-prefix-client.network [new file with mode: 0644]
test/test-network/conf/ipv6ra-prefix.network [new file with mode: 0644]
test/test-network/systemd-networkd-tests.py

diff --git a/test/test-network/conf/ipv6ra-prefix-client.network b/test/test-network/conf/ipv6ra-prefix-client.network
new file mode 100644 (file)
index 0000000..bc40b12
--- /dev/null
@@ -0,0 +1,6 @@
+[Match]
+Name=veth-peer
+
+[Network]
+DHCP=no
+IPv6AcceptRA=yes
diff --git a/test/test-network/conf/ipv6ra-prefix.network b/test/test-network/conf/ipv6ra-prefix.network
new file mode 100644 (file)
index 0000000..7bb6661
--- /dev/null
@@ -0,0 +1,14 @@
+[Match]
+Name=veth99
+
+[Network]
+DHCP=no
+IPv6PrefixDelegation=yes
+Address=2001:db8:0:1::1/64
+
+[IPv6Prefix]
+Prefix=2001:db8:0:1::4/64
+
+[IPv6RoutePrefix]
+Route=2001:db0:fff::/64
+LifetimeSec=1000
index dd031de3833a7dab2e29276690a59575a2e64404..d4a1435875a61c0e990858fac23e388d855b6121 100755 (executable)
@@ -3113,6 +3113,37 @@ class NetworkdDHCPClientTests(unittest.TestCase, Utilities):
         print(output)
         self.assertRegex(output, 'example.com')
 
+class NetworkdIPv6PrefixTests(unittest.TestCase, Utilities):
+    links = ['veth99']
+
+    units = [
+        '25-veth.netdev',
+        'ipv6ra-prefix-client.network',
+        'ipv6ra-prefix.network'
+        ]
+
+    def setUp(self):
+        remove_links(self.links)
+        stop_networkd(show_logs=False)
+
+    def tearDown(self):
+        remove_log_file()
+        remove_links(self.links)
+        remove_unit_from_networkd_path(self.units)
+        stop_networkd(show_logs=True)
+
+    def test_ipv6_route_prefix(self):
+        copy_unit_to_networkd_unit_path('25-veth.netdev', 'ipv6ra-prefix-client.network', 'ipv6ra-prefix.network')
+
+        start_networkd()
+        self.wait_online(['veth-peer:carrier'])
+        start_dnsmasq()
+        self.wait_online(['veth99:routable', 'veth-peer:routable'])
+
+        output = check_output('ip', '-6', 'route', 'show', 'dev', 'veth-peer')
+        print(output)
+        self.assertRegex(output, '2001:db8:0:1::/64 proto ra')
+
 if __name__ == '__main__':
     parser = argparse.ArgumentParser()
     parser.add_argument('--build-dir', help='Path to build dir', dest='build_dir')