Introduce "features" for the kernel backends returning kernel capabilities
[strongswan.git] / src / libhydra / kernel / kernel_net.h
index 6a3b2ce..0d3417f 100644 (file)
@@ -28,6 +28,7 @@ typedef enum kernel_address_type_t kernel_address_type_t;
 #include <collections/enumerator.h>
 #include <networking/host.h>
 #include <plugins/plugin.h>
+#include <kernel/kernel_interface.h>
 
 /**
  * Type of addresses (e.g. when enumerating them)
@@ -56,6 +57,13 @@ enum kernel_address_type_t {
 struct kernel_net_t {
 
        /**
+        * Get the feature set supported by this kernel backend.
+        *
+        * @return                              ORed feature-set of backend
+        */
+       kernel_feature_t (*get_features)(kernel_net_t *this);
+
+       /**
         * Get our outgoing source address for a destination.
         *
         * Does a route lookup to get the source address used to reach dest.