diff options
author | bcyrill <cyrill@bannwart.info> | 2013-02-06 11:21:47 +0100 |
---|---|---|
committer | bcyrill <cyrill@bannwart.info> | 2013-02-06 11:21:47 +0100 |
commit | 6b207f739b20246d9b981a8a180ba7c746916cb6 (patch) | |
tree | f7925aaec30365d117635afb7b33ab1f245af8f9 | |
parent | 614be0519197c7c1920bdf5f962d1d07f574725f (diff) | |
download | pfsense-6b207f739b20246d9b981a8a180ba7c746916cb6.zip pfsense-6b207f739b20246d9b981a8a180ba7c746916cb6.tar.gz |
find_virtual_ip_alias() add IPv6 support
-rw-r--r-- | etc/inc/interfaces.inc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index e6a9d58..9424bda 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -3870,11 +3870,19 @@ function find_ip_interface($ip, $bits = null) { */ function find_virtual_ip_alias($ip, $bits = null) { global $config; + if (!is_array($config['virtualip']['vip'])) { return false; } + if (!is_ipaddr($ip)) + return false; + + $isv6ip = is_ipaddrv6($ip); + foreach ($config['virtualip']['vip'] as $vip) { if ($vip['mode'] === "ipalias") { + if (is_ipaddrv6($vip['subnet']) != $isv6ip) + continue; if ($bits === null) { if (ip_in_subnet($ip, $vip['subnet'] . "/" . $vip['subnet_bits'])) { return $vip; |