{#- Provides:     #}
{#-   br_ctl (linux bridge) + control address #}
{#-   vhost0  #}
{#- Requirements:                     #}
{#-   _param:single_address         #}
{#-   _param:control_vlan           #}
{#-   _param:control_network_netmask         #}
{#-   _param:tenant_vlan           #}
{#-   _param:tenant_address         #}
{#-   _param:tenant_network_netmask         #}
{#-   _param:tenant_network_gateway         #}
{#-   _param:_param:dns_server01         #}
{#-   _param:_param:dns_server02         #}
              # {{ interfaces_role }}
              {%- for interface_name, interface in interfaces.items() %}
              {{ interface_name }}:
                mtu: 9000
                enabled: true
                name: {{ interface_name }}
                proto: manual
                type: eth
                ipflush_onchange: true
              {%- endfor %}
              bond0:
                mtu: 9000
                enabled: true
                mode: active-backup
                proto: manual
                slaves: {{ ' '.join(interfaces.keys()) }}
                type: bond
                use_interfaces:
                {%- for interface_name in interfaces.keys() %}
                - {{ interface_name }}
                {%- endfor %}
                require_interfaces:
                {%- for interface_name in interfaces.keys() %}
                - {{ interface_name }}
                {%- endfor %}

              br_ctl:
                address: ${_param:_esc}{_param:single_address}
                enabled: true
                netmask: ${_param:_esc}{_param:control_network_netmask}
                proto: static
                type: bridge
                use_interfaces:
                - bond0.${_param:_esc}{_param:control_vlan}
                require_interfaces:
                - bond0.${_param:_esc}{_param:control_vlan}
              bond0.control_vlan:
                mtu: 9000
                name: bond0.${_param:_esc}{_param:control_vlan}
                enabled: true
                proto: manual
                type: vlan
                use_interfaces:
                - bond0
                require_interfaces:
                - bond0

              vhost0:
                mtu: 9000
                address: ${_param:_esc}{_param:tenant_address}
                netmask: ${_param:_esc}{_param:tenant_network_netmask}
                enabled: true
                proto: static
                type: eth
                pre_up_cmds:
                - /usr/lib/contrail/if-vhost0
                name_servers:
                - ${_param:_esc}{_param:dns_server01}
                - ${_param:_esc}{_param:dns_server02}
                use_interfaces:
                - bond0.${_param:_esc}{_param:tenant_vlan}
                require_interfaces:
                - bond0.${_param:_esc}{_param:tenant_vlan}
              bond0.tenant_vlan:
                mtu: 9000
                name: bond0.${_param:_esc}{_param:tenant_vlan}
                enabled: true
                proto: manual
                type: vlan
                use_interfaces:
                - bond0
                require_interfaces:
                - bond0
