Merge "pkt_gen: Moongen class name not consistent with name in conf files"
[vswitchperf.git] / conf / 02_vswitch.conf
index 32f4c0e..79f0afb 100644 (file)
@@ -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.
 # 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'