[agent]
{% if neutron_agent_extensions %}
extensions = {{ neutron_agent_extensions|map(attribute='name')|join(',') }}
{% endif %}

[linux_bridge]
{% if inventory_hostname in groups["network"] or (inventory_hostname in groups["compute"] and computes_need_external_bridge | bool ) %}
physical_interface_mappings = {% for interface in neutron_external_interface.split(',') %}physnet{{ loop.index0 + 1 }}:{{ interface }}{% if not loop.last %},{% endif %}{% endfor %}
{% endif %}

[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

[vxlan]
l2_population = true
local_ip = {{ tunnel_interface_address }}

{% if enable_neutron_sriov | bool %}
[FDB]
# Allows instances using sriov ports to communicate with instances that do not.
# See https://docs.openstack.org/neutron/latest/admin/config-sriov.html
shared_physical_device_mappings = {{ neutron_sriov_physnets }}
{% endif %}
