aboutsummaryrefslogtreecommitdiffstats
path: root/src/libipsec/ipsec_policy_mgr.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libipsec/ipsec_policy_mgr.h')
-rw-r--r--src/libipsec/ipsec_policy_mgr.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libipsec/ipsec_policy_mgr.h b/src/libipsec/ipsec_policy_mgr.h
index 0a2f63239..d3ee1074f 100644
--- a/src/libipsec/ipsec_policy_mgr.h
+++ b/src/libipsec/ipsec_policy_mgr.h
@@ -23,6 +23,9 @@
#ifndef IPSEC_POLICY_MGR_H_
#define IPSEC_POLICY_MGR_H_
+#include "ipsec_policy.h"
+#include "ip_packet.h"
+
#include <library.h>
#include <utils/host.h>
#include <utils/linked_list.h>
@@ -90,6 +93,16 @@ struct ipsec_policy_mgr_t {
status_t (*flush_policies)(ipsec_policy_mgr_t *this);
/**
+ * Find the policy that matches the given IP packet best
+ *
+ * @param packet IP packet to match
+ * @param inbound TRUE for an inbound packet
+ * @return reference to the policy, or NULL if none found
+ */
+ ipsec_policy_t *(*find_by_packet)(ipsec_policy_mgr_t *this,
+ ip_packet_t *packet, bool inbound);
+
+ /**
* Destroy an ipsec_policy_mgr_t
*/
void (*destroy)(ipsec_policy_mgr_t *this);