{% set exit = inventory_hostname.split('-')[1]|int %} {% set lo_address = interfaces | selectattr('name', '==', 'lo') | map(attribute='ip_addresses') | first | selectattr('role') | selectattr('role.value', '==', 'loopback') | map(attribute='address') %} {% set ip = lo_address | ipv4 | first %} {% set ip6 = lo_address | ipv6 | first -%} auto inside iface inside vrf-table auto address {{ ip }} address {{ ip6 }} auto outside iface outside vrf-table auto address {{ ip }} address {{ ip6 }} {% for iface in ifaces_firewall %} auto {{ iface }}.2 iface {{ iface }}.2 vrf inside auto {{ iface }}.4 iface {{ iface }}.4 vrf outside {% endfor -%} # Backup firewall routes are exchanged over these subinterfaces. auto peerlink.2 iface peerlink.2 vrf inside auto peerlink.4 iface peerlink.4 vrf outside address {{ "169.254.1.0/24" | ipaddr(exit + 1) }}