';
// 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++;
}//end foreach
echo ' ';
echo ' | ';
echo ' ';
$i_a++;
} //end foreach
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++;
}//end foreach
echo ' ';
echo ' | ';
echo '
';
$i_i++;
} //end foreach
echo '';