X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=conf%2F02_vswitch.conf;h=79f0afbd0ede4ad5c4df2d47d0bcafbd2a60fbc4;hb=5109fb49432be5bb0075b6b55e8b5304fa6172be;hp=32f4c0e1b35be28faa733a54e3f8fcb87681c29b;hpb=89e23da8e473387b2e6cb37a2b882d2d3c68655c;p=vswitchperf.git diff --git a/conf/02_vswitch.conf b/conf/02_vswitch.conf index 32f4c0e1..79f0afbd 100644 --- a/conf/02_vswitch.conf +++ b/conf/02_vswitch.conf @@ -1,4 +1,4 @@ -# Copyright 2015 Intel Corporation. +# Copyright 2015-2016 Intel Corporation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,34 +13,86 @@ # limitations under the License. # ############################ -# vswitch configuration +# Directories # ############################ -RTE_SDK = '~/dpdk' -OVS_DIR = '~/openvswitch' +# 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 # ############################ # DPDK target used when builing DPDK -RTE_TARGET = 'x86_64-ivshmem-linuxapp-gcc' +RTE_TARGET = 'x86_64-native-linuxapp-gcc' + +# list of NIC HWIDs to which traffic generator is connected +# In case of NIC with SRIOV suport, it is possible to define, +# which virtual function should be used +# e.g. value '0000:05:00.0|vf1' will configure two VFs and second VF +# 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_MODULE = [ + ('eventfd_link', 'eventfd_link') +] -# list of NIC HWIDs which will be bound to the 'igb_uio' driver on -# system init -WHITELIST_NICS = ['05:00.0', '05:00.1'] +# list of modules that will be inserted using 'modprobe' on system init +# To use vfio set +# SYS_MODULES = ['cuse'] +SYS_MODULES = ['uio', 'cuse'] -# list of NIC HWIDs which will be ignored by the 'igb_uio' driver on -# system init -BLACKLIST_NICS = ['0000:09:00.0', '0000:09:00.1', '0000:09:00.2', - '0000:09:00.3'] +# vhost character device file used by dpdkvhostport QemuWrap cases +VHOST_DEV_FILE = 'ovs-vhost-net' +# location of vhost-user sockets +VHOST_USER_SOCKS = ['/tmp/dpdkvhostuser0', '/tmp/dpdkvhostuser1', + '/tmp/dpdkvhostuser2', '/tmp/dpdkvhostuser3', + '/tmp/myport0', '/tmp/helloworld123', '/tmp/abcstuff0'] + +# ############################ +# vswitch configuration +# ############################ # These are DPDK EAL parameters and they may need to be changed depending on # hardware configuration, like cpu numbering and NUMA. +# +# parameters used for legacy DPDK configuration through '--dpdk' option of ovs-vswitchd +# e.g. ovs-vswitchd --dpdk --socket-mem 1024,0 VSWITCHD_DPDK_ARGS = ['-c', '0x4', '-n', '4', '--socket-mem 1024,0'] -VSWITCHD_VANILLA_ARGS = ['--pidfile'] -VSWITCH_VANILLA_PHY_PORT_NAMES = ['', ''] -VSWITCH_VANILLA_KERNEL_MODULES = ['openvswitch'] +# options used for new type of OVS configuration via calls to ovs-vsctl +# e.g. ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem="1024,0" +VSWITCHD_DPDK_CONFIG = { + 'dpdk-init' : 'true', + 'dpdk-lcore-mask' : '0x4', + 'dpdk-socket-mem' : '1024,0', +} +# Note: VSPERF will automatically detect, which type of DPDK configuration should +# be used. + +# To enable multi queue modify the below param to the number of queues. +# 0 = disabled +VSWITCH_MULTI_QUEUES = 0 + +# 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' @@ -48,8 +100,9 @@ VSWITCH_BRIDGE_NAME = 'br0' # directory where hugepages will be mounted on system init HUGEPAGE_DIR = '/dev/hugepages' -# Sets OVS PMDs core mask to 0x30 for affinitization to 5th and 6th CPU core -VSWITCH_PMD_CPU_MASK = '0x30' +# Sets OVS PMDs core mask to 30 for affinitization to 5th and 6th CPU core. +# Note that the '0x' notation should not be used. +VSWITCH_PMD_CPU_MASK = '30' VSWITCH_AFFINITIZATION_ON = 1 VSWITCH_FLOW_TIMEOUT = '30000' @@ -60,35 +113,11 @@ VSWITCH_FLOW_TIMEOUT = '30000' # for OVS modules the path is in reference to the OVS directory. OVS_MODULES = [] -# for DPDK_MODULES the path is in reference to the build directory -DPDK_MODULES = [ - ('kmod', 'igb_uio'), -] - -VHOST_MODULE = [ - ('eventfd_link', 'eventfd_link') -] - -# list of modules that will be inserted using 'modprobe' on system init -SYS_MODULES = ['uio', 'cuse'] - -# vhost character device file used by dpdkvhostport QemuWrap cases -VHOST_DEV_FILE = 'ovs-vhost-net' - -# location of vhost-user sockets -VHOST_USER_SOCKS = ['/tmp/dpdkvhostuser0', '/tmp/dpdkvhostuser1', - '/tmp/dpdkvhostuser2', '/tmp/dpdkvhostuser3', - '/tmp/myport0', '/tmp/helloworld123', '/tmp/abcstuff0'] - # log file for ovs-vswitchd LOG_FILE_VSWITCHD = 'vswitchd.log' # log file for ovs-dpdk LOG_FILE_OVS = 'ovs.log' -VSWITCH_DIR = os.path.join(ROOT_DIR, 'vswitches') +# default vswitch implementation VSWITCH = "OvsDpdkVhost" - -# Use vhost user or vhost cuse -# Set to cuse if you want to test vhostcuse -VHOST_METHOD = 'user'