#define ikev2_natt_active(_sa) ((_sa)->natt_state == IKEV2_NATT_ACTIVE)
+typedef struct
+{
+ u16 n_keepalives;
+ u16 n_rekey_req;
+ u16 n_sa_auth_req;
+ u16 n_sa_init_req;
+ u16 n_init_retransmit;
+ u16 n_retransmit;
+} ikev2_stats_t;
+
typedef struct
{
ikev2_state_t state;
/* pending rekeyings */
ikev2_rekey_t *rekey;
+ ikev2_rekey_t *new_child;
+
/* packet data */
u8 *last_sa_init_req_packet_data;
u8 *last_sa_init_res_packet_data;
/* is NAT traversal mode */
ikev2_natt_state_t natt_state;
u8 keys_generated;
+
+ ikev2_stats_t stats;
} ikev2_sa_t;