diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Leases4Controller.php b/src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Leases4Controller.php index 865b44a1c..f4aed0270 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Leases4Controller.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Leases4Controller.php @@ -42,6 +42,7 @@ class Leases4Controller extends ApiControllerBase $leases = json_decode($backend->configdpRun('kea list leases4'), true) ?? []; $ifconfig = json_decode($backend->configdRun('interface list ifconfig'), true); + $mac_db = json_decode($backend->configdRun('interface list macdb'), true) ?? []; $ifmap = []; foreach (Config::getInstance()->object()->interfaces->children() as $if => $if_props) { @@ -61,6 +62,8 @@ class Leases4Controller extends ApiControllerBase $record['if_name'] = $ifmap[$record['if']]['key']; $interfaces[$ifmap[$record['if']]['key']] = $ifmap[$record['if']]['descr']; } + $mac = strtoupper(substr(str_replace(':', '', $record['hwaddr']), 0, 6)); + $record['mac_info'] = isset($mac_db[$mac]) ? $mac_db[$mac] : ''; } } else { $records = []; diff --git a/src/opnsense/mvc/app/views/OPNsense/Kea/leases4.volt b/src/opnsense/mvc/app/views/OPNsense/Kea/leases4.volt index 181f65bc6..2439b59d1 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Kea/leases4.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Kea/leases4.volt @@ -63,6 +63,13 @@ "overflowformatter": function (column, row) { return '' + row[column.id] + '
' }, + "macformatter": function (column, row) { + let mac = '' + row.hwaddr + ''; + if (row.mac_info != '') { + mac = mac + '
' + '' + row.mac_info + ''; + } + return mac; + }, "timestamp": function (column, row) { return moment.unix(row[column.id]).local().format('YYYY-MM-DD HH:mm:ss'); }, @@ -91,16 +98,15 @@ - - - - - - - - - + + + + + + + +
{{ lang._('Interface') }}{{ lang._('IP Address') }}{{ lang._('MAC Address') }}{{ lang._('Lifetime') }}{{ lang._('Expire') }}{{ lang._('Hostname') }}
{{ lang._('Interface') }}{{ lang._('IP Address') }}{{ lang._('MAC Address') }}{{ lang._('Lifetime') }}{{ lang._('Expire') }}{{ lang._('Hostname') }}