summaryrefslogtreecommitdiffstats
path: root/src/etc/inc/util.inc
diff options
context:
space:
mode:
authorLuiz Otavio O Souza <luiz@netgate.com>2015-11-27 08:57:07 -0600
committerLuiz Otavio O Souza <luiz@netgate.com>2015-11-27 08:58:35 -0600
commit76153238bde48bba64e460b68d0d29ec8ba764a3 (patch)
tree8685eb1d45b888eeb8efe8e9df9f3c3019135138 /src/etc/inc/util.inc
parentbb8e1db7ba526f15a84c0d49a3c9fe11ef523c24 (diff)
downloadpfsense-76153238bde48bba64e460b68d0d29ec8ba764a3.zip
pfsense-76153238bde48bba64e460b68d0d29ec8ba764a3.tar.gz
Simplify get_configured_carp_interface_list().
No functional changes.
Diffstat (limited to 'src/etc/inc/util.inc')
-rw-r--r--src/etc/inc/util.inc91
1 files changed, 47 insertions, 44 deletions
diff --git a/src/etc/inc/util.inc b/src/etc/inc/util.inc
index 8c6766b..fb00dcb 100644
--- a/src/etc/inc/util.inc
+++ b/src/etc/inc/util.inc
@@ -1041,51 +1041,54 @@ function get_configured_carp_interface_list($carpinterface = '', $family = 'inet
$iflist = array();
- if (is_array($config['virtualip']['vip'])) {
- $viparr = &$config['virtualip']['vip'];
- foreach ($viparr as $vip) {
- switch ($vip['mode']) {
- case "carp":
- if (!empty($carpinterface)) {
- if ($carpinterface == "_vip{$vip['uniqid']}") {
- switch ($what) {
- case 'subnet':
- if ($family == 'inet' && is_ipaddrv4($vip['subnet'])) {
- return $vip['subnet_bits'];
- } else if ($family == 'inet6' && is_ipaddrv6($vip['subnet'])) {
- return $vip['subnet_bits'];
- }
- break;
- case 'iface':
- if ($family == 'inet' && is_ipaddrv4($vip['subnet'])) {
- return $vip['interface'];
- } else if ($family == 'inet6' && is_ipaddrv6($vip['subnet'])) {
- return $vip['interface'];
- }
- break;
- case 'vip':
- if ($family == 'inet' && is_ipaddrv4($vip['subnet'])) {
- return $vip;
- } else if ($family == 'inet6' && is_ipaddrv6($vip['subnet'])) {
- return $vip;
- }
- break;
- case 'ip':
- default:
- if ($family == 'inet' && is_ipaddrv4($vip['subnet'])) {
- return $vip['subnet'];
- } else if ($family == 'inet6' && is_ipaddrv6($vip['subnet'])) {
- return $vip['subnet'];
- }
- break;
- }
- }
- } else {
- $iflist["_vip{$vip['uniqid']}"] = $vip['subnet'];
- }
- break;
- }
+ if (!is_array($config['virtualip']['vip']) || empty($config['virtualip']['vip']))
+ return $iflist;
+
+ $viparr = &$config['virtualip']['vip'];
+ foreach ($viparr as $vip) {
+ if ($vip['mode'] != "carp")
+ continue;
+
+ if (empty($carpinterface)) {
+ $iflist["_vip{$vip['uniqid']}"] = $vip['subnet'];
+ continue;
+ }
+
+ if ($carpinterface != "_vip{$vip['uniqid']}")
+ continue;
+
+ switch ($what) {
+ case 'subnet':
+ if ($family == 'inet' && is_ipaddrv4($vip['subnet'])) {
+ return $vip['subnet_bits'];
+ } else if ($family == 'inet6' && is_ipaddrv6($vip['subnet'])) {
+ return $vip['subnet_bits'];
+ }
+ break;
+ case 'iface':
+ if ($family == 'inet' && is_ipaddrv4($vip['subnet'])) {
+ return $vip['interface'];
+ } else if ($family == 'inet6' && is_ipaddrv6($vip['subnet'])) {
+ return $vip['interface'];
+ }
+ break;
+ case 'vip':
+ if ($family == 'inet' && is_ipaddrv4($vip['subnet'])) {
+ return $vip;
+ } else if ($family == 'inet6' && is_ipaddrv6($vip['subnet'])) {
+ return $vip;
+ }
+ break;
+ case 'ip':
+ default:
+ if ($family == 'inet' && is_ipaddrv4($vip['subnet'])) {
+ return $vip['subnet'];
+ } else if ($family == 'inet6' && is_ipaddrv6($vip['subnet'])) {
+ return $vip['subnet'];
+ }
+ break;
}
+ break;
}
return $iflist;
OpenPOWER on IntegriCloud