diff options
author | Filip Tehlar <ftehlar@cisco.com> | 2020-02-19 01:03:02 +0000 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2020-02-21 09:56:02 +0000 |
commit | b05249b3b48ec61f5367518c0d0869328010df62 (patch) | |
tree | f1094dd43f397fc05bcdb497dc0b2a7e5e5b2ddc /src/plugins/ikev2 | |
parent | e9a630a5248ee6e234c1bf1fdb2c29fc6239f60d (diff) |
ikev2: cleanup tunnels after subsequent sa-init
Type: fix
Change-Id: I44e51bc37ff43999290d97fceb5f94b7c64041ec
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Diffstat (limited to 'src/plugins/ikev2')
-rw-r--r-- | src/plugins/ikev2/ikev2.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/ikev2/ikev2.c b/src/plugins/ikev2/ikev2.c index 248b6f21e3d..a647784e31c 100644 --- a/src/plugins/ikev2/ikev2.c +++ b/src/plugins/ikev2/ikev2.c @@ -1951,6 +1951,8 @@ ikev2_generate_message (ikev2_sa_t * sa, ike_header_t * ike, void *user) ikev2_payload_add_sa (chain, sa->childs[0].i_proposals); ikev2_payload_add_ts (chain, sa->childs[0].tsi, IKEV2_PAYLOAD_TSI); ikev2_payload_add_ts (chain, sa->childs[0].tsr, IKEV2_PAYLOAD_TSR); + ikev2_payload_add_notify (chain, IKEV2_NOTIFY_MSG_INITIAL_CONTACT, + 0); } else { @@ -3184,6 +3186,7 @@ ikev2_initiate_sa_init (vlib_main_t * vm, u8 * name) sa.state = IKEV2_STATE_SA_INIT; sa.tun_itf = p->tun_itf; sa.is_tun_itf_set = 1; + sa.initial_contact = 1; ikev2_generate_sa_init_data (&sa); ikev2_payload_add_ke (chain, sa.dh_group, sa.i_dh_data); ikev2_payload_add_nonce (chain, sa.i_nonce); @@ -3263,6 +3266,8 @@ ikev2_initiate_sa_init (vlib_main_t * vm, u8 * name) vec_add (sa.childs[0].tsi, &p->loc_ts, 1); vec_add (sa.childs[0].tsr, &p->rem_ts, 1); + ikev2_initial_contact_cleanup (&sa); + /* add SA to the pool */ ikev2_sa_t *sa0 = 0; pool_get (km->sais, sa0); |