aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/kernel/kernel_interface.h
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2007-06-18 07:25:58 +0000
committerMartin Willi <martin@strongswan.org>2007-06-18 07:25:58 +0000
commit7068410b6f1bc370a6764a5c282d1240eb419aa2 (patch)
treed39a9a942c5400a14d2255ae2060d383fa924118 /src/charon/kernel/kernel_interface.h
parent209c2e9049d2f8ba40afa38e4837f1f8245abfe3 (diff)
downloadstrongswan-7068410b6f1bc370a6764a5c282d1240eb419aa2.tar.bz2
strongswan-7068410b6f1bc370a6764a5c282d1240eb419aa2.tar.xz
source address lookup in kernel interface
use it for NAT detection if no source address known from config support for %any...%any connections
Diffstat (limited to 'src/charon/kernel/kernel_interface.h')
-rw-r--r--src/charon/kernel/kernel_interface.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/charon/kernel/kernel_interface.h b/src/charon/kernel/kernel_interface.h
index ef576b9ef..39eb6d475 100644
--- a/src/charon/kernel/kernel_interface.h
+++ b/src/charon/kernel/kernel_interface.h
@@ -268,6 +268,18 @@ struct kernel_interface_t {
policy_dir_t direction);
/**
+ * @brief Get our outgoing source address for a destination.
+ *
+ * Does a route lookup to get the source address used to reach dest.
+ * The returned host is allocated and must be destroyed.
+ *
+ * @param this calling object
+ * @param dest target destination address
+ * @return outgoing source address, NULL if unreachable
+ */
+ host_t* (*get_source_addr)(kernel_interface_t *this, host_t *dest);
+
+ /**
* @brief Get the interface name of a local address.
*
* @param this calling object