kernel-netlink: Use kernel-based route lookup if we do not install routes
authorMartin Willi <martin@strongswan.org>
Thu, 19 Jan 2017 10:03:55 +0000 (11:03 +0100)
committerMartin Willi <martin@strongswan.org>
Mon, 13 Feb 2017 14:11:20 +0000 (15:11 +0100)
commit558691b3b04b82db56a1522360e62bbd6547aa26
treefe3530678edd55e1cd3b80f8c8c8dabe4036ef07
parent72547830fbf583aafdaf7bc045c9a818e90c93eb
kernel-netlink: Use kernel-based route lookup if we do not install routes

For gateways with many connections, installing routes is often disabled,
as we can use a static route configuration to achieve proper routing with
a single rule. If this is the case, there is no need to dump all routes and
do userspace route lookups, as there is no need to exclude routes we installed
ourself.

Doing kernel-based route lookups is not only faster with may routes, but also
can use the full power of Linux policy based routing; something we can hardly
rebuild in userspace when calculating routes.
src/libcharon/plugins/kernel_netlink/kernel_netlink_net.c