From c6c6fc8b8b85c9fdbf6fce72d263cde949cd2b15 Mon Sep 17 00:00:00 2001 From: Tom Laermans Date: Fri, 8 Jan 2010 00:00:25 +0000 Subject: [PATCH] really fixed v6 bgp on juniper now, yay git-svn-id: http://www.observium.org/svn/observer/trunk@621 61d68cd4-352d-0410-923a-c4978735b2b8 --- html/includes/print-menubar.php | 2 +- html/pages/bgp.php | 2 +- html/pages/device/bgp.inc.php | 2 +- includes/polling/bgpPeer.inc.php | 7 +++++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/html/includes/print-menubar.php b/html/includes/print-menubar.php index 912f92f419..f4e024e80d 100644 --- a/html/includes/print-menubar.php +++ b/html/includes/print-menubar.php @@ -5,7 +5,7 @@ $device_alerts = "0"; $device_alert_sql = "WHERE 0"; - $bgp_alerts = mysql_result(mysql_query("SELECT COUNT(*) FROM bgpPeers AS B where bgpPeerAdminStatus = 'start' AND bgpPeerState != 'established'"), 0); + $bgp_alerts = mysql_result(mysql_query("SELECT COUNT(*) FROM bgpPeers AS B where (bgpPeerAdminStatus = 'start' OR bgpPeerAdminStatus = 'running') AND bgpPeerState != 'established'"), 0); $query_a = mysql_query("SELECT * FROM `devices`"); while($device = mysql_fetch_array($query_a)) { diff --git a/html/pages/bgp.php b/html/pages/bgp.php index 7b501faa90..4dd5be33d2 100644 --- a/html/pages/bgp.php +++ b/html/pages/bgp.php @@ -19,7 +19,7 @@ if(!is_integer($i/2)) { $bg_colour = $list_colour_a; } else { $bg_colour = $list_colour_b; } if($peer['bgpPeerState'] == "established") { $col = "green"; } else { $col = "red"; $nobg_colour = "#ffcccc"; } - if($peer['bgpPeerAdminStatus'] == "start") { $admin_col = "green"; } else { $admin_col = "gray"; } + if($peer['bgpPeerAdminStatus'] == "start" || $peer['bgpPeerAdminStatus'] == "running") { $admin_col = "green"; } else { $admin_col = "gray"; } if($peer['bgpPeerRemoteAs'] == $peer['bgpLocalAs']) { $peer_type = "iBGP"; } else { $peer_type = "eBGP"; if($peer['bgpPeerRemoteAS'] >= '64512' && $peer['bgpPeerRemoteAS'] <= '65535') { $peer_type = "Priv eBGP"; } diff --git a/html/pages/device/bgp.inc.php b/html/pages/device/bgp.inc.php index 00dccdd301..eb791befef 100644 --- a/html/pages/device/bgp.inc.php +++ b/html/pages/device/bgp.inc.php @@ -42,7 +42,7 @@ echo(" if(!is_integer($i/2)) { $bg_colour = $list_colour_a; } else { $bg_colour = $list_colour_b; } #if($peer['bgpPeerAdminStatus'] == "start") { $img = "images/16/accept.png"; } else { $img = "images/16/delete.png"; } if($peer['bgpPeerState'] == "established") { $col = "green"; } else { $col = "red"; $bg_colour = "#ffcccc"; } - if($peer['bgpPeerAdminStatus'] == "start") { $admin_col = "green"; } else { $admin_col = "red"; $bg_colour = "#cccccc"; } + if($peer['bgpPeerAdminStatus'] == "start" || $peer['bgpPeerAdminStatus'] == "running") { $admin_col = "green"; } else { $admin_col = "red"; $bg_colour = "#cccccc"; } if($peer['bgpPeerRemoteAs'] == $device['bgpLocalAs']) { $peer_type = "iBGP"; } else { $peer_type = "eBGP"; } diff --git a/includes/polling/bgpPeer.inc.php b/includes/polling/bgpPeer.inc.php index c2978a112b..fcc692f14f 100755 --- a/includes/polling/bgpPeer.inc.php +++ b/includes/polling/bgpPeer.inc.php @@ -37,13 +37,13 @@ if ($device['os'] == "junos") { list($peer_oid) = split(' ',$oid); $peer_id = explode('.',$peer_oid); - $junos_v6[implode('.',array_slice($peer_id,35,8))] = implode('.',array_slice($peer_id,18)); + $junos_v6[implode('.',array_slice($peer_id,35))] = implode('.',array_slice($peer_id,18)); } } $peer_cmd = $config['snmpget'] . " -m BGP4-V2-MIB-JUNIPER -Ovq -" . $device['snmpver'] . " -c" . $device['community'] . " " . $device['hostname'].":".$device['port']; $peer_cmd .= " jnxBgpM2PeerState.0.ipv6." . $junos_v6[$peer_ip]; - $peer_cmd .= " jnxBgpM2PeerStatus.0.ipv6." . $junos_v6[$peer_ip]; + $peer_cmd .= " jnxBgpM2PeerStatus.0.ipv6." . $junos_v6[$peer_ip]; # Should be jnxBgpM2CfgPeerAdminStatus but doesn't seem to be implemented? $peer_cmd .= " jnxBgpM2PeerInUpdates.0.ipv6." . $junos_v6[$peer_ip]; $peer_cmd .= " jnxBgpM2PeerOutUpdates.0.ipv6." . $junos_v6[$peer_ip]; $peer_cmd .= " jnxBgpM2PeerInTotalMessages.0.ipv6." . $junos_v6[$peer_ip]; @@ -52,8 +52,11 @@ if ($device['os'] == "junos") $peer_cmd .= " jnxBgpM2PeerInUpdatesElapsedTime.0.ipv6." . $junos_v6[$peer_ip]; $peer_cmd .= " jnxBgpM2PeerLocalAddr.0.ipv6." . $junos_v6[$peer_ip]; $peer_data = trim(`$peer_cmd`); + if ($debug) echo "\n$peer_cmd\n"; list($bgpPeerState, $bgpPeerAdminStatus, $bgpPeerInUpdates, $bgpPeerOutUpdates, $bgpPeerInTotalMessages, $bgpPeerOutTotalMessages, $bgpPeerFsmEstablishedTime, $bgpPeerInUpdateElapsedTime, $bgpLocalAddr) = explode("\n", $peer_data); + if ($debug) { echo "State = $bgpPeerState - AdminStatus: $bgpPeerAdminStatus\n"; } + $bgpLocalAddr = str_replace('"','',str_replace(' ','',$bgpLocalAddr)); if ($bgpLocalAddr == "00000000000000000000000000000000") {