diff options
author | Martin Klozik <martinx.klozik@intel.com> | 2016-08-26 15:39:29 +0100 |
---|---|---|
committer | Martin Klozik <martinx.klozik@intel.com> | 2016-09-15 14:37:44 +0100 |
commit | 9b1af783ec53050129239102355e1a5c3ceb1d97 (patch) | |
tree | 4a994af7b986af3c72c21c0ac87f398b42a44b74 /conf/02_vswitch.conf | |
parent | acdb444a54124834acdde45107062eaf1452c119 (diff) |
paths: Support binary packages
Currently VSPERF supports OVS, DPDK and QEMU built
from the source code only. In some cases it is required
to support installation of these tools from binary packages
available for given linux distribution. Thus VSPERF
configuration and code was modified to suport both source
and binary versions of tools. This can be configured perf
tool, so various combinations of source and binary version
are supported.
Together with new configuration also a handling of kernel
modules was modified to automatically detect and load module
dependencies.
JIRA: VSPERF-340
JIRA: VSPERF-339
Change-Id: I855cb438cbd8998bdc499613ea5e7de2526299d7
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Bill Michalowski <bmichalo@redhat.com>
Reviewed-by: Otto Sabart <osabart@redhat.com>
Diffstat (limited to 'conf/02_vswitch.conf')
-rw-r--r-- | conf/02_vswitch.conf | 113 |
1 files changed, 73 insertions, 40 deletions
diff --git a/conf/02_vswitch.conf b/conf/02_vswitch.conf index abca63bb..e504d3ad 100644 --- a/conf/02_vswitch.conf +++ b/conf/02_vswitch.conf @@ -13,18 +13,6 @@ # limitations under the License. # ############################ -# Directories -# ############################ -# use DPDK VHOST USER by default -RTE_SDK = RTE_SDK_USER -OVS_DIR = OVS_DIR_USER - -OVS_VAR_DIR = '/usr/local/var/run/openvswitch/' -OVS_ETC_DIR = '/usr/local/etc/openvswitch/' - -VSWITCH_DIR = os.path.join(ROOT_DIR, 'vswitches') - -# ############################ # DPDK configuration # ############################ @@ -38,29 +26,83 @@ RTE_TARGET = 'x86_64-native-linuxapp-gcc' # will be used for testing WHITELIST_NICS = ['0000:05:00.0', '0000:05:00.1'] -# for DPDK_MODULES the path is in reference to the build directory -# To use vfio set -# DPDK_MODULES = [ -# ('vfio-pci'), -# ] -DPDK_MODULES = [ - ('kmod', 'igb_uio'), -] +# vhost character device file used by dpdkvhostport QemuWrap cases +VHOST_DEV_FILE = 'ovs-vhost-net' -VHOST_MODULE = [ - ('eventfd_link', 'eventfd_link') -] +# location of vhost-user sockets relative to 'ovs_var_tmp' +VHOST_USER_SOCKS = 'dpdkvhostuser*' + +# please see conf/00_common.conf for description of PATHS dictionary +PATHS['dpdk'] = { + 'type' : 'src', + 'src': { + 'path': os.path.join(ROOT_DIR, 'src/dpdk/dpdk/'), + # To use vfio set: + # 'modules' : ['uio', 'vfio-pci'], + 'modules' : ['uio', os.path.join(RTE_TARGET, 'kmod/igb_uio.ko')], + 'bind-tool': 'tools/dpdk*bind.py', + 'testpmd': os.path.join(RTE_TARGET, 'app', 'testpmd'), + }, + 'bin': { + 'bind-tool': '/usr/share/dpdk/tools/dpdk*bind.py', + 'modules' : ['uio', 'igb_uio'], + 'testpmd' : 'testpmd' + } + } -# list of modules that will be inserted using 'modprobe' on system init -# To use vfio set -# SYS_MODULES = ['cuse'] -SYS_MODULES = ['uio', 'cuse'] +# ############################ +# Directories +# ############################ +VSWITCH_DIR = os.path.join(ROOT_DIR, 'vswitches') -# vhost character device file used by dpdkvhostport QemuWrap cases -VHOST_DEV_FILE = 'ovs-vhost-net' +# please see conf/00_common.conf for description of PATHS dictionary +# Every vswitch type supported by VSPERF must have its configuration +# stored inside PATHS['vswitch']. List of all supported vswitches +# can be obtained by call of ./vsperf --list-vswitches +# +# Directories defined by "ovs_var_tmp" and "ovs_etc_tmp" will be used +# by OVS to temporarily store its configuration, pid and socket files. +# In case, that these directories exist already, then their original +# content will be restored after the testcase execution. + +PATHS['vswitch'] = { + 'none' : { # used by SRIOV tests + 'type' : 'src', + 'src' : {}, + }, + 'OvsDpdkVhost': { + 'type' : 'src', + 'src': { + 'path': os.path.join(ROOT_DIR, 'src/ovs/ovs/'), + 'ovs-vswitchd': 'vswitchd/ovs-vswitchd', + 'ovsdb-server': 'ovsdb/ovsdb-server', + 'ovsdb-tool': 'ovsdb/ovsdb-tool', + 'ovsschema': 'vswitchd/vswitch.ovsschema', + 'ovs-vsctl': 'utilities/ovs-vsctl', + 'ovs-ofctl': 'utilities/ovs-ofctl', + 'ovs-dpctl': 'utilities/ovs-dpctl', + 'ovs-appctl': 'utilities/ovs-appctl', + }, + 'bin': { + 'ovs-vswitchd': 'ovs-vswitchd', + 'ovsdb-server': 'ovsdb-server', + 'ovsdb-tool': 'ovsdb-tool', + 'ovsschema': '/usr/share/openvswitch/vswitch.ovsschema', + 'ovs-vsctl': 'ovs-vsctl', + 'ovs-ofctl': 'ovs-ofctl', + 'ovs-dpctl': 'ovs-dpctl', + 'ovs-appctl': 'ovs-appctl', + } + }, + 'ovs_var_tmp': '/usr/local/var/run/openvswitch/', + 'ovs_etc_tmp': '/usr/local/etc/openvswitch/', +} -# location of vhost-user sockets -VHOST_USER_SOCKS = os.path.join(OVS_VAR_DIR, 'dpdkvhostuser*') +# default OvsVanilla configuration is similar to OvsDpdkVhost except 'path' and 'modules' +PATHS['vswitch'].update({'OvsVanilla' : copy.deepcopy(PATHS['vswitch']['OvsDpdkVhost'])}) +PATHS['vswitch']['OvsVanilla']['src']['path'] = os.path.join(ROOT_DIR, 'src_vanilla/ovs/ovs/') +PATHS['vswitch']['OvsVanilla']['src']['modules'] = ['datapath/linux/openvswitch.ko'] +PATHS['vswitch']['OvsVanilla']['bin']['modules'] = ['openvswitch'] # ############################ # vswitch configuration @@ -93,9 +135,6 @@ OVS_OLD_STYLE_MQ = False # parameters passed to ovs-vswitchd in case that OvsVanilla is selected VSWITCHD_VANILLA_ARGS = [] -# use full module path to load module matching OVS version built from the source -VSWITCH_VANILLA_KERNEL_MODULES = ['libcrc32c', 'ip_tunnel', 'vxlan', 'gre', 'nf_conntrack', 'nf_defrag_ipv4', 'nf_defrag_ipv6', os.path.join(OVS_DIR_VANILLA, 'datapath/linux/openvswitch.ko')] - # Bridge name to be used by VSWTICH VSWITCH_BRIDGE_NAME = 'br0' @@ -114,12 +153,6 @@ VSWITCH_AFFINITIZATION_ON = 1 VSWITCH_FLOW_TIMEOUT = '30000' -# list of tuples of format (path, module_name), which will be inserted -# using 'insmod' on system init - -# for OVS modules the path is in reference to the OVS directory. -OVS_MODULES = [] - # log file for ovs-vswitchd LOG_FILE_VSWITCHD = 'vswitchd.log' |