kernel-netlink: Don't require an interface name for passthrough policies
This commit is contained in:
@@ -2661,8 +2661,9 @@ static void install_route(private_kernel_netlink_ipsec_t *this,
|
|||||||
iface = route->src_ip;
|
iface = route->src_ip;
|
||||||
}
|
}
|
||||||
if (!charon->kernel->get_interface(charon->kernel, iface,
|
if (!charon->kernel->get_interface(charon->kernel, iface,
|
||||||
&route->if_name))
|
&route->if_name) &&
|
||||||
{
|
!route->pass)
|
||||||
|
{ /* don't require an interface for passthrough policies */
|
||||||
route_entry_destroy(route);
|
route_entry_destroy(route);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -585,7 +585,7 @@ static job_requeue_t reinstall_routes(private_kernel_netlink_net_t *this)
|
|||||||
net_change_t *change, lookup = {
|
net_change_t *change, lookup = {
|
||||||
.if_name = route->if_name,
|
.if_name = route->if_name,
|
||||||
};
|
};
|
||||||
if (route->pass)
|
if (route->pass || !route->if_name)
|
||||||
{ /* no need to reinstall these, they don't reference interfaces */
|
{ /* no need to reinstall these, they don't reference interfaces */
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user