From: Susant Sahani Date: Tue, 5 Sep 2023 10:10:22 +0000 (+0530) Subject: test-network: Add test for PREF64 X-Git-Tag: v255-rc1~571 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=681007ac208cff3a1d2b7d359f1321eb1005b308;p=thirdparty%2Fsystemd.git test-network: Add test for PREF64 --- diff --git a/test/test-network/conf/25-ipv6ra-prefix-client.network b/test/test-network/conf/25-ipv6ra-prefix-client.network index a98f61efc35..b66be594b20 100644 --- a/test/test-network/conf/25-ipv6ra-prefix-client.network +++ b/test/test-network/conf/25-ipv6ra-prefix-client.network @@ -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 diff --git a/test/test-network/conf/25-ipv6ra-prefix.network b/test/test-network/conf/25-ipv6ra-prefix.network index 0afdda5a2e0..bc6873298bf 100644 --- a/test/test-network/conf/25-ipv6ra-prefix.network +++ b/test/test-network/conf/25-ipv6ra-prefix.network @@ -32,3 +32,7 @@ LifetimeSec=1000 [IPv6RoutePrefix] Route=2001:db2:fff::/64 LifetimeSec=1000 + +[IPv6PREF64Prefix] +Prefix=64:ff9b::/96 +LifetimeSec=30m diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index c7c757a248b..90d68b54db7 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -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')