diff options
author | Lucas Christian <lucas@lucasec.com> | 2020-10-04 17:50:53 -0500 |
---|---|---|
committer | Lucas Christian <lucas@lucasec.com> | 2020-10-04 17:50:53 -0500 |
commit | 51a6eaa324775049ee666503ca0a63571750ac25 (patch) | |
tree | e043768206ee3d6ec8c39df8e6f3c5d5c83c986f /interface-definitions | |
parent | 41ff73882fb6dad2484d841ed59494f0c963bf5e (diff) | |
download | vyos-1x-51a6eaa324775049ee666503ca0a63571750ac25.tar.gz vyos-1x-51a6eaa324775049ee666503ca0a63571750ac25.zip |
dhcpv6: T2961: support stateless dhcpv6 clients
This commit adds support for configuring the DHCPv6 server to serve
"stateless" DHCPv6 clients (those that send an information-request
message and do not request an address).
The change introduces a `common-options` node at the
`shared-network-name` level, which allows specifying options
applicable to clients regardless of subnet assigned (or in the case of
stateless clients, when no subnet is assigned). Parameters specified
at the subnet level take precedence over those set at the
shared-network level.
Presently, only parameters that are meaningful to stateless clients
have been exposed under `common-options`, as there is no precedent of
exposing parameters at multiple levels under the current DHCPv4 or
DHCPv6 configuration syntax. If desired, additional parameters could
certainly be added with relative ease.
Diffstat (limited to 'interface-definitions')
-rw-r--r-- | interface-definitions/dhcpv6-server.xml.in | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/interface-definitions/dhcpv6-server.xml.in b/interface-definitions/dhcpv6-server.xml.in index 4073b46b2..acc33d40f 100644 --- a/interface-definitions/dhcpv6-server.xml.in +++ b/interface-definitions/dhcpv6-server.xml.in @@ -43,6 +43,48 @@ <valueless/> </properties> </leafNode> + <node name="common-options"> + <properties> + <help>Common options to distribute to all clients, including stateless clients</help> + </properties> + <children> + <leafNode name="info-refresh-time"> + <properties> + <help>Time (in seconds) that stateless clients should wait between refreshing the information they were given</help> + <valueHelp> + <format>1-4294967295</format> + <description>DHCPv6 information refresh time</description> + </valueHelp> + <constraint> + <validator name="numeric" argument="--range 1-4294967295"/> + </constraint> + </properties> + </leafNode> + <leafNode name="domain-search"> + <properties> + <help>Domain name for client to search</help> + <constraint> + <regex>[-_a-zA-Z0-9.]+</regex> + </constraint> + <constraintErrorMessage>Invalid domain name. May only contain letters, numbers and .-_</constraintErrorMessage> + <multi/> + </properties> + </leafNode> + <leafNode name="name-server"> + <properties> + <help>IPv6 address of a Recursive DNS Server</help> + <valueHelp> + <format>ipv6</format> + <description>IPv6 address of DNS name server</description> + </valueHelp> + <constraint> + <validator name="ipv6-address"/> + </constraint> + <multi/> + </properties> + </leafNode> + </children> + </node> <tagNode name="subnet"> <properties> <help>IPv6 DHCP subnet for this shared network [REQUIRED]</help> |