mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-13 00:07:26 +00:00
dhcpd: map interfaces to interface names, not devices
This commit is contained in:
parent
7406a5067f
commit
6b90972371
@ -43,7 +43,8 @@ class LeasesController extends ApiControllerBase
|
||||
$backend = new Backend();
|
||||
$config = Config::getInstance()->object();
|
||||
$online = [];
|
||||
$if_map = [];
|
||||
$if_devs = [];
|
||||
$if_descrs = [];
|
||||
$ip_ranges = [];
|
||||
$interfaces = [];
|
||||
|
||||
@ -60,7 +61,8 @@ class LeasesController extends ApiControllerBase
|
||||
|
||||
/* get all device names and their associated interface names */
|
||||
foreach ($config->interfaces->children() as $if => $if_props) {
|
||||
$if_map[(string)$if_props->if] = (string)$if_props->descr ?: strtoupper($if);
|
||||
$if_devs[$if] = (string)$if_props->if;
|
||||
$if_descrs[$if] = (string)$if_props->descr ?: strtoupper($if);
|
||||
}
|
||||
|
||||
/* list online IPs and MACs */
|
||||
@ -153,14 +155,14 @@ class LeasesController extends ApiControllerBase
|
||||
|
||||
if (!empty($lease['if'])) {
|
||||
/* interface already included */
|
||||
$intf = array_search(strtoupper($lease['if']), $if_map);
|
||||
$intf_descr = $if_map[$intf];
|
||||
$intf = $lease['if'];
|
||||
$intf_descr = $if_descrs[$intf];
|
||||
} else {
|
||||
/* interface not known, check range */
|
||||
foreach ($ip_ranges as $cidr => $if_dev) {
|
||||
if (!empty($lease['address']) && Util::isIPInCIDR($lease['address'], $cidr)) {
|
||||
$intf = $if_dev;
|
||||
$intf_descr = $if_map[$if_dev];
|
||||
$intf = array_search($if_dev, $if_devs);
|
||||
$intf_descr = $if_descrs[$intf];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -43,7 +43,8 @@ class LeasesController extends ApiControllerBase
|
||||
$backend = new Backend();
|
||||
$config = Config::getInstance()->object();
|
||||
$online = [];
|
||||
$if_map = [];
|
||||
$if_devs = [];
|
||||
$if_descrs = [];
|
||||
$ip_ranges = [];
|
||||
$leases = [];
|
||||
$interfaces = [];
|
||||
@ -61,7 +62,8 @@ class LeasesController extends ApiControllerBase
|
||||
|
||||
/* get all device names and their associated interface names */
|
||||
foreach ($config->interfaces->children() as $if => $if_props) {
|
||||
$if_map[(string)$if_props->if] = (string)$if_props->descr ?: strtoupper($if);
|
||||
$if_devs[$if] = (string)$if_props->if;
|
||||
$if_descrs[$if] = (string)$if_props->descr ?: strtoupper($if);
|
||||
}
|
||||
|
||||
/* list online IPs and MACs */
|
||||
@ -155,8 +157,8 @@ class LeasesController extends ApiControllerBase
|
||||
if ($ndp['ip'] == $lease['address']) {
|
||||
$leases[$idx]['mac'] = $ndp['mac'];
|
||||
$leases[$idx]['man'] = empty($ndp['manufacturer']) ? '' : $ndp['manufacturer'];
|
||||
$leases[$idx]['if'] = $ndp['intf'];
|
||||
$leases[$idx]['if_descr'] = $if_map[$ndp['intf']];
|
||||
$leases[$idx]['if'] = array_search($ndp['intf'], $if_devs);
|
||||
$leases[$idx]['if_descr'] = $if_descrs[$leases[$idx]['if']];
|
||||
if (!empty($leases[$idx]['if_descr'])) {
|
||||
$interfaces[$leases[$idx]['if']] = $leases[$idx]['if_descr'];
|
||||
}
|
||||
@ -194,13 +196,13 @@ class LeasesController extends ApiControllerBase
|
||||
$intf = '';
|
||||
$intf_descr = '';
|
||||
if (!empty($lease['if'])) {
|
||||
$intf = array_search(strtoupper($lease['if']), $if_map);
|
||||
$intf_descr = $if_map[$intf];
|
||||
$intf = $lease['if'];
|
||||
$intf_descr = $if_descrs[$intf];
|
||||
} else {
|
||||
foreach ($ip_ranges as $cidr => $if) {
|
||||
if (!empty($lease['address']) && Util::isIPInCIDR($lease['address'], $cidr)) {
|
||||
$intf = $if;
|
||||
$intf_descr = $if_map[$intf];
|
||||
$intf = array_search($if, $if_devs);
|
||||
$intf_descr = $if_descrs[$intf];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user