From 427ebbb1e103ff45774bdf79bd5b1cddeff2f686 Mon Sep 17 00:00:00 2001 From: Alex Bukharov Date: Wed, 23 Apr 2025 00:40:06 +1000 Subject: T6773: RFC-2136 support for Kea DHCP4 server (#4153) --- .../include/dhcp/ddns-dns-server.xml.i | 19 +++ .../include/dhcp/ddns-settings.xml.i | 172 +++++++++++++++++++++ interface-definitions/service_dhcp-server.xml.in | 121 ++++++++++++++- 3 files changed, 309 insertions(+), 3 deletions(-) create mode 100644 interface-definitions/include/dhcp/ddns-dns-server.xml.i create mode 100644 interface-definitions/include/dhcp/ddns-settings.xml.i (limited to 'interface-definitions') diff --git a/interface-definitions/include/dhcp/ddns-dns-server.xml.i b/interface-definitions/include/dhcp/ddns-dns-server.xml.i new file mode 100644 index 000000000..ba9f186d0 --- /dev/null +++ b/interface-definitions/include/dhcp/ddns-dns-server.xml.i @@ -0,0 +1,19 @@ + + + + DNS server specification + + u32:1-999999 + Number for this DNS server + + + + + DNS server number must be between 1 and 999999 + + + #include + #include + + + diff --git a/interface-definitions/include/dhcp/ddns-settings.xml.i b/interface-definitions/include/dhcp/ddns-settings.xml.i new file mode 100644 index 000000000..3e202685e --- /dev/null +++ b/interface-definitions/include/dhcp/ddns-settings.xml.i @@ -0,0 +1,172 @@ + + + + Enable or disable updates for this scope + + enable disable + + + enable + Enable updates for this scope + + + disable + Disable updates for this scope + + + (enable|disable) + + Set it to either enable or disable + + + + + Always update both forward and reverse DNS data, regardless of the client's request + + enable disable + + + enable + Force update both forward and reverse DNS records + + + disable + Respect client request settings + + + (enable|disable) + + Set it to either enable or disable + + + + + Perform a DDNS update, even if the client instructs the server not to + + enable disable + + + enable + Force DDNS updates regardless of client request + + + disable + Respect client request settings + + + (enable|disable) + + Set it to either enable or disable + + + + + Replace client name mode + + never always when-present when-not-present + + + never + Use the name the client sent. If the client sent no name, do not generate + one + + + always + Replace the name the client sent. If the client sent no name, generate one + for the client + + + when-present + Replace the name the client sent. If the client sent no name, do not + generate one + + + when-not-present + Use the name the client sent. If the client sent no name, generate one for + the client + + + (never|always|when-present|when-not-present) + + Invalid replace client name mode + + + + + The prefix used in the generation of an FQDN + + + + Invalid generated prefix + + + + + The suffix used when generating an FQDN, or when qualifying a partial name + + + + Invalid qualifying suffix + + + + + Update DNS record on lease renew + + enable disable + + + enable + Update DNS record on lease renew + + + disable + Do not update DNS record on lease renew + + + (enable|disable) + + Set it to either enable or disable + + + + + DNS conflict resolution behavior + + enable disable + + + enable + Enable DNS conflict resolution + + + disable + Disable DNS conflict resolution + + + (enable|disable) + + Set it to either enable or disable + + + + + Calculate TTL of the DNS record as a percentage of the lease lifetime + + + + Invalid qualifying suffix + + + + + A regular expression describing the invalid character set in the host name + + + + + A string of zero or more characters with which to replace each invalid character in + the host name + + + diff --git a/interface-definitions/service_dhcp-server.xml.in b/interface-definitions/service_dhcp-server.xml.in index c0ab7c048..78f1cea4e 100644 --- a/interface-definitions/service_dhcp-server.xml.in +++ b/interface-definitions/service_dhcp-server.xml.in @@ -10,12 +10,111 @@ #include - + Dynamically update Domain Name System (RFC4702) - - + + #include + + + TSIG key definition for DNS updates + + #include + + Invalid TSIG key name. May only contain letters, numbers, hyphen and underscore + + + + + TSIG key algorithm + + md5 sha1 sha224 sha256 sha384 sha512 + + + md5 + MD5 HMAC algorithm + + + sha1 + SHA1 HMAC algorithm + + + sha224 + SHA224 HMAC algorithm + + + sha256 + SHA256 HMAC algorithm + + + sha384 + SHA384 HMAC algorithm + + + sha512 + SHA512 HMAC algorithm + + + (md5|sha1|sha224|sha256|sha384|sha512) + + Invalid TSIG key algorithm + + + + + TSIG key secret (base64-encoded) + + + + + + + + + + Forward DNS domain name + + + + Invalid forward DNS domain name + + + + + TSIG key name for forward DNS updates + + #include + + Invalid TSIG key name. May only contain letters, numbers, numbers, hyphen and underscore + + + #include + + + + + Reverse DNS domain name + + + + Invalid reverse DNS domain name + + + + + TSIG key name for reverse DNS updates + + #include + + Invalid TSIG key name. May only contain letters, numbers, numbers, hyphen and underscore + + + #include + + + + DHCP high availability configuration @@ -105,6 +204,14 @@ Invalid shared network name. May only contain letters, numbers and .-_ + + + Dynamically update Domain Name System (RFC4702) + + + #include + + Option to make DHCP server authoritative for this physical network @@ -132,6 +239,14 @@ #include #include #include + + + Dynamically update Domain Name System (RFC4702) + + + #include + + IP address to exclude from DHCP lease range -- cgit v1.2.3