Project

General

Profile

Bug #8518 » 8518.diff

Jim Pingle, 05/16/2018 10:48 AM

View differences:

src/etc/inc/filter.inc
3614 3614
					if ($vip['mode'] == "proxyarp") {
3615 3615
						continue;
3616 3616
					}
3617
					if (!is_ipaddrv4($vip['ip']) || !is_subnetv4("{$vip['ip']}/{$vip['sn']}")) {
3618
						continue;
3619
					}
3617 3620
					if (ip_in_subnet($vip['ip'], "{$ifcfg['sa']}/{$ifcfg['sn']}")) {
3618 3621
						$ipfrules .= "pass out {$log['pass']} route-to ( {$ifcfg['if']} {$gw} ) from {$vip['ip']} to !{$ifcfg['sa']}/{$ifcfg['sn']} tracker {$increment_tracker($tracker)} keep state allow-opts label \"let out anything from firewall host itself\"\n";
3619 3622
					} else {
......
3630 3633
			$ipfrules .= "pass out {$log['pass']} route-to ( {$stf} {$gwv6} ) inet6 from {$ifcfg['ipv6']} to !{$ifcfg['ipv6']}/{$pdlen} tracker {$increment_tracker($tracker)} keep state allow-opts label \"let out anything from firewall host itself\"\n";
3631 3634
			if (is_array($ifcfg['vips6'])) {
3632 3635
				foreach ($ifcfg['vips6'] as $vip) {
3636
					if (!is_ipaddrv6($vip['ip']) || !is_subnetv6("{$vip['ip']}/{$pdlen}")) {
3637
						continue;
3638
					}
3633 3639
					$ipfrules .= "pass out {$log['pass']} route-to ( {$stf} {$gwv6} ) inet6 from {$vip['ip']} to !{$vip['ip']}/{$pdlen} tracker {$increment_tracker($tracker)} keep state allow-opts label \"let out anything from firewall host itself\"\n";
3634 3640
				}
3635 3641
			}
(1-1/3)