summaryrefslogtreecommitdiff
path: root/data/templates/dhcp-server
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:47:17 +0800
commitcca7ec3efbf66a9ca6005352133528c4286c2be9 (patch)
tree095a25eb42da50159b24eca3f916160dbb0ddf93 /data/templates/dhcp-server
parentda5bff2e835a14997d7b176670376cbd8d1221ef (diff)
downloadvyos-1x-cca7ec3efbf66a9ca6005352133528c4286c2be9.tar.gz
vyos-1x-cca7ec3efbf66a9ca6005352133528c4286c2be9.zip
T4832: dhcp: Add IPv6-only dhcp option support (RFC 8925)
Clients supporting this DHCP option (DHCP option 108, RFC 8925) will disable its IPv4 network stack for configured number of seconds and operate in IPv6-only mode. This option is known to work on iOS 15+ and macOS 12.0.1+. Example command: ```sh set service dhcp-server shared-network-name LAN6 subnet 192.168.64.0/24 ipv6-only-preferred 0 ```
Diffstat (limited to 'data/templates/dhcp-server')
-rw-r--r--data/templates/dhcp-server/dhcpd.conf.j24
1 files changed, 4 insertions, 0 deletions
diff --git a/data/templates/dhcp-server/dhcpd.conf.j2 b/data/templates/dhcp-server/dhcpd.conf.j2
index 4c2da0aa5..639526532 100644
--- a/data/templates/dhcp-server/dhcpd.conf.j2
+++ b/data/templates/dhcp-server/dhcpd.conf.j2
@@ -22,6 +22,7 @@ ddns-update-style {{ 'interim' if dynamic_dns_update is vyos_defined else 'none'
option rfc3442-static-route code 121 = array of integer 8;
option windows-static-route code 249 = array of integer 8;
option wpad-url code 252 = text;
+option rfc8925-ipv6-only-preferred code 108 = unsigned integer 32;
# Vendor specific options - Ubiquiti Networks
option space ubnt;
@@ -127,6 +128,9 @@ shared-network {{ network }} {
{% if subnet_config.wins_server is vyos_defined %}
option netbios-name-servers {{ subnet_config.wins_server | join(', ') }};
{% endif %}
+{% if subnet_config.ipv6_only_preferred is vyos_defined %}
+ option rfc8925-ipv6-only-preferred {{ subnet_config.ipv6_only_preferred }};
+{% endif %}
{% if subnet_config.static_route is vyos_defined %}
{% set static_default_route = '' %}
{% if subnet_config.default_router is vyos_defined %}