{#- 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_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}
                gateway: ${_param:_esc}{_param:tenant_network_gateway}
                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
