');
#### Loop Instances
foreach (dbFetchRows("SELECT * FROM `ospf_instances` WHERE `device_id` = ?", array($device['device_id'])) as $instance)
{
if (!is_integer($i_i/2)) { $instance_bg = $list_colour_a; } else { $instance_bg = $list_colour_b; }
$area_count = dbFetchCell("SELECT COUNT(*) FROM `ospf_areas` WHERE `device_id` = ?", array($device['device_id']));
$port_count = dbFetchCell("SELECT COUNT(*) FROM `ospf_ports` WHERE `device_id` = ?", array($device['device_id']));
$port_count_enabled = dbFetchCell("SELECT COUNT(*) FROM `ospf_ports` WHERE `ospfIfAdminStat` = 'enabled' AND `device_id` = ?", array($device['device_id']));
$nbr_count = dbFetchCell("SELECT COUNT(*) FROM `ospf_nbrs` WHERE `device_id` = ?", array($device['device_id']));
$query = "SELECT * FROM ipv4_addresses AS A, ports AS I WHERE ";
$query .= "(A.ipv4_address = ? AND I.port_id = A.port_id)";
$query .= " AND I.device_id = ?";
$ipv4_host = dbFetchRow($query, array($peer['bgpPeerIdentifier'], $device['device_id']));
if ($instance['ospfAdminStat'] == "enabled") { $enabled = 'enabled'; } else { $enabled = 'disabled'; }
if ($instance['ospfAreaBdrRtrStatus'] == "true") { $abr = 'yes'; } else { $abr = 'no'; }
if ($instance['ospfASBdrRtrStatus'] == "true") { $asbr = 'yes'; } else { $asbr = 'no'; }
echo('
Router Id | Status | ABR | ASBR | Areas | Ports | Neighbours |
');
echo('');
echo(' '.$instance['ospfRouterId'] . ' | ');
echo(' ' . $enabled . ' | ');
echo(' ' . $abr . ' | ');
echo(' ' . $asbr . ' | ');
echo(' ' . $area_count . ' | ');
echo(' ' . $port_count . '('.$port_count_enabled.') | ');
echo(' ' . $nbr_count . ' | ');
echo('
');
echo('');
echo('');
echo('');
echo(' | Area Id | Status | Ports | ');
##### Loop Areas
$i_a = 0;
foreach (dbFetchRows("SELECT * FROM `ospf_areas` WHERE `device_id` = ?", array($device['device_id'])) as $area)
{
if (!is_integer($i_a/2)) { $area_bg = $list_colour_b_a; } else { $area_bg = $list_colour_b_b; }
$area_port_count = dbFetchCell("SELECT COUNT(*) FROM `ospf_ports` WHERE `device_id` = ? AND `ospfIfAreaId` = ?", array($device['device_id'], $area['ospfAreaId']));
$area_port_count_enabled = dbFetchCell("SELECT COUNT(*) FROM `ospf_ports` WHERE `ospfIfAdminStat` = 'enabled' AND `device_id` = ? AND `ospfIfAreaId` = ?", array($device['device_id'], $area['ospfAreaId']));
echo('');
echo(' | ');
echo(' '.$area['ospfAreaId'] . ' | ');
echo(' ' . $enabled . ' | ');
echo(' ' . $area_port_count . '('.$area_port_count_enabled.') | ');
echo(' ');
echo('');
echo('');
echo('');
echo(' | Port | Status | Port Type | Port State | ');
##### Loop Ports
$i_p = $i_a + 1;
$p_sql = "SELECT * FROM `ospf_ports` AS O, `ports` AS P WHERE O.`ospfIfAdminStat` = 'enabled' AND O.`device_id` = ? AND O.`ospfIfAreaId` = ? AND P.port_id = O.port_id";
foreach (dbFetchRows($p_sql, array($device['device_id'], $area['ospfAreaId'])) as $ospfport)
{
if (!is_integer($i_a/2))
{
if (!is_integer($i_p/2)) { $port_bg = $list_colour_b_b; } else { $port_bg = $list_colour_b_a; }
} else {
if (!is_integer($i_p/2)) { $port_bg = $list_colour_a_b; } else { $port_bg = $list_colour_a_a; }
}
if ($ospfport['ospfIfAdminStat'] == "enabled")
{
$port_enabled = 'enabled';
} else {
$port_enabled = 'disabled';
}
echo('');
echo(' | ');
echo(' '. generate_port_link($ospfport) . ' | ');
echo(' ' . $port_enabled . ' | ');
echo(' ' . $ospfport['ospfIfType'] . ' | ');
echo(' ' . $ospfport['ospfIfState'] . ' | ');
echo(' ');
$i_p++;
}
echo(' ');
echo(' | ');
echo(' ');
$i_a++;
} ### End loop areas
echo(' | Router Id | Device | IP Address | Status | ');
## Loop Neigbours
$i_n = 1;
foreach (dbFetchRows("SELECT * FROM `ospf_nbrs` WHERE `device_id` = ?", array($device['device_id'])) as $nbr)
{
if (!is_integer($i_n/2)) { $nbr_bg = $list_colour_b_a; } else { $nbr_bg = $list_colour_b_b; }
$host = @dbFetchRow("SELECT * FROM ipv4_addresses AS A, ports AS I, devices AS D WHERE A.ipv4_address = ?
AND I.port_id = A.port_id AND D.device_id = I.device_id", array($nbr['ospfNbrRtrId']));
if (is_array($host)) { $rtr_id = generate_device_link($host); } else { $rtr_id = "unknown"; }
echo('');
echo(' | ');
echo(' ' . $nbr['ospfNbrRtrId'] . ' | ');
echo(' ' . $rtr_id . ' | ');
echo(' ' . $nbr['ospfNbrIpAddr'] . ' | ');
echo(' ');
switch ($nbr['ospfNbrState'])
{
case 'full':
echo(''.$nbr['ospfNbrState'].'');
break;
case 'down':
echo(''.$nbr['ospfNbrState'].'');
break;
default:
echo(''.$nbr['ospfNbrState'].'');
break;
}
echo(' | ');
echo(' ');
$i_n++;
}
echo(' ');
echo(' | ');
echo('
');
$i_i++;
} ### End loop instances
echo('');
?>