diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv4Controller.php b/src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv4Controller.php
index ad31b1eda..8ccd208d2 100644
--- a/src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv4Controller.php
+++ b/src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv4Controller.php
@@ -75,7 +75,10 @@ class Dhcpv4Controller extends ApiMutableModelControllerBase
public function searchReservationAction()
{
- return $this->searchBase("reservations.reservation", ['subnet', 'ip_address', 'hw_address', 'description'], "hw_address");
+ return $this->searchBase("reservations.reservation",
+ ['subnet', 'ip_address', 'hw_address', 'hostname', 'description'],
+ "hw_address"
+ );
}
public function setReservationAction($uuid)
diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogReservation.xml b/src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogReservation.xml
index 92dae9659..e6840abf6 100644
--- a/src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogReservation.xml
+++ b/src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogReservation.xml
@@ -17,6 +17,12 @@
text
MAC/Ether address of the client in question
+
+ reservation.hostname
+
+ text
+ Offer a hostname to the client
+
reservation.description
diff --git a/src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml b/src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
index 476cf2d6e..ef8c54dbb 100644
--- a/src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+++ b/src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
@@ -77,6 +77,8 @@
Y
+
+
diff --git a/src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt b/src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt
index e0581df8a..24f35e98e 100644
--- a/src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt
+++ b/src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt
@@ -109,6 +109,7 @@
| {{ lang._('Subnet') }} |
{{ lang._('IP Address') }} |
{{ lang._('MAC') }} |
+ {{ lang._('Hostname') }} |
{{ lang._('Description') }} |
{{ lang._('Commands') }} |
diff --git a/src/opnsense/service/templates/OPNsense/Kea/kea-dhcp4.conf b/src/opnsense/service/templates/OPNsense/Kea/kea-dhcp4.conf
index c8d85ddfb..7a444b287 100644
--- a/src/opnsense/service/templates/OPNsense/Kea/kea-dhcp4.conf
+++ b/src/opnsense/service/templates/OPNsense/Kea/kea-dhcp4.conf
@@ -1,7 +1,8 @@
{%- if not helpers.empty('OPNsense.Kea.dhcp4.general.interfaces') and not helpers.empty('OPNsense.Kea.dhcp4.general.enabled') -%}
{%- set reservation_fields = ({
'hw-address': 'hw_address',
- 'ip-address': 'ip_address'
+ 'ip-address': 'ip_address',
+ 'hostname': 'hostname'
}) -%}
{%- set general = OPNsense.Kea.dhcp4.general -%}
{