<div dir="ltr"><div><div><div><div><div><div><div>Hi<br><br></div>I was using the make before break feature of strongswan to avoid packet loss in one of our implementation.<br><br></div>We have an ipsec offload hardware that forwards packets encrypted/decrypted using IPSec policies and SAs. <br>These SAs and policies are configured by intercepting the strongswan messages to kernel (via pfkey socket). <br></div>There used to be huge packet loss during rekey because of ike and child SAs tear down before new SAs installed.<br></div><br>make_before_break feature, reduced the packet loss significantly but not avoided it. I saw the following sequence of <br></div>PFKEY messages SADB_ADD(new child SA add), SADB_X_SPDUPDATE (update the policy to new child SA) and <br>SADB_DELETE(delete old child SA). <br><br>The initiator after establishing new CHILD_SA, sending the delete CHILD_SA(old) message to peer and <br>receiving the delete CHILD_SA request from peer. Initiator, even after deleting its CHILD_SA, seeing some in-flight <br>packets from peer encrypted using old child SA there by dropping them. <br><br>How does initiator and responder synchronized in strongswan? Will "make before break" completely avoids the packet loss?<br><br></div>Thanks<br></div>Pradeep.<br></div>