On a peer with no connection-type set, the router starts the tunnel at commit. After reset vpn ipsec site-to-site peer <name> vti it only terminates it:
vyos@prv5565-ref:~$ show configuration commands | grep -c 'PRV5565-B connection-type' 0 vyos@prv5565-ref:~$ reset vpn ipsec site-to-site peer PRV5565-B vti Peer PRV5565-B tunnel vti terminate result: success vyos@prv5565-ref:~$ sudo swanctl --list-sas | grep -cE 'ESTABLISHED|INSTALLED' 1 vyos@prv5565-ref:~$ ip -o link show vti10 | cut -c1-80 29: vti10@NONE: <NOARP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group def
The IKE SA stays, no child SA comes back (checked 30 s later), and vti10 is down. The other end was set to respond only. With connection-type initiate set explicitly, the same reset brings the tunnel back.
Cause: data/templates/ipsec/swanctl/peer.j2 treats an unset connection-type as initiate (start_action = start). reset_peer() in src/op_mode/ipsec.py re-initiates only when connection_type == 'initiate' is present in the config. That check came with T6148 (2024-07-28).
Possible fix (untested): in reset_peer(), also re-initiate when connection_type is absent.