summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-09-21 20:01:21 +0200
committerChristian Poessinger <christian@poessinger.com>2021-09-21 22:12:49 +0200
commit10a71d6d0534810c314010adc22ae7265334647c (patch)
treed8870a3f5a053c036356b44b037322375678b384
parent6fe3f5ad74456065bb841d89aa11f126243eeaab (diff)
downloadvyos-1x-10a71d6d0534810c314010adc22ae7265334647c.tar.gz
vyos-1x-10a71d6d0534810c314010adc22ae7265334647c.zip
dhcp-server: T3839: support domain-search and ntp-server config per shared-network
(cherry picked from commit 689d1824d251ea9fbd81bf0c941dbd36e33ef420)
-rw-r--r--data/templates/dhcp-server/dhcpd.conf.tmpl12
-rw-r--r--interface-definitions/dhcp-server.xml.in21
-rw-r--r--interface-definitions/include/dhcp/ntp-server.xml.i15
3 files changed, 30 insertions, 18 deletions
diff --git a/data/templates/dhcp-server/dhcpd.conf.tmpl b/data/templates/dhcp-server/dhcpd.conf.tmpl
index d774b4827..003c585dd 100644
--- a/data/templates/dhcp-server/dhcpd.conf.tmpl
+++ b/data/templates/dhcp-server/dhcpd.conf.tmpl
@@ -72,6 +72,12 @@ shared-network {{ network | replace('_','-') }} {
{% if network_config.domain_name is defined and network_config.domain_name is not none %}
option domain-name "{{ network_config.domain_name }}";
{% endif %}
+{% if network_config.domain_search is defined and network_config.domain_search is not none %}
+ option domain-search "{{ network_config.domain_search | join('", "') }}";
+{% endif %}
+{% if network_config.ntp_server is defined and network_config.ntp_server is not none %}
+ option ntp-servers {{ network_config.ntp_server | join(', ') }};
+{% endif %}
{% if network_config.ping_check is defined %}
ping-check true;
{% endif %}
@@ -88,6 +94,9 @@ shared-network {{ network | replace('_','-') }} {
{% if subnet_config.name_server is defined and subnet_config.name_server is not none %}
option domain-name-servers {{ subnet_config.name_server | join(', ') }};
{% endif %}
+{% if subnet_config.domain_name is defined and subnet_config.domain_name is not none %}
+ option domain-name "{{ subnet_config.domain_name }}";
+{% endif %}
{% if subnet_config.domain_search is defined and subnet_config.domain_search is not none %}
option domain-search "{{ subnet_config.domain_search | join('", "') }}";
{% endif %}
@@ -129,9 +138,6 @@ shared-network {{ network | replace('_','-') }} {
{% if subnet_config.server_identifier is defined and subnet_config.server_identifier is not none %}
option dhcp-server-identifier {{ subnet_config.server_identifier }};
{% endif %}
-{% if subnet_config.domain_name is defined and subnet_config.domain_name is not none %}
- option domain-name "{{ subnet_config.domain_name }}";
-{% endif %}
{% if subnet_config.subnet_parameters is defined and subnet_config.subnet_parameters is not none %}
# The following {{ subnet_config.subnet_parameters | length }} line(s) were added as
# subnet-parameters in the CLI and have not been validated!!!
diff --git a/interface-definitions/dhcp-server.xml.in b/interface-definitions/dhcp-server.xml.in
index 2707ce96d..47bdc4db1 100644
--- a/interface-definitions/dhcp-server.xml.in
+++ b/interface-definitions/dhcp-server.xml.in
@@ -103,10 +103,12 @@
</properties>
</leafNode>
#include <include/dhcp/domain-name.xml.i>
+ #include <include/dhcp/domain-search.xml.i>
+ #include <include/dhcp/ntp-server.xml.i>
#include <include/dhcp/ping-check.xml.i>
- #include <include/name-server-ipv4.xml.i>
#include <include/generic-description.xml.i>
#include <include/generic-disable-node.xml.i>
+ #include <include/name-server-ipv4.xml.i>
<leafNode name="shared-network-parameters">
<properties>
<help>Additional shared-network parameters for DHCP server.
@@ -165,9 +167,10 @@
</constraint>
</properties>
</leafNode>
- #include <include/name-server-ipv4.xml.i>
#include <include/dhcp/domain-name.xml.i>
#include <include/dhcp/domain-search.xml.i>
+ #include <include/generic-description.xml.i>
+ #include <include/name-server-ipv4.xml.i>
<leafNode name="enable-failover">
<properties>
<help>Enable DHCP failover support for this subnet</help>
@@ -207,19 +210,7 @@
</properties>
<defaultValue>86400</defaultValue>
</leafNode>
- <leafNode name="ntp-server">
- <properties>
- <help>IP address of NTP server</help>
- <valueHelp>
- <format>ipv4</format>
- <description>NTP server IPv4 address</description>
- </valueHelp>
- <constraint>
- <validator name="ipv4-address"/>
- </constraint>
- <multi/>
- </properties>
- </leafNode>
+ #include <include/dhcp/ntp-server.xml.i>
#include <include/dhcp/ping-check.xml.i>
<leafNode name="pop-server">
<properties>
diff --git a/interface-definitions/include/dhcp/ntp-server.xml.i b/interface-definitions/include/dhcp/ntp-server.xml.i
new file mode 100644
index 000000000..32d8207e5
--- /dev/null
+++ b/interface-definitions/include/dhcp/ntp-server.xml.i
@@ -0,0 +1,15 @@
+<!-- include start from dhcp/ntp-server.xml.i -->
+ <leafNode name="ntp-server">
+ <properties>
+ <help>IP address of NTP server</help>
+ <valueHelp>
+ <format>ipv4</format>
+ <description>NTP server IPv4 address</description>
+ </valueHelp>
+ <constraint>
+ <validator name="ipv4-address"/>
+ </constraint>
+ <multi/>
+ </properties>
+ </leafNode>
+<!-- include end -->