summaryrefslogtreecommitdiff
path: root/smoketest
diff options
context:
space:
mode:
authorYuxiang Zhu <vfreex@gmail.com>2022-11-21 01:02:54 +0800
committerYuxiang Zhu <vfreex@gmail.com>2022-11-21 15:49:28 +0800
commit407d469be919f1841fb3bac49947c758c4a24b67 (patch)
tree0d91138f4e594fd45830776c2ce089c373838419 /smoketest
parent6d90375db4dd0c9beb2815e8ceae2d6214465f99 (diff)
downloadvyos-1x-407d469be919f1841fb3bac49947c758c4a24b67.tar.gz
vyos-1x-407d469be919f1841fb3bac49947c758c4a24b67.zip
T4832: dhcp: Add dhcp option to signal IPv6-only support
Clients supporting this DHCP option (DHCP option 108, per RFC 8925) will disable its IPv4 network stack for configured number of seconds and operate in IPv6-only mode. Example clients supporting this option including iOS 15+ and macOS 12.0.1+.
Diffstat (limited to 'smoketest')
-rwxr-xr-xsmoketest/scripts/cli/test_service_dhcp-server.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/smoketest/scripts/cli/test_service_dhcp-server.py b/smoketest/scripts/cli/test_service_dhcp-server.py
index 9adb9c042..8568d96eb 100755
--- a/smoketest/scripts/cli/test_service_dhcp-server.py
+++ b/smoketest/scripts/cli/test_service_dhcp-server.py
@@ -112,6 +112,7 @@ class TestServiceDHCPServer(VyOSUnitTestSHIM.TestCase):
bootfile_server = '192.0.2.1'
wpad = 'http://wpad.vyos.io/foo/bar'
server_identifier = bootfile_server
+ ipv6_only_preferred = 300
pool = base_path + ['shared-network-name', shared_net_name, 'subnet', subnet]
# we use the first subnet IP address as default gateway
@@ -132,6 +133,7 @@ class TestServiceDHCPServer(VyOSUnitTestSHIM.TestCase):
self.cli_set(pool + ['server-identifier', server_identifier])
self.cli_set(pool + ['static-route', '10.0.0.0/24', 'next-hop', '192.0.2.1'])
+ self.cli_set(pool + ['ipv6-only-preferred', ipv6_only_preferred])
# check validate() - No DHCP address range or active static-mapping set
with self.assertRaises(ConfigSessionError):
@@ -169,6 +171,7 @@ class TestServiceDHCPServer(VyOSUnitTestSHIM.TestCase):
self.assertIn(f'max-lease-time 86400;', config)
self.assertIn(f'range {range_0_start} {range_0_stop};', config)
self.assertIn(f'set shared-networkname = "{shared_net_name}";', config)
+ self.assertIn(f'option rfc8925-ipv6-only-preferred {ipv6_only_preferred};', config)
# weird syntax for those static routes
self.assertIn(f'option rfc3442-static-route 24,10,0,0,192,0,2,1, 0,192,0,2,1;', config)