Remove policies in kernel interfaces based on their priority.
[strongswan.git] / src / libcharon / plugins / load_tester / load_tester_ipsec.c
index 819f106..f76f298 100644 (file)
@@ -36,7 +36,7 @@ struct private_load_tester_ipsec_t {
 
 METHOD(kernel_ipsec_t, get_spi, status_t,
           private_load_tester_ipsec_t *this, host_t *src, host_t *dst,
-          protocol_id_t protocol, u_int32_t reqid, u_int32_t *spi)
+          u_int8_t protocol, u_int32_t reqid, u_int32_t *spi)
 {
        *spi = ++this->spi;
        return SUCCESS;
@@ -51,17 +51,17 @@ METHOD(kernel_ipsec_t, get_cpi, status_t,
 
 METHOD(kernel_ipsec_t, add_sa, status_t,
           private_load_tester_ipsec_t *this, host_t *src, host_t *dst,
-          u_int32_t spi, protocol_id_t protocol, u_int32_t reqid, mark_t mark,
-          lifetime_cfg_t *lifetime, u_int16_t enc_alg, chunk_t enc_key,
+          u_int32_t spi, u_int8_t protocol, u_int32_t reqid, mark_t mark,
+          u_int32_t tfc, lifetime_cfg_t *lifetime, u_int16_t enc_alg, chunk_t enc_key,
           u_int16_t int_alg, chunk_t int_key, ipsec_mode_t mode, u_int16_t ipcomp,
-          u_int16_t cpi, bool encap, bool inbound, traffic_selector_t *src_ts,
-          traffic_selector_t *dst_ts)
+          u_int16_t cpi, bool encap, bool esn, bool inbound,
+          traffic_selector_t *src_ts, traffic_selector_t *dst_ts)
 {
        return SUCCESS;
 }
 
 METHOD(kernel_ipsec_t, update_sa, status_t,
-          private_load_tester_ipsec_t *this, u_int32_t spi, protocol_id_t protocol,
+          private_load_tester_ipsec_t *this, u_int32_t spi, u_int8_t protocol,
           u_int16_t cpi, host_t *src, host_t *dst, host_t *new_src,
           host_t *new_dst, bool encap, bool new_encap, mark_t mark)
 {
@@ -70,14 +70,14 @@ METHOD(kernel_ipsec_t, update_sa, status_t,
 
 METHOD(kernel_ipsec_t, query_sa, status_t,
           private_load_tester_ipsec_t *this, host_t *src, host_t *dst,
-          u_int32_t spi, protocol_id_t protocol, mark_t mark, u_int64_t *bytes)
+          u_int32_t spi, u_int8_t protocol, mark_t mark, u_int64_t *bytes)
 {
        return NOT_SUPPORTED;
 }
 
 METHOD(kernel_ipsec_t, del_sa, status_t,
           private_load_tester_ipsec_t *this, host_t *src, host_t *dst,
-          u_int32_t spi, protocol_id_t protocol, u_int16_t cpi, mark_t mark)
+          u_int32_t spi, u_int8_t protocol, u_int16_t cpi, mark_t mark)
 {
        return SUCCESS;
 }
@@ -85,9 +85,8 @@ METHOD(kernel_ipsec_t, del_sa, status_t,
 METHOD(kernel_ipsec_t, add_policy, status_t,
           private_load_tester_ipsec_t *this, host_t *src, host_t *dst,
           traffic_selector_t *src_ts, traffic_selector_t *dst_ts,
-          policy_dir_t direction, u_int32_t spi, protocol_id_t protocol,
-          u_int32_t reqid, mark_t mark, ipsec_mode_t mode, u_int16_t ipcomp,
-          u_int16_t cpi, bool routed)
+          policy_dir_t direction, policy_type_t type, ipsec_sa_cfg_t *sa,
+          mark_t mark, policy_priority_t priority)
 {
        return SUCCESS;
 }
@@ -97,18 +96,24 @@ METHOD(kernel_ipsec_t, query_policy, status_t,
           traffic_selector_t *dst_ts, policy_dir_t direction, mark_t mark,
           u_int32_t *use_time)
 {
-       *use_time = time_monotonic(NULL);
+       *use_time = 1;
        return SUCCESS;
 }
 
 METHOD(kernel_ipsec_t, del_policy, status_t,
           private_load_tester_ipsec_t *this, traffic_selector_t *src_ts,
-          traffic_selector_t *dst_ts, policy_dir_t direction, mark_t mark,
-          bool unrouted)
+          traffic_selector_t *dst_ts, policy_dir_t direction, u_int32_t reqid,
+          mark_t mark, policy_priority_t priority)
 {
        return SUCCESS;
 }
 
+METHOD(kernel_ipsec_t, bypass_socket, bool,
+       private_load_tester_ipsec_t *this, int fd, int family)
+{
+       return TRUE;
+}
+
 METHOD(kernel_ipsec_t, destroy, void,
           private_load_tester_ipsec_t *this)
 {
@@ -134,6 +139,7 @@ load_tester_ipsec_t *load_tester_ipsec_create()
                                .add_policy = _add_policy,
                                .query_policy = _query_policy,
                                .del_policy = _del_policy,
+                               .bypass_socket = _bypass_socket,
                                .destroy = _destroy,
                        },
                },