kernel-pfkey: Don't install exclude routes for locally connected peers
Such routes with a gateway that equals the peer's address are problematic on FreeBSD. And since there is most likely a narrow route for the local subnet anyway, the exclude routes would be redundant.
This commit is contained in:
@@ -2339,7 +2339,12 @@ static void add_exclude_route(private_kernel_pfkey_ipsec_t *this,
|
|||||||
{
|
{
|
||||||
char *if_name = NULL;
|
char *if_name = NULL;
|
||||||
|
|
||||||
if (charon->kernel->get_interface(charon->kernel, src, &if_name) &&
|
if (gtw->ip_equals(gtw, dst))
|
||||||
|
{
|
||||||
|
DBG1(DBG_KNL, "not installing exclude route for directly "
|
||||||
|
"connected peer %H", dst);
|
||||||
|
}
|
||||||
|
else if (charon->kernel->get_interface(charon->kernel, src, &if_name) &&
|
||||||
charon->kernel->add_route(charon->kernel,
|
charon->kernel->add_route(charon->kernel,
|
||||||
dst->get_address(dst),
|
dst->get_address(dst),
|
||||||
dst->get_family(dst) == AF_INET ? 32 : 128,
|
dst->get_family(dst) == AF_INET ? 32 : 128,
|
||||||
|
|||||||
Reference in New Issue
Block a user