summaryrefslogtreecommitdiffstats
path: root/usr/local/www/carp_status.php
diff options
context:
space:
mode:
Diffstat (limited to 'usr/local/www/carp_status.php')
-rw-r--r--usr/local/www/carp_status.php139
1 files changed, 71 insertions, 68 deletions
diff --git a/usr/local/www/carp_status.php b/usr/local/www/carp_status.php
index 9524aef..a00d781 100644
--- a/usr/local/www/carp_status.php
+++ b/usr/local/www/carp_status.php
@@ -1,30 +1,30 @@
<?php
/*
- carp_status.php
- Copyright (C) 2004 Scott Ullrich
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
+ carp_status.php
+ Copyright (C) 2004 Scott Ullrich
+ Copyright (C) 2013-2015 Electric Sheep Fencing, LP
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
*/
##|+PRIV
@@ -52,38 +52,39 @@ unset($interface_ip_arr_cache);
$status = get_carp_status();
$status = intval($status);
-if($_POST['carp_maintenancemode'] <> "") {
+if ($_POST['carp_maintenancemode'] <> "") {
interfaces_carp_set_maintenancemode(!isset($config["virtualip_carp_maintenancemode"]));
}
-if($_POST['disablecarp'] <> "") {
- if($status > 0) {
+if ($_POST['disablecarp'] <> "") {
+ if ($status > 0) {
set_single_sysctl('net.inet.carp.allow', '0');
- if(is_array($config['virtualip']['vip'])) {
+ if (is_array($config['virtualip']['vip'])) {
$viparr = &$config['virtualip']['vip'];
$found_dhcpdv6 = false;
foreach ($viparr as $vip) {
$carp_iface = "{$vip['interface']}_vip{$vip['vhid']}";
switch ($vip['mode']) {
- case "carp":
- interface_vip_bring_down($vip);
- interface_ipalias_cleanup($carp_iface);
-
- /*
- * Reconfigure radvd when necessary
- * XXX: Is it the best way to do it?
- */
- if (isset($config['dhcpdv6']) && is_array($config['dhcpdv6'])) {
- foreach ($config['dhcpdv6'] as $dhcpv6if => $dhcpv6ifconf) {
- if ($dhcpv6ifconf['rainterface'] != $carp_iface)
- continue;
-
- services_radvd_configure();
- break;
+ case "carp":
+ interface_vip_bring_down($vip);
+ interface_ipalias_cleanup($carp_iface);
+
+ /*
+ * Reconfigure radvd when necessary
+ * XXX: Is it the best way to do it?
+ */
+ if (isset($config['dhcpdv6']) && is_array($config['dhcpdv6'])) {
+ foreach ($config['dhcpdv6'] as $dhcpv6if => $dhcpv6ifconf) {
+ if ($dhcpv6ifconf['rainterface'] != $carp_iface) {
+ continue;
+ }
+
+ services_radvd_configure();
+ break;
+ }
}
- }
- sleep(1);
- break;
+ sleep(1);
+ break;
}
}
}
@@ -91,18 +92,19 @@ if($_POST['disablecarp'] <> "") {
$status = 0;
} else {
$savemsg = gettext("CARP has been enabled.");
- if(is_array($config['virtualip']['vip'])) {
+ if (is_array($config['virtualip']['vip'])) {
$viparr = &$config['virtualip']['vip'];
foreach ($viparr as $vip) {
switch ($vip['mode']) {
- case "carp":
- interface_carp_configure($vip);
- sleep(1);
- break;
- case 'ipalias':
- if (strpos($vip['interface'], '_vip'))
- interface_ipalias_configure($vip);
- break;
+ case "carp":
+ interface_carp_configure($vip);
+ sleep(1);
+ break;
+ case 'ipalias':
+ if (strpos($vip['interface'], '_vip')) {
+ interface_ipalias_configure($vip);
+ }
+ break;
}
}
}
@@ -153,23 +155,23 @@ include("head.inc");
<td>
<?php
$carpcount = 0;
- if(is_array($config['virtualip']['vip'])) {
- foreach($config['virtualip']['vip'] as $carp) {
+ if (is_array($config['virtualip']['vip'])) {
+ foreach ($config['virtualip']['vip'] as $carp) {
if ($carp['mode'] == "carp") {
$carpcount++;
break;
}
}
}
- if($carpcount > 0) {
- if($status > 0) {
+ if ($carpcount > 0) {
+ if ($status > 0) {
$carp_enabled = true;
echo "<input type=\"submit\" name=\"disablecarp\" id=\"disablecarp\" value=\"" . gettext("Temporarily Disable CARP") . "\" />";
} else {
$carp_enabled = false;
echo "<input type=\"submit\" name=\"disablecarp\" id=\"disablecarp\" value=\"" . gettext("Enable CARP") . "\" />";
}
- if(isset($config["virtualip_carp_maintenancemode"])) {
+ if (isset($config["virtualip_carp_maintenancemode"])) {
echo "<input type=\"submit\" name=\"carp_maintenancemode\" id=\"carp_maintenancemode\" value=\"" . gettext("Leave Persistent CARP Maintenance Mode") . "\" />";
} else {
echo "<input type=\"submit\" name=\"carp_maintenancemode\" id=\"carp_maintenancemode\" value=\"" . gettext("Enter Persistent CARP Maintenance Mode") . "\" />";
@@ -193,24 +195,25 @@ include("head.inc");
echo "</body></html>";
return;
}
- if(is_array($config['virtualip']['vip'])) {
- foreach($config['virtualip']['vip'] as $carp) {
- if ($carp['mode'] != "carp")
+ if (is_array($config['virtualip']['vip'])) {
+ foreach ($config['virtualip']['vip'] as $carp) {
+ if ($carp['mode'] != "carp") {
continue;
+ }
$ipaddress = $carp['subnet'];
$vhid = $carp['vhid'];
$status = get_carp_interface_status("_vip{$carp['uniqid']}");
echo "<tr>";
$align = "style=\"vertical-align:middle\"";
- if($carp_enabled == false) {
+ if ($carp_enabled == false) {
$icon = "<img {$align} src=\"/themes/".$g['theme']."/images/icons/icon_block.gif\" alt=\"disabled\" />";
$status = "DISABLED";
} else {
- if($status == "MASTER") {
+ if ($status == "MASTER") {
$icon = "<img {$align} src=\"/themes/".$g['theme']."/images/icons/icon_pass.gif\" alt=\"master\" />";
- } else if($status == "BACKUP") {
+ } else if ($status == "BACKUP") {
$icon = "<img {$align} src=\"/themes/".$g['theme']."/images/icons/icon_pass_d.gif\" alt=\"backup\" />";
- } else if($status == "INIT") {
+ } else if ($status == "INIT") {
$icon = "<img {$align} src=\"/themes/".$g['theme']."/images/icons/icon_log.gif\" alt=\"init\" />";
} else {
$icon = "";
OpenPOWER on IntegriCloud