Enabling extra bridge for native external network
[apex.git] / build / nics-template.yaml.jinja2
index c7d0a1b..b1069d2 100644 (file)
@@ -87,7 +87,11 @@ resources:
             -
             {%- if not nets['external'][0]['enabled'] or nets['tenant']['nic_mapping'][role]['vlan'] is number or nets['storage']['nic_mapping'][role]['vlan'] is number or nets['api']['nic_mapping'][role]['vlan'] is number or  nets['external'][0]['nic_mapping'][role]['vlan'] is number %}
               type: ovs_bridge
+            {%- if nets['external'][0]['enabled'] and nets['external'][0]['nic_mapping'][role]['vlan'] == 'native' %}
+              name: br-isolated
+            {%- else %}
               name: {get_input: bridge_name}
+            {%- endif %}
               members:
                 -
                   type: interface
@@ -131,8 +135,17 @@ resources:
                       ip_netmask: {get_param: InternalApiIpSubnet}
                 {%- endif %}
             {%- else %}
-              type: interface
+              type: {{ nets['admin']['nic_mapping'][role]['phys_type'] }}
+              {%- if nets['admin']['nic_mapping'][role]['phys_type'] == 'linux_bridge' %}
+              name: br-ctlplane
+              members:
+                -
+                  type: interface
+                  name: {{ nets['admin']['nic_mapping'][role]['members'][0] }}
+                  primary: true
+              {%- else %}
               name: {{ nets['admin']['nic_mapping'][role]['members'][0] }}
+              {%- endif %}
             {%- endif %}
               use_dhcp: false
               dns_servers: {get_param: DnsServers}
@@ -156,7 +169,7 @@ resources:
             {%- if nets['tenant']['enabled'] and nets['tenant']['nic_mapping'][role]['vlan'] == 'native' %}
             {%- if ovs_dpdk_bridge == 'br-phy' and role == 'compute' %}
             -
-              type: ovs_bridge
+              type: ovs_user_bridge
               name: {{ ovs_dpdk_bridge }}
               use_dhcp: false
               addresses:
@@ -164,28 +177,38 @@ resources:
                   ip_netmask: {get_param: TenantIpSubnet}
               members:
                 -
-                  type: interface
-                  name: {{ nets['tenant']['nic_mapping'][role]['members'][0] }}
-                  # force the MAC address of the bridge to this interface
-                  primary: true
-            -
-              type: ovs_bridge
-              name: br-tun
-              use_dhcp: false
+                  type: ovs_dpdk_port
+                  name: dpdk0
+                  driver: {{ nets['tenant']['nic_mapping'][role]['uio_driver'] }}
+                  members:
+                    -
+                      type: interface
+                      name: {{ nets['tenant']['nic_mapping'][role]['members'][0] }}
+                      # force the MAC address of the bridge to this interface
+                      primary: true
             {%- else %}
             -
-              type: interface
+              type: {{ nets['tenant']['nic_mapping'][role]['phys_type'] }}
               name: {{ nets['tenant']['nic_mapping'][role]['members'][0] }}
+              {%- if 'uio-driver' in nets['tenant']['nic_mapping'][role] %}
+              uio_driver: {{ nets['tenant']['nic_mapping'][role]['uio-driver'] }}
+              {%- endif %}
+              {%- if 'interface-options' in nets['tenant']['nic_mapping'][role] %}
+              options: '{{ nets['tenant']['nic_mapping'][role]['interface-options'] }}'
+              {%- endif %}
               use_dhcp: false
               addresses:
                 -
                   ip_netmask: {get_param: TenantIpSubnet}
             {%- endif %}
             {%- endif %}
-            {%- if nets['external'][0]['enabled'] and external_net_type == 'interface' and nets['external'][0]['nic_mapping'][role]['vlan'] == 'native' %}
+            {%- if nets['external'][0]['enabled'] and external_net_type != 'br-ex' and nets['external'][0]['nic_mapping'][role]['vlan'] == 'native' %}
             -
-              type: interface
+              type: {{ nets['external'][0]['nic_mapping'][role]['phys_type'] }}
               name: {{ nets['external'][0]['nic_mapping'][role]['members'][0] }}
+              {%- if 'uio-driver' in nets['external'][0]['nic_mapping'][role] %}
+              uio_driver: {{ nets['external'][0]['nic_mapping'][role]['uio-driver'] }}
+              {%- endif %}
               {%- if role == 'controller' %}
               dns_servers: {get_param: DnsServers}
               {%- endif %}
@@ -202,7 +225,11 @@ resources:
                   next_hop: {get_param: ExternalInterfaceDefaultRoute}
             {%- elif nets['external'][0]['enabled'] and external_net_type == 'br-ex' and nets['external'][0]['nic_mapping'][role]['vlan'] == 'native' %}
             -
+              {%- if ovs_dpdk_bridge == 'br-phy' and role == 'compute' %}
+              type: ovs_user_bridge
+              {%- else %}
               type: ovs_bridge
+              {%- endif %}
               name: {get_input: bridge_name}
               use_dhcp: false
               members: