summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/usr/local/www/status_dhcp_leases.php32
1 files changed, 25 insertions, 7 deletions
diff --git a/src/usr/local/www/status_dhcp_leases.php b/src/usr/local/www/status_dhcp_leases.php
index 4d0a5c0..48d7b33 100644
--- a/src/usr/local/www/status_dhcp_leases.php
+++ b/src/usr/local/www/status_dhcp_leases.php
@@ -406,21 +406,36 @@ foreach ($leases as $data):
}
if ($data['act'] != $static_string) {
- $dlsc=0;
foreach ($config['dhcpd'] as $dhcpif => $dhcpifconf) {
if (!is_array($dhcpifconf['range'])) {
continue;
}
if (is_inrange_v4($data['ip'], $dhcpifconf['range']['from'], $dhcpifconf['range']['to'])) {
$data['if'] = $dhcpif;
- $dhcp_leases_subnet_counter[$dlsc]['dhcpif'] = $dhcpif;
- $dhcp_leases_subnet_counter[$dlsc]['from'] = $dhcpifconf['range']['from'];
- $dhcp_leases_subnet_counter[$dlsc]['to'] = $dhcpifconf['range']['to'];
- $dhcp_leases_subnet_counter[$dlsc]['count'] = $dhcp_leases_subnet_counter[$dlsc]['count']+1;
+ $dlskey = $dhcpif . "-" . $dhcpifconf['range']['from'];
+ $dhcp_leases_subnet_counter[$dlskey]['dhcpif'] = $dhcpif;
+ $dhcp_leases_subnet_counter[$dlskey]['from'] = $dhcpifconf['range']['from'];
+ $dhcp_leases_subnet_counter[$dlskey]['to'] = $dhcpifconf['range']['to'];
+ $dhcp_leases_subnet_counter[$dlskey]['count'] += 1;
break;
}
- $dlsc++;
+ // Check if the IP is in the range of any DHCP pools
+ if (is_array($dhcpifconf['pool'])) {
+ foreach ($dhcpifconf['pool'] as $dhcppool) {
+ if (is_array($dhcppool['range'])) {
+ if (is_inrange_v4($data['ip'], $dhcppool['range']['from'], $dhcppool['range']['to'])) {
+ $data['if'] = $dhcpif;
+ $dlskey = $dhcpif . "-" . $dhcppool['range']['from'];
+ $dhcp_leases_subnet_counter[$dlskey]['dhcpif'] = $dhcpif;
+ $dhcp_leases_subnet_counter[$dlskey]['from'] = $dhcppool['range']['from'];
+ $dhcp_leases_subnet_counter[$dlskey]['to'] = $dhcppool['range']['to'];
+ $dhcp_leases_subnet_counter[$dlskey]['count'] += 1;
+ break 2;
+ }
+ }
+ }
+ }
}
}
@@ -483,7 +498,10 @@ foreach ($leases as $data):
</tr>
</thead>
<tbody>
-<?php foreach ($dhcp_leases_subnet_counter as $listcounters):?>
+<?php
+ ksort($dhcp_leases_subnet_counter);
+ foreach ($dhcp_leases_subnet_counter as $listcounters):
+?>
<tr>
<td><?=$iflist[$listcounters['dhcpif']]?></td>
<td><?=$listcounters['from']?></td>
OpenPOWER on IntegriCloud