aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/kernel/kernel_interface.h
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2016-06-10 18:15:42 +0200
committerTobias Brunner <tobias@strongswan.org>2016-06-10 18:15:42 +0200
commit96b1fab53ce7f7b4b6c5e2a0bb85c3f3f14be62c (patch)
tree1b19c6494e2142a8faacd3c87c8cb67e67d03fc4 /src/libcharon/kernel/kernel_interface.h
parent436f64d5bcc3946387dd95265d83d8764fe37797 (diff)
parentb52e540f43c8a97ea3343e12a1cc33b6dc3d3fbc (diff)
downloadstrongswan-96b1fab53ce7f7b4b6c5e2a0bb85c3f3f14be62c.tar.bz2
strongswan-96b1fab53ce7f7b4b6c5e2a0bb85c3f3f14be62c.tar.xz
Merge branch 'interface-for-routes'
Changes how the interface for routes installed with policies is determined. In most cases we now use the interface over which we reach the other peer, not the interface on which the local address (or the source IP) is installed. However, that might be the same interface depending on the configuration (i.e. in practice there will often not be a change). Routes are not installed anymore for drop policies and for policies with protocol/port selectors. Fixes #809, #824, #1347.
Diffstat (limited to 'src/libcharon/kernel/kernel_interface.h')
-rw-r--r--src/libcharon/kernel/kernel_interface.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libcharon/kernel/kernel_interface.h b/src/libcharon/kernel/kernel_interface.h
index 50f6d9829..225b40932 100644
--- a/src/libcharon/kernel/kernel_interface.h
+++ b/src/libcharon/kernel/kernel_interface.h
@@ -285,10 +285,12 @@ struct kernel_interface_t {
* @param dest target destination address
* @param prefix prefix length if dest is a subnet, -1 for auto
* @param src source address to check, or NULL
+ * @param[out] iface allocated name of the interface to reach dest, if
+ * available (optional)
* @return next hop address, NULL if unreachable
*/
host_t* (*get_nexthop)(kernel_interface_t *this, host_t *dest,
- int prefix, host_t *src);
+ int prefix, host_t *src, char **iface);
/**
* Get the interface name of a local address. Interfaces that are down or