<div dir="ltr">The code currently works like this:<div>- initiator IKE SA creates CHILD SA and switches to it</div><div>- initiator CHILD SA sends IKE AUTH request</div><div>- initiator sprinkles timers such as retransmit and expire over IKE and CHILD SAs</div><div>time passes</div><div>- responder sends back an AUTH rejection (doesn't really matter what, just not a child rejection)</div><div>- rejection is passed to CHILD SA (see switch above)</div><div>- child SA returns FAIL and is deleted</div><div> time passes</div><div>- ike IKE SA gets a timer event and that triggers a retry</div><div><br></div><div>Now, if the code is changed so that the IKE SA initiator is in control, the rejection goes to the IKE SA, and it is the IKE SA that gets deleted.  This triggers an immediate retry.</div><div><br></div><div>Should it?  I tend to suspect it shouldn't (back off) and the current behaviour was somewhat intentional.  If that's the case then what configuration knob should control it?</div><div><br></div><div><br></div></div>