summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/filter.inc14
-rw-r--r--etc/inc/util.inc7
2 files changed, 12 insertions, 9 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index afa864d..25008ff 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -775,13 +775,13 @@ function filter_get_direct_networks_list() {
$networks_arr[] = $subnet;
}
}
- foreach(get_configured_ip_aliases_list() as $vip => $vipif) {
- $vip_split = explode('/', $vip);
- if(!empty($vip_split[1]) && is_subnet($vip) && !(is_subnetv4($vip) && $vip_split[1] == 32) && !(is_subnetv6($vip) && $vip_split[1] == 128)) {
- if(is_subnetv4($vip))
- $networks_arr[] = gen_subnet($vip_split[0], $vip_split[1]) . "/{$vip_split[1]}";
- else if(is_subnetv6($vip))
- $networks_arr[] = gen_subnetv6($vip_split[0], $vip_split[1]) . "/{$vip_split[1]}";
+ foreach(get_configured_ip_aliases_list(true) as $vip) {
+ $subnet = "{$vip['subnet']}/{$vip['subnet_bits']}";
+ if(is_subnet($subnet) && !(is_subnetv4($subnet) && $vip['subnet_bits'] == 32) && !(is_subnetv6($subnet) && $vip['subnet_bits'] == 128)) {
+ if(is_subnetv4($subnet))
+ $networks_arr[] = gen_subnet($vip['subnet'], $vip['subnet_bits']) . "/{$vip['subnet_bits']}";
+ else if(is_subnetv6($subnet))
+ $networks_arr[] = gen_subnetv6($vip['subnet'], $vip['subnet_bits']) . "/{$vip['subnet_bits']}";
}
}
foreach(get_staticroutes(true) as $netent) {
diff --git a/etc/inc/util.inc b/etc/inc/util.inc
index c176e10..f5d0a39 100644
--- a/etc/inc/util.inc
+++ b/etc/inc/util.inc
@@ -647,7 +647,7 @@ function get_configured_carp_interface_list() {
}
/* return the configured IP aliases list */
-function get_configured_ip_aliases_list() {
+function get_configured_ip_aliases_list($returnfullentry = false) {
global $config;
$alias_list=array();
@@ -656,7 +656,10 @@ function get_configured_ip_aliases_list() {
$viparr = &$config['virtualip']['vip'];
foreach ($viparr as $vip) {
if ($vip['mode']=="ipalias") {
- $alias_list[$vip['subnet']] = $vip['interface'];
+ if ($returnfullentry)
+ $alias_list[$vip['subnet']] = $vip;
+ else
+ $alias_list[$vip['subnet']] = $vip['interface'];
}
}
}
OpenPOWER on IntegriCloud