aboutsummaryrefslogtreecommitdiffstats
path: root/src/libipsec/ipsec_policy_mgr.h
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2012-07-13 15:18:07 +0200
committerTobias Brunner <tobias@strongswan.org>2012-08-08 15:41:03 +0200
commit2e1a19136d8123e5a8c9aa99afbb4a51d92ec2a6 (patch)
tree9488d7e0e43cafe3bd7aa5a9f93af9f88eca7244 /src/libipsec/ipsec_policy_mgr.h
parent2dd47c244275abc43a597b50b95a792d1aecc3cd (diff)
downloadstrongswan-2e1a19136d8123e5a8c9aa99afbb4a51d92ec2a6.tar.bz2
strongswan-2e1a19136d8123e5a8c9aa99afbb4a51d92ec2a6.tar.xz
IPsec policies can be looked up based on an IP packet
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);