ri.perform_snat_action(self._handle_router_snat_rules,
internal_cidrs, interface_name)
- # Process DNAT rules for floating IPs
+ # Process SNAT/DNAT rules for floating IPs
if ex_gw_port:
- self.process_router_floating_ips(ri, ex_gw_port)
+ self.process_router_floating_ip_nat_rules(ri)
ri.ex_gw_port = ex_gw_port
- ri.enable_snat = ri.router.get('enable_snat')
self.routes_updated(ri)
ri.iptables_manager.defer_apply_off()
+ # Once NAT rules for floating IPs are safely in place
+ # configure their addresses on the external gateway port
+ if ex_gw_port:
+ self.process_router_floating_ip_addresses(ri, ex_gw_port)
def _handle_router_snat_rules(self, ri, ex_gw_port, internal_cidrs,
interface_name, action):