Hi, this removes a redundant transition to IKEV2_STATE_CLOSING. Right after this state change ikev2_ikesa_delete is called which again sets the state to either IKEV2_STATE_CLOSING or IKEV2_STATE_CLOSED, depending on whether the caller is initiator or not.
Index: sbin/iked/ikev2.c =================================================================== RCS file: /mount/openbsd/cvs/src/sbin/iked/ikev2.c,v retrieving revision 1.168 diff -u -p -u -r1.168 ikev2.c --- sbin/iked/ikev2.c 27 Feb 2019 06:33:56 -0000 1.168 +++ sbin/iked/ikev2.c 11 Apr 2019 14:47:39 -0000 @@ -3301,7 +3301,6 @@ ikev2_init_create_child_sa(struct iked * nsa = sa->sa_nexti; } /* Setup address, socket and NAT information */ - sa_state(env, dsa, IKEV2_STATE_CLOSING); sa_address(dsa, &dsa->sa_peer, &sa->sa_peer.addr); sa_address(dsa, &dsa->sa_local, &sa->sa_local.addr); dsa->sa_fd = sa->sa_fd;