aboutsummaryrefslogtreecommitdiffstats
path: root/src/libhydra/kernel/kernel_ipsec.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2011-10-13 11:22:03 +0200
committerMartin Willi <martin@revosec.ch>2011-10-14 10:05:47 +0200
commit29d30991f3417c7fe827c1fb9429c2be0e59cec8 (patch)
tree6d63c1749af80346e4c1b8390f6b55151ef9811b /src/libhydra/kernel/kernel_ipsec.c
parent036b88ec76e18ecf6be894d3cdb510a10715118a (diff)
downloadstrongswan-29d30991f3417c7fe827c1fb9429c2be0e59cec8.tar.bz2
strongswan-29d30991f3417c7fe827c1fb9429c2be0e59cec8.tar.xz
Added kernel_ipsec/net plugin feature loading callbacks
Diffstat (limited to 'src/libhydra/kernel/kernel_ipsec.c')
-rw-r--r--src/libhydra/kernel/kernel_ipsec.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/libhydra/kernel/kernel_ipsec.c b/src/libhydra/kernel/kernel_ipsec.c
index 9035196b7..9b38297cc 100644
--- a/src/libhydra/kernel/kernel_ipsec.c
+++ b/src/libhydra/kernel/kernel_ipsec.c
@@ -15,6 +15,8 @@
#include "kernel_ipsec.h"
+#include <hydra.h>
+
ENUM(ipsec_mode_names, MODE_TRANSPORT, MODE_DROP,
"TRANSPORT",
"TUNNEL",
@@ -37,3 +39,21 @@ ENUM(ipcomp_transform_names, IPCOMP_NONE, IPCOMP_LZJH,
"IPCOMP_LZJH"
);
+/**
+ * See header
+ */
+bool kernel_ipsec_register(plugin_t *plugin, plugin_feature_t *feature,
+ bool reg, void *data)
+{
+ if (reg)
+ {
+ hydra->kernel_interface->add_ipsec_interface(hydra->kernel_interface,
+ (kernel_ipsec_constructor_t)data);
+ }
+ else
+ {
+ hydra->kernel_interface->remove_ipsec_interface(hydra->kernel_interface,
+ (kernel_ipsec_constructor_t)data);
+ }
+ return TRUE;
+}