case 'object':
$ret[$entity_id]['dname'] = displayedName ($ret[$entity_id]);
break;
+ case 'ipv4net':
+ $ret[$entity_id]['ip_bin'] = ip2long ($ret[$entity_id]['ip']);
+ $ret[$entity_id]['mask_bin'] = binMaskFromDec ($ret[$entity_id]['mask']);
+ $ret[$entity_id]['mask_bin_inv'] = binInvMaskFromDec ($ret[$entity_id]['mask']);
+ $ret[$entity_id]['db_first'] = sprintf ('%u', 0x00000000 + $ret[$entity_id]['ip_bin'] & $ret[$entity_id]['mask_bin']);
+ $ret[$entity_id]['db_last'] = sprintf ('%u', 0x00000000 + $ret[$entity_id]['ip_bin'] | ($ret[$entity_id]['mask_bin_inv']));
+ break;
default:
break;
}
case 'object':
$ret['dname'] = displayedName ($ret);
break;
+ case 'ipv4net':
+ $ret['ip_bin'] = ip2long ($ret['ip']);
+ $ret['mask_bin'] = binMaskFromDec ($ret['mask']);
+ $ret['mask_bin_inv'] = binInvMaskFromDec ($ret['mask']);
+ $ret['db_first'] = sprintf ('%u', 0x00000000 + $ret['ip_bin'] & $ret['mask_bin']);
+ $ret['db_last'] = sprintf ('%u', 0x00000000 + $ret['ip_bin'] | ($ret['mask_bin_inv']));
+ break;
default:
break;
}
case 'ipv4net':
$page = 'ipv4net';
$id_name = 'id';
- $parent = getIPv4NetworkInfo($row['entity_id']);
+ $parent = spotEntity ($row['entity_type'], $row['entity_id']);
$name = sprintf("%s (%s/%s)", $parent['name'], $parent['ip'], $parent['mask']);
break;
case 'ipv4rspool':
$netid = getIPv4AddressNetworkId ($dottedquad);
if (NULL !== $netid)
{
- $netinfo = getIPv4NetworkInfo ($netid);
+ $netinfo = spotEntity ('ipv4net', $netid);
loadIPv4AddrList ($netinfo);
}
echo "<tr class='${class}' valign=top><td class=tdleft>${alloc['osif']}</td><td class='${secondclass}'>";
$netid = getIPv4AddressNetworkId ($dottedquad);
if (NULL !== $netid)
{
- $netinfo = getIPv4NetworkInfo ($netid);
+ $netinfo = spotEntity ('ipv4net', $netid);
loadIPv4AddrList ($netinfo);
}
printOpFormIntro ('updIPv4Allocation', array ('ip' => $dottedquad));
$cellfilter['urlextra'] . "'>auto-collapse</a>)";
else
{
- $netinfo = getIPv4NetworkInfo ($eid);
+ $netinfo = spotEntity ('ipv4net', $eid);
echo "expanding ${netinfo['ip']}/${netinfo['mask']} (<a href='".makeHref(array('page'=>$pageno, 'tab'=>$tabno))."'>auto-collapse</a> / <a href='".makeHref(array('page'=>$pageno, 'tab'=>$tabno, 'eid'=>'ALL'))."'>expand all</a>)";
}
echo "</h4><table class='widetable' border=0 cellpadding=5 cellspacing=0 align='center'>\n";
}
else // only render clickable image for empty networks
{
- $netdata = getIPv4NetworkInfo ($netinfo['id']);
+ $netdata = spotEntity ('ipv4net', $netinfo['id']);
loadIPv4AddrList ($netdata);
if (count ($netdata['addrlist']))
printImageHREF ('nodestroy', 'There are ' . count ($netdata['addrlist']) . ' allocations inside');
else
$page=0;
- $range = getIPv4NetworkInfo ($id);
+ $range = spotEntity ('ipv4net', $id);
loadIPv4AddrList ($range);
echo "<table border=0 class=objectview cellspacing=0 cellpadding=0>";
echo "<tr><td colspan=2 align=center><h1>${range['ip']}/${range['mask']}</h1><h2>${range['name']}</h2></td></tr>\n";
$backtrace = array();
while (NULL !== ($upperid = getIPv4AddressNetworkId ($range['ip'], $clen)))
{
- $upperinfo = getIPv4NetworkInfo ($upperid);
+ $upperinfo = spotEntity ('ipv4net', $upperid);
$clen = $upperinfo['mask'];
- $backtrace[] = $upperid;
+ $backtrace[] = $upperinfo;
}
$arrows = count ($backtrace);
- foreach (array_reverse ($backtrace) as $ancestorid)
+ foreach (array_reverse ($backtrace) as $ainfo)
{
- $ainfo = getIPv4NetworkInfo ($ancestorid);
echo "<tr><th width='50%' class=tdright>";
for ($i = 0; $i < $arrows; $i++)
echo '↑';
function renderIPv4NetworkProperties ($id)
{
- $netdata = getIPv4NetworkInfo ($id);
+ $netdata = spotEntity ('ipv4net', $id);
echo "<center><h1>${netdata['ip']}/${netdata['mask']}</h1></center>\n";
echo "<table border=0 cellpadding=10 cellpadding=1 align='center'>\n";
printOpFormIntro ('editRange');
{
$nhits++;
$lasthit = 'ipv4network';
- $summary['ipv4network'][] = getIPv4NetworkInfo ($tmp);
+ $summary['ipv4network'][] = spotEntity ('ipv4net', $tmp);
}
}
else
$page=0;
global $pageno, $tabno;
$maxperpage = getConfigVar ('IPV4_ADDRS_PER_PAGE');
- $range = getIPv4NetworkInfo ($id);
+ $range = spotEntity ('ipv4net', $id);
loadIPv4AddrList ($range);
echo "<center><h1>${range['ip']}/${range['mask']}</h1><h2>${range['name']}</h2></center>\n";
renderCell ($userinfo);
break;
case 'ipv4net':
- renderIPv4NetCell (getIPv4NetworkInfo ($link['entity_id']));
+ renderIPv4NetCell (spotEntity ($link['entity_type'], $link['entity_id']));
break;
default:
echo formatEntityName ($link['entity_type']) . ': ';
{
case 'ipv4net':
assertUIntArg ('id', __FUNCTION__);
- $range = getIPv4NetworkInfo ($_REQUEST['id']);
+ $range = spotEntity ('ipv4net', $_REQUEST['id']);
return array
(
'name' => $range['ip'] . '/' . $range['mask'],
);
case 'ipaddress':
assertIPv4Arg ('ip', __FUNCTION__);
- $range = getIPv4NetworkInfo (getIPv4AddressNetworkId ($_REQUEST['ip']));
+ $range = spotEntity ('ipv4net', getIPv4AddressNetworkId ($_REQUEST['ip']));
return array
(
'name' => $range['ip'] . '/' . $range['mask'],