Feature #2834 ยป skew.patch
etc/rc.filter_synchronize | ||
---|---|---|
59 | 59 |
(strpos($section['interface'], '_vip') === FALSE) && |
60 | 60 |
(strpos($section['interface'], 'lo0') === FALSE)) |
61 | 61 |
continue; |
62 |
if ($section['advskew'] <> "") {
|
|
62 |
if (($section['advskew'] <> "") && ($section['dontadvskew'] <> "ignore")) {
|
|
63 | 63 |
$section_val = intval($section['advskew']); |
64 | 64 |
$section_val=$section_val+100; |
65 | 65 |
if ($section_val > 254) |
usr/local/www/firewall_virtual_ip_edit.php | ||
---|---|---|
86 | 86 |
$pconfig['mode'] = $a_vip[$id]['mode']; |
87 | 87 |
$pconfig['vhid'] = $a_vip[$id]['vhid']; |
88 | 88 |
$pconfig['advskew'] = $a_vip[$id]['advskew']; |
89 |
$pconfig['dontadvskew'] = $a_vip[$id]['dontadvskew']; |
|
89 | 90 |
$pconfig['advbase'] = $a_vip[$id]['advbase']; |
90 | 91 |
$pconfig['password'] = $a_vip[$id]['password']; |
91 | 92 |
$pconfig['range'] = $a_vip[$id]['range']; |
... | ... | |
244 | 245 |
$vipent['vhid'] = $_POST['vhid']; |
245 | 246 |
$vipent['vhid'] = $_POST['uinqid']; |
246 | 247 |
$vipent['advskew'] = $_POST['advskew']; |
248 |
$vipent['dontadvskew'] = $_POST['dontadvskew']; |
|
247 | 249 |
$vipent['advbase'] = $_POST['advbase']; |
248 | 250 |
$vipent['password'] = $_POST['password']; |
249 | 251 |
} |
... | ... | |
325 | 327 |
document.iform.password.disabled = $mode != "carp"; |
326 | 328 |
document.iform.vhid.disabled = $mode != "carp"; |
327 | 329 |
document.iform.advskew.disabled = $mode != "carp"; |
330 |
document.iform.dontadvskew.disabled = $mode != "carp"; |
|
328 | 331 |
document.iform.advbase.disabled = $mode != "carp"; |
329 | 332 |
document.iform.type.disabled = $mode in {"carp":1,"ipalias":1}; |
330 | 333 |
|
... | ... | |
496 | 499 |
</option> |
497 | 500 |
<?php endfor; ?> |
498 | 501 |
</select> |
502 |
Disable sync skew: <input type="checkbox" id='dontadvskew' name='dontadvskew' value="ignore"> <i id="typenote"><?=gettext("Do not disable unless you know what you are doing?");?></i> |
|
499 | 503 |
<br /><br /> |
500 | 504 |
<?=gettext("The frequency that this machine will advertise. 0 means usually master. Otherwise the lowest combination of both values in the cluster determines the master.");?> |
501 | 505 |
</td> |
usr/local/www/widgets/widgets/carp_status.widget.php | ||
---|---|---|
52 | 52 |
$netmask = $carp['subnet_bits']; |
53 | 53 |
$vhid = $carp['vhid']; |
54 | 54 |
$advskew = $carp['advskew']; |
55 |
$dontadvskew = $carp['dontadvskew']; |
|
55 | 56 |
$status = get_carp_interface_status("_vip{$carp['uniqid']}"); |
56 | 57 |
?> |
57 | 58 |
<tr> |
usr/local/www/xmlrpc.php | ||
---|---|---|
212 | 212 |
if (is_array($config['virtualip']['vip'])) { |
213 | 213 |
foreach ($config['virtualip']['vip'] as $vipindex => $vip) { |
214 | 214 |
if ($vip['mode'] == "carp") |
215 |
$oldvips["{$vip['interface']}_vip{$vip['vhid']}"] = "{$vip['password']}{$vip['advskew']}{$vip['subnet']}{$vip['subnet_bits']}{$vip['advbase']}"; |
|
215 |
$oldvips["{$vip['interface']}_vip{$vip['vhid']}"] = "{$vip['password']}{$vip['advskew']}{$vip['subnet']}{$vip['subnet_bits']}{$vip['advbase']}{$vip['dontadvskew']}";
|
|
216 | 216 |
else if ($vip['mode'] == "ipalias" && (substr($vip['interface'], 0, 4) == '_vip') || strpos($vip['interface'], "lo0"))) |
217 | 217 |
$oldvips[$vip['subnet']] = "{$vip['interface']}{$vip['subnet']}{$vip['subnet_bits']}"; |
218 | 218 |
else if (($vip['mode'] == "ipalias" || $vip['mode'] == 'proxyarp') && !(substr($vip['interface'], 0, 4) == '_vip') || strpos($vip['interface'], "lo0"))) |
... | ... | |
247 | 247 |
$anyproxyarp = false; |
248 | 248 |
foreach ($config['virtualip']['vip'] as $vip) { |
249 | 249 |
if ($vip['mode'] == "carp" && isset($oldvips["{$vip['interface']}_vip{$vip['vhid']}"])) { |
250 |
if ($oldvips["{$vip['interface']}_vip{$vip['vhid']}"] == "{$vip['password']}{$vip['advskew']}{$vip['subnet']}{$vip['subnet_bits']}{$vip['advbase']}") { |
|
250 |
if ($oldvips["{$vip['interface']}_vip{$vip['vhid']}"] == "{$vip['password']}{$vip['advskew']}{$vip['subnet']}{$vip['subnet_bits']}{$vip['advbase']}{$vip['dontadvskew']}") {
|
|
251 | 251 |
if (does_vip_exist($vip)) { |
252 | 252 |
unset($oldvips["{$vip['interface']}_vip{$vip['vhid']}"]); |
253 | 253 |
continue; // Skip reconfiguring this vips since nothing has changed. |