Project

General

Profile

Feature #3859 » gwlb.php.patch

Patch to add custom srcip in apinger configuration - Patrick Bihan-Faou, 09/11/2014 09:40 AM

View differences:

/etc/inc/gwlb.inc 2014-09-11 10:43:46.000000000 +0200
/* Interface ip is needed since apinger will bind a socket to it. */
if (is_ipaddrv4($gateway['gateway'])) {
$gwifip = find_interface_ip($gateway['interface'], true);
if (is_ipaddrv4($gateway['srcip'])) {
$gwifip = $gateway['srcip'];
} else {
$gwifip = find_interface_ip($gateway['interface'], true);
}
if (!is_ipaddrv4($gwifip))
continue; //Skip this target
......
}
} else if (is_ipaddrv6($gateway['gateway'])) {
/* link locals really need a different src ip */
if(is_linklocal($gateway['gateway'])) {
if (is_ipaddrv6($gateway['srcip'])) {
$gwifip = $gateway['srcip'];
} else if(is_linklocal($gateway['gateway'])) {
$gwifip = find_interface_ipv6_ll($gateway['interface'], true);
} else {
$gwifip = find_interface_ipv6($gateway['interface'], true);
......
$tgtip = get_interface_gateway($realif);
if (!is_ipaddr($tgtip))
$tgtip = "none";
$srcip = find_interface_ip($realif);
if (is_ipaddr($gwitem['srcip'])) {
$srcip = $gwitem['srcip'];
} else {
$srcip = find_interface_ip($realif);
}
} else {
$tgtip = $gwitem['monitorip'];
$srcip = find_interface_ip($realif);
if (is_ipaddr($gwitem['srcip'])) {
$srcip = $gwitem['srcip'];
} else {
$srcip = find_interface_ip($realif);
}
}
if($byname == true)
$target = $gwitem['name'];
(1-1/2)