cache keys for in and outbound ESP SAs

removed redundant storing of traffic selectors in CHILD_SA (sa_policy_t)
creating TS pairs dynamically using create_policy_enumerator()
This commit is contained in:
Martin Willi
2008-10-15 12:24:44 +00:00
parent 35379b2130
commit 1df106bf39
4 changed files with 241 additions and 202 deletions
+11 -2
View File
@@ -156,8 +156,10 @@ struct child_sa_t {
* @param use_fwd time when last traffic was getting forwarded
*/
void (*get_stats)(child_sa_t *this, ipsec_mode_t *mode,
encryption_algorithm_t *encr, chunk_t *encr_key,
integrity_algorithm_t *int_algo, chunk_t *int_key,
encryption_algorithm_t *encr,
chunk_t *encr_key_in, chunk_t *encr_key_out,
integrity_algorithm_t *int_algo,
chunk_t *int_key_in, chunk_t *int_key_out,
u_int32_t *rekey, u_int32_t *use_in, u_int32_t *use_out,
u_int32_t *use_fwd);
@@ -235,6 +237,13 @@ struct child_sa_t {
*/
linked_list_t* (*get_traffic_selectors) (child_sa_t *this, bool local);
/**
* Create an enumerator over installed policies.
*
* @return enumerator over pairs of traffic selectors.
*/
enumerator_t* (*create_policy_enumerator)(child_sa_t *this);
/**
* Get the time of this child_sa_t's last use (i.e. last use of any of its policies)
*