2011-04-27 01:46:01 +00:00
< ? php
2011-04-29 22:29:42 +00:00
$i_i = " 0 " ;
echo ( '<table width=100% border=0 cellpadding=5>' );
#### Loop Instances
2011-05-16 12:48:50 +00:00
foreach ( dbFetchRows ( " SELECT * FROM `ospf_instances` WHERE `device_id` = ? " , array ( $device [ 'device_id' ])) as $instance )
2011-04-29 22:29:42 +00:00
{
if ( ! is_integer ( $i_i / 2 )) { $instance_bg = $list_colour_a ; } else { $instance_bg = $list_colour_b ; }
2011-05-16 10:44:50 +00:00
$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' ]));
2011-04-30 22:20:11 +00:00
2011-04-29 22:29:42 +00:00
$query = " SELECT * FROM ipv4_addresses AS A, ports AS I WHERE " ;
2012-05-16 13:25:50 +00:00
$query .= " (A.ipv4_address = ? AND I.port_id = A.port_id) " ;
2011-05-16 10:44:50 +00:00
$query .= " AND I.device_id = ? " ;
$ipv4_host = dbFetchRow ( $query , array ( $peer [ 'bgpPeerIdentifier' ], $device [ 'device_id' ]));
2011-04-29 22:29:42 +00:00
2011-05-01 17:26:06 +00:00
if ( $instance [ 'ospfAdminStat' ] == " enabled " ) { $enabled = '<span style="color: #00aa00">enabled</span>' ; } else { $enabled = '<span style="color: #aaaaaa">disabled</span>' ; }
if ( $instance [ 'ospfAreaBdrRtrStatus' ] == " true " ) { $abr = '<span style="color: #00aa00">yes</span>' ; } else { $abr = '<span style="color: #aaaaaa">no</span>' ; }
if ( $instance [ 'ospfASBdrRtrStatus' ] == " true " ) { $asbr = '<span style="color: #00aa00">yes</span>' ; } else { $asbr = '<span style="color: #aaaaaa">no</span>' ; }
2011-04-29 22:29:42 +00:00
echo ( '<tr><th>Router Id</th><th>Status</th><th>ABR</th><th>ASBR</th><th>Areas</th><th>Ports</th><th>Neighbours</th></tr>' );
echo ( '<tr bgcolor="' . $instance_bg . '">' );
echo ( ' <td class="list-large">' . $instance [ 'ospfRouterId' ] . '</td>' );
echo ( ' <td>' . $enabled . '</td>' );
echo ( ' <td>' . $abr . '</td>' );
echo ( ' <td>' . $asbr . '</td>' );
echo ( ' <td>' . $area_count . '</td>' );
echo ( ' <td>' . $port_count . '(' . $port_count_enabled . ')</td>' );
2011-04-30 22:20:11 +00:00
echo ( ' <td>' . $nbr_count . '</td>' );
2011-04-29 22:29:42 +00:00
echo ( '</tr>' );
echo ( '<tr bgcolor="' . $instance_bg . '">' );
echo ( '<td colspan=7>' );
echo ( '<table width=100% border=0 cellpadding=5>' );
echo ( '<tr><th></th><th>Area Id</th><th>Status</th><th>Ports</th></tr>' );
##### Loop Areas
$i_a = 0 ;
2011-05-16 10:44:50 +00:00
foreach ( dbFetchRows ( " SELECT * FROM `ospf_areas` WHERE `device_id` = ? " , array ( $device [ 'device_id' ])) as $area )
2011-04-29 22:29:42 +00:00
{
if ( ! is_integer ( $i_a / 2 )) { $area_bg = $list_colour_b_a ; } else { $area_bg = $list_colour_b_b ; }
2011-05-16 10:44:50 +00:00
$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' ]));
2011-04-29 22:29:42 +00:00
echo ( '<tr bgcolor="' . $area_bg . '">' );
echo ( ' <td width=5></td>' );
echo ( ' <td class="list-large">' . $area [ 'ospfAreaId' ] . '</td>' );
echo ( ' <td>' . $enabled . '</td>' );
echo ( ' <td>' . $area_port_count . '(' . $area_port_count_enabled . ')</td>' );
2011-05-01 17:26:06 +00:00
echo ( '</tr>' );
2011-04-29 22:29:42 +00:00
echo ( '<tr bgcolor="' . $area_bg . '">' );
echo ( '<td colspan=7>' );
echo ( '<table width=100% border=0 cellpadding=5>' );
echo ( '<tr><th></th><th>Port</th><th>Status</th><th>Port Type</th><th>Port State</th></tr>' );
##### Loop Ports
$i_p = $i_a + 1 ;
2012-05-16 13:25:50 +00:00
$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 " ;
2011-05-16 10:44:50 +00:00
foreach ( dbFetchRows ( $p_sql , array ( $device [ 'device_id' ], $area [ 'ospfAreaId' ])) as $ospfport )
2011-04-29 22:29:42 +00:00
{
2011-05-01 17:26:06 +00:00
if ( ! is_integer ( $i_a / 2 ))
{
2011-04-29 22:29:42 +00:00
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 ; }
}
2011-05-01 17:26:06 +00:00
if ( $ospfport [ 'ospfIfAdminStat' ] == " enabled " )
{
$port_enabled = '<span style="color: #00aa00">enabled</span>' ;
} else {
$port_enabled = '<span style="color: #aaaaaa">disabled</span>' ;
}
2011-04-29 22:29:42 +00:00
echo ( '<tr bgcolor="' . $port_bg . '">' );
echo ( ' <td width=15></td>' );
echo ( ' <td><strong>' . generate_port_link ( $ospfport ) . '</strong></td>' );
echo ( ' <td>' . $port_enabled . '</td>' );
echo ( ' <td>' . $ospfport [ 'ospfIfType' ] . '</td>' );
echo ( ' <td>' . $ospfport [ 'ospfIfState' ] . '</td>' );
2011-05-01 17:26:06 +00:00
echo ( '</tr>' );
2011-04-29 22:29:42 +00:00
$i_p ++ ;
}
2011-05-01 17:26:06 +00:00
2011-04-29 22:29:42 +00:00
echo ( '</table>' );
echo ( '</td>' );
echo ( '</tr>' );
$i_a ++ ;
} ### End loop areas
2011-05-04 18:35:01 +00:00
echo ( '<tr bgcolor="#ffffff"><th></th><th>Router Id</th><th>Device</th><th>IP Address</th><th>Status</th></tr>' );
## Loop Neigbours
$i_n = 1 ;
2011-05-16 10:44:50 +00:00
foreach ( dbFetchRows ( " SELECT * FROM `ospf_nbrs` WHERE `device_id` = ? " , array ( $device [ 'device_id' ])) as $nbr )
2011-05-04 18:35:01 +00:00
{
if ( ! is_integer ( $i_n / 2 )) { $nbr_bg = $list_colour_b_a ; } else { $nbr_bg = $list_colour_b_b ; }
2011-05-16 10:44:50 +00:00
$host = @ dbFetchRow ( " SELECT * FROM ipv4_addresses AS A, ports AS I, devices AS D WHERE A.ipv4_address = ?
2012-05-16 13:25:50 +00:00
AND I . port_id = A . port_id AND D . device_id = I . device_id " , array( $nbr['ospfNbrRtrId'] ));
2011-05-04 18:35:01 +00:00
2011-10-07 13:42:02 +00:00
if ( is_array ( $host )) { $rtr_id = generate_device_link ( $host ); } else { $rtr_id = " unknown " ; }
2011-05-04 18:35:01 +00:00
echo ( '<tr bgcolor="' . $nbr_bg . '">' );
echo ( ' <td width=5></td>' );
echo ( ' <td><span class="list-large">' . $nbr [ 'ospfNbrRtrId' ] . '</span></td>' );
echo ( ' <td>' . $rtr_id . '</td>' );
echo ( ' <td>' . $nbr [ 'ospfNbrIpAddr' ] . '</td>' );
echo ( ' <td>' );
switch ( $nbr [ 'ospfNbrState' ])
{
case 'full' :
echo ( '<span class=green>' . $nbr [ 'ospfNbrState' ] . '</span>' );
break ;
case 'down' :
echo ( '<span class=red>' . $nbr [ 'ospfNbrState' ] . '</span>' );
break ;
default :
echo ( '<span class=blue>' . $nbr [ 'ospfNbrState' ] . '</span>' );
break ;
}
echo ( '</td>' );
echo ( '</tr>' );
$i_n ++ ;
}
2011-04-29 22:29:42 +00:00
echo ( '</table>' );
echo ( '</td>' );
echo ( '</tr>' );
$i_i ++ ;
} ### End loop instances
echo ( '</table>' );
2011-04-27 01:46:01 +00:00
?>