X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=conf%2F02_vswitch.conf;h=2ca7591c4d4dd0d850112f9ee56b6bd85d93827a;hb=ba2f894bbcc1d303cf5895512ac7eff0524d9d69;hp=abca63bbf7e501f4507e1fd3a821ede929885dfa;hpb=8363f8c6387449186b5656af5a5fc44bedc906b1;p=vswitchperf.git diff --git a/conf/02_vswitch.conf b/conf/02_vswitch.conf index abca63bb..2ca7591c 100644 --- a/conf/02_vswitch.conf +++ b/conf/02_vswitch.conf @@ -12,17 +12,8 @@ # See the License for the specific language governing permissions and # 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') +# OVS Command timeout for execution of commands. +OVS_CMD_TIMEOUT = 10 # ############################ # DPDK configuration @@ -32,35 +23,93 @@ VSWITCH_DIR = os.path.join(ROOT_DIR, 'vswitches') 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, +# e.g. WHITELIST_NICS = ['05:00.0', '05:00.1'] +# NIC HWIDs for given network device name can be retrieved +# by call of ehtool: +# e.g. ethtool -i eth0 +# In case of NIC with SRIOV support, 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 modules that will be inserted using 'modprobe' on system init -# To use vfio set -# SYS_MODULES = ['cuse'] -SYS_MODULES = ['uio', 'cuse'] +WHITELIST_NICS = [] # vhost character device file used by dpdkvhostport QemuWrap cases VHOST_DEV_FILE = 'ovs-vhost-net' -# location of vhost-user sockets -VHOST_USER_SOCKS = os.path.join(OVS_VAR_DIR, 'dpdkvhostuser*') +# 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' + } + } + +# ############################ +# Directories +# ############################ +VSWITCH_DIR = os.path.join(ROOT_DIR, 'vswitches') + +# 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/', +} + +# 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 @@ -70,6 +119,7 @@ VHOST_USER_SOCKS = os.path.join(OVS_VAR_DIR, 'dpdkvhostuser*') # # parameters used for legacy DPDK configuration through '--dpdk' option of ovs-vswitchd # e.g. ovs-vswitchd --dpdk --socket-mem 1024,0 +# This config line is also used for pkt_fwd option (TestPMD phy2phy and pvp tests) VSWITCHD_DPDK_ARGS = ['-c', '0x4', '-n', '4', '--socket-mem 1024,0'] # options used for new type of OVS configuration via calls to ovs-vsctl @@ -93,9 +143,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 +161,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'