From 34d812e03b3e039c69f3b18c098cd924e10551c5 Mon Sep 17 00:00:00 2001 From: Michael Polenchuk Date: Thu, 30 Aug 2018 15:34:59 +0400 Subject: [odl/dpdk] Make dedicated public network scheme In order to avoid TCP connection checksum issue (i.e. TX offloading on ovs bridges) add linux bridge connected with ovs public bridge. Change-Id: I4d266dd92756d5326dfa3d74fe2f376b26415812 Signed-off-by: Michael Polenchuk --- mcp/config/states/networks | 3 +++ .../cluster/mcp-odl-noha/openstack/compute.yml.j2 | 29 +++++++++++++++++++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/mcp/config/states/networks b/mcp/config/states/networks index e9a9f5190..e0d2aeea3 100755 --- a/mcp/config/states/networks +++ b/mcp/config/states/networks @@ -38,3 +38,6 @@ salt -C 'I@nova:controller and *01*' cmd.run ". /root/keystonercv3; \ # Discover compute hosts after they are registered salt -C 'I@nova:controller and *01*' state.sls_id nova_controller_discover_hosts nova + +# Set datapath type to netdev for public bridge +((MCP_DPDK_MODE)) && salt -I 'nova:compute' cmd.run 'ovs-vsctl set bridge br-floating datapath_type=netdev' || /bin/true diff --git a/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j2 index 0eb133329..0ad368611 100644 --- a/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j2 +++ b/mcp/reclass/classes/cluster/mcp-odl-noha/openstack/compute.yml.j2 @@ -39,6 +39,30 @@ parameters: netmask: ${_param:opnfv_net_private_mask} {{ nm.cmp001.nic_private }}: type: dpdk # Not a meaningful type, just match 'dpdk' for filtering + {{ nm.cmp001.nic_public }}: + enabled: true + type: eth + mtu: ${_param:interface_mtu} + proto: manual + br-floating: + enabled: true + type: ovs_bridge + float-to-ex: + enabled: true + type: ovs_port + mtu: ${_param:interface_mtu} + bridge: br-floating + br-ex: + enabled: true + type: bridge + address: ${_param:external_address} + netmask: ${_param:opnfv_net_public_mask} + use_interfaces: + - {{ ma.interface_str(nm.cmp001.nic_public, nm.vlan_public) }} + use_ovs_ports: + - float-to-ex + gateway: ${_param:opnfv_net_public_gw} + name_servers: {{ nm.dns_public }} {%- else %} br-mesh: enabled: true @@ -48,7 +72,6 @@ parameters: netmask: ${_param:opnfv_net_private_mask} use_interfaces: - {{ ma.interface_str(nm.cmp001.nic_private, vlan_private_start) }} -{%- endif %} ovs_port_{{ nm.cmp001.nic_public }}: enabled: true name: {{ ma.interface_str(nm.cmp001.nic_public, nm.vlan_public) }} @@ -61,9 +84,6 @@ parameters: br-floating: enabled: true type: ovs_bridge -{%- if conf.MCP_DPDK_MODE %} - datapath_type: netdev -{%- endif %} proto: static address: ${_param:external_address} netmask: ${_param:opnfv_net_public_mask} @@ -72,3 +92,4 @@ parameters: gateway: ${_param:opnfv_net_public_gw} name_servers: {{ nm.dns_public }} noifupdown: true +{%- endif %} -- cgit 1.2.3-korg