diff --git a/roles/fabric/templates/interfaces.j2 b/roles/fabric/templates/interfaces.j2 index ba69d7b..384992b 100644 --- a/roles/fabric/templates/interfaces.j2 +++ b/roles/fabric/templates/interfaces.j2 @@ -14,11 +14,13 @@ iface {{ iface.name }} vrf mgmt ip-forward off ip6-forward off -{% for ip in iface.ip_addresses | rejectattr('address', 'match', '^fe80::.*/64$' ) %} +{% for ip in iface.ip_addresses %} address {{ ip.address }} -{% endfor %} -{% if iface.custom_fields.gateway %} - gateway {{ iface.custom_fields.gateway.address | ipaddr('address') }} +{% set subnet = ip.address | ipaddr('subnet') %} +{% set prefix = prefixes | selectattr('prefix', '==', subnet) | first %} +{% if prefix.custom_fields.gateway %} + gateway {{ prefix.custom_fields.gateway.address | ipaddr('address') }} {% endif %} +{% endfor %} {% endfor %}