trafficgen: Postponed call of connect()
[vswitchperf.git] / conf / 02_vswitch.conf
index f9b8f95..6a830a0 100644 (file)
@@ -23,11 +23,21 @@ OVS_CMD_TIMEOUT = 10
 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']
+WHITELIST_NICS = []
+
+# List defines an amount of memory to be allocated by DPDK at NUMA nodes. This
+# option is shared by all vSwitches with DPDK support. In case, that there is
+# a socket-mem configuration specified in vSwitch specific configuration option,
+# then it will be overridden by DPDK_SOCKET_MEM value.
+DPDK_SOCKET_MEM = ['1024', '0']
 
 # vhost character device file used by dpdkvhostport QemuWrap cases
 VHOST_DEV_FILE = 'ovs-vhost-net'
@@ -43,7 +53,7 @@ PATHS['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',
+            'bind-tool': '*tools/dpdk*bind.py',
             'testpmd': os.path.join(RTE_TARGET, 'app', 'testpmd'),
         },
         'bin': {
@@ -99,6 +109,20 @@ PATHS['vswitch'] = {
     },
     'ovs_var_tmp': '/usr/local/var/run/openvswitch/',
     'ovs_etc_tmp': '/usr/local/etc/openvswitch/',
+    'VppDpdkVhost': {
+        'type' : 'src',
+        'src': {
+            'path': os.path.join(ROOT_DIR, 'src/vpp/vpp/build-root/install-vpp-native/vpp'),
+            'vpp': 'bin/vpp',
+            'vppctl': 'bin/vppctl',
+            'vpp_plugin_path' : 'lib64/vpp_plugins',
+        },
+        'bin': {
+            'vpp': 'vpp',
+            'vppctl': 'vppctl',
+            'vpp_plugin_path' : '/usr/lib/vpp_plugins',
+        }
+    },
 }
 
 # default OvsVanilla configuration is similar to OvsDpdkVhost except 'path' and 'modules'
@@ -112,21 +136,30 @@ PATHS['vswitch']['OvsVanilla']['bin']['modules'] = ['openvswitch']
 # ############################
 # 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']
+# This config line is also used for pkt_fwd option (TestPMD phy2phy and pvp tests)
+# NOTE: DPDK socket mem allocation is driven by parameter DPDK_SOCKET_MEM
+VSWITCHD_DPDK_ARGS = ['-c', '0x4', '-n', '4']
 
 # 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"
+# NOTE: DPDK socket mem allocation is driven by parameter DPDK_SOCKET_MEM
 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.
 
+# Defines if VSWITCH should be a server for sockets of DPDK vhost-user
+# interfaces (True) or not (False). Support of vhost user server mode
+# in Open vSwitch is deprecated and will be removed in future releases.
+# Note: Qemu 2.7 and newer is required to support settings
+# VSWITCH_VHOSTUSER_SERVER_MODE = False
+VSWITCH_VHOSTUSER_SERVER_MODE = True
+
 # To enable multi queue with dpdk modify the below param to the number of
 # queues for dpdk. 0 = disabled
 VSWITCH_DPDK_MULTI_QUEUES = 0
@@ -164,3 +197,35 @@ LOG_FILE_OVS = 'ovs.log'
 
 # default vswitch implementation
 VSWITCH = "OvsDpdkVhost"
+
+VSWITCH_JUMBO_FRAMES_ENABLED = False
+VSWITCH_JUMBO_FRAMES_SIZE = 9000
+
+#########################
+## VPP
+#########################
+# Set of arguments used for startup of VPP
+# NOTE: DPDK socket mem allocation is driven by parameter DPDK_SOCKET_MEM
+VSWITCH_VPP_CLI_SOCK = ''
+VSWITCH_VPP_ARGS = {
+    'unix' : [
+        'interactive',      # required by VSPERF to detect successful VPP startup
+        'log /tmp/vpp.log',
+        'full-coredump',
+    ],
+    'cpu' : [
+        'main-core 2',
+        'workers 2',
+        'corelist-workers 4,5',
+    ],
+}
+
+# log file for VPP
+LOG_FILE_VPP = 'vsperf-vpp.log'
+
+# Select l2 connection method used by VPP.
+# Supported values are: 'xconnect', 'l2patch' and 'bridge'
+VSWITCH_VPP_L2_CONNECT_MODE = 'xconnect'
+
+# Options used during creation of dpdkvhostuser interface
+VSWITCH_VPP_VHOSTUSER_ARGS = ['feature-mask',  '0xFF']