diff --git a/html/pages/routing/bgp.inc.php b/html/pages/routing/bgp.inc.php
index c582f5d6d5..63ed34482b 100644
--- a/html/pages/routing/bgp.inc.php
+++ b/html/pages/routing/bgp.inc.php
@@ -22,13 +22,13 @@ else
echo(" | ");
if ($vars['type'] == "internal") { echo(""); }
echo(" | ");
if ($vars['type'] == "external") { echo(""); }
echo(" | ");
@@ -42,6 +42,17 @@ else
echo(generate_link("Shutdown",$vars, array('adminstatus' => 'stop')));
}
+ echo("|");
+
+ if ($vars['adminstatus'] == "start")
+ {
+ echo("");
+ } else {
+ echo(generate_link("Enabled",$vars, array('adminstatus' => 'start')));
+ }
+
echo(" | ");
if ($vars['state'] == "down")
@@ -122,17 +133,23 @@ else
$i = "1";
- if ($vars['type'] == "alerts")
+ if ($vars['type'] == "external")
{
- $where = "AND (B.bgpPeerAdminStatus = 'start' or B.bgpPeerAdminStatus = 'running') AND B.bgpPeerState != 'established'";
- } elseif ($vars['type'] == "disabled") {
- $where = "AND B.bgpPeerAdminStatus = 'stop'";
- } elseif ($vars['type'] == "external") {
$where = "AND D.bgpLocalAs != B.bgpPeerRemoteAs";
} elseif ($vars['type'] == "internal") {
$where = "AND D.bgpLocalAs = B.bgpPeerRemoteAs";
}
+ if($vars['adminstatus'] == "stop")
+ {
+ $where .= " AND (B.bgpPeerAdminStatus = 'stop')";
+ }
+
+ if($vars['state'] == "down")
+ {
+ $where .= " AND (B.bgpPeerState != 'established')";
+ }
+
$peer_query = "select * from bgpPeers AS B, devices AS D WHERE B.device_id = D.device_id ".$where." ORDER BY D.hostname, B.bgpPeerRemoteAs, B.bgpPeerIdentifier";
foreach(dbFetchRows($peer_query) as $peer)
{