mirror of
https://github.com/pfsense/pfsense.git
synced 2025-10-26 11:38:35 +00:00
Correctly check the secondary/primary parameter setting on dhcp failover configuration
This commit is contained in:
parent
20809a21fd
commit
a01f8bfc0a
@ -440,9 +440,7 @@ EOD;
|
||||
continue;
|
||||
|
||||
if($dhcpifconf['failover_peerip'] <> "") {
|
||||
$int = guess_interface_from_ip($dhcpifconf['failover_peerip']);
|
||||
$intip = find_interface_ip($int);
|
||||
$real_dhcpif = convert_friendly_interface_to_real_interface_name($dhcpif);
|
||||
$intip = get_interface_ip($dhcpif);
|
||||
/*
|
||||
* yep, failover peer is defined.
|
||||
* does it match up to a defined vip?
|
||||
@ -450,10 +448,15 @@ EOD;
|
||||
$skew = 110;
|
||||
if(is_array($config['virtualip']['vip'])) {
|
||||
foreach ($config['virtualip']['vip'] as $vipent) {
|
||||
if($vipent['subnet'] == $intip) {
|
||||
/* this is the interface! */
|
||||
if(is_numeric($vipent['advskew']) && ($vipent['advskew'] < "20"))
|
||||
$skew = 0;
|
||||
if($vipent['interface'] == $dhcpif) {
|
||||
$carp_nw = gen_subnet($vipent['subnet'], $vipent['subnet_bits']);
|
||||
if (ip_in_subnet($dhcpifconf['failover_peerip'], "{$carp_nw}/{$vipent['subnet_bits']}")) {
|
||||
/* this is the interface! */
|
||||
if(is_numeric($vipent['advskew']) && (intval($vipent['advskew']) < 20)) {
|
||||
$skew = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -471,6 +474,8 @@ EOD;
|
||||
$dhcpdconf_pri = "split 128;\n";
|
||||
$dhcpdconf_pri .= " mclt 600;\n";
|
||||
}
|
||||
|
||||
if (is_ipaddrv4($intip)) {
|
||||
$dhcpdconf .= <<<EOPP
|
||||
failover peer "dhcp_{$dhcpif}" {
|
||||
{$type};
|
||||
@ -485,6 +490,7 @@ failover peer "dhcp_{$dhcpif}" {
|
||||
}
|
||||
|
||||
EOPP;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user