* Update the router (holding RouterInfo objects) with current data
on update / sync. Since the sync method should reconcile out of
any state, we need to update the RouterInfo we store locally in
the driver to ensure we have not missed e.g. a ha_state_change.
* Consistently use RouterInfo instead of some mix of dict and Router
and RouterInfo.
* Ensure NAT rules are current by using a tag to clean them all and
then re-create the currently required rules before applying them via
iptables manager. This ensures there are no dangling rules or duplicates.
Co-Authored-By: Niklas Schwarz <niklas.schwarz@inovex.de>
Closes-Bug: https://bugs.launchpad.net/neutron/+bug/1943449
Depends-On: https://review.opendev.org/c/openstack/neutron-vpnaas/+/911412
Change-Id: I378ba5a0b500110ce5f9293a885730c0a62578b0