]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-network: Add test for PREF64
authorSusant Sahani <ssahani@gmail.com>
Tue, 5 Sep 2023 10:10:22 +0000 (15:40 +0530)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 6 Sep 2023 06:53:11 +0000 (15:53 +0900)
test/test-network/conf/25-ipv6ra-prefix-client.network
test/test-network/conf/25-ipv6ra-prefix.network
test/test-network/systemd-networkd-tests.py

index a98f61efc352638fc3230f43c43c4b73bba55cd0..b66be594b206faa0d2b945c85c9234b4ba7c7f0e 100644 (file)
@@ -12,3 +12,4 @@ PrefixAllowList=2001:db8:0:1:: 2001:db8:0:1:: 2001:db8:0:1::/64
 PrefixDenyList=2001:db8:0:1::/64 2001:db8:0:1:: 2001:db8:0:3::/64
 RouteDenyList=2001:db1:fff::/64 2001:db1:fff:: 2001:db2:fff::/64
 UseDomains=yes
+UsePREF64=yes
index 0afdda5a2e0bbc69e96c1e04ab3151a314eca331..bc6873298bfa17d10e7a77d48fd975edb211f9f8 100644 (file)
@@ -32,3 +32,7 @@ LifetimeSec=1000
 [IPv6RoutePrefix]
 Route=2001:db2:fff::/64
 LifetimeSec=1000
+
+[IPv6PREF64Prefix]
+Prefix=64:ff9b::/96
+LifetimeSec=30m
index c7c757a248b805e8d0dc60bdd3a31b705b657cf9..90d68b54db717ec2dc54b6814c67db5b7a3e54c6 100755 (executable)
@@ -14,6 +14,7 @@ import pathlib
 import re
 import shutil
 import signal
+import socket
 import subprocess
 import sys
 import time
@@ -6328,6 +6329,18 @@ class NetworkdIPv6PrefixTests(unittest.TestCase, Utilities):
         output = check_output(*networkctl_cmd, '--json=short', 'status', env=env)
         check_json(output)
 
+        output = check_output(*networkctl_cmd, '--json=short', 'status', 'veth-peer', env=env)
+        check_json(output)
+
+        # PREF64 or NAT64
+        pref64 = json.loads(output)['NDisc']['PREF64'][0]
+
+        prefix = socket.inet_ntop(socket.AF_INET6, bytearray(pref64['Prefix']))
+        self.assertEqual(prefix, '64:ff9b::')
+
+        prefix_length = pref64['PrefixLength']
+        self.assertEqual(prefix_length, 96)
+
     def test_ipv6_route_prefix_deny_list(self):
         copy_network_unit('25-veth.netdev', '25-ipv6ra-prefix-client-deny-list.network', '25-ipv6ra-prefix.network',
                           '12-dummy.netdev', '25-ipv6ra-uplink.network')