X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=conf%2F02_vswitch.conf;h=84ef71cb014b0e6b42c8121f38c6beec5e3d34a7;hb=755894494dc58e093d7376bf41f15dcbbdb5e53b;hp=e504d3ad2b799786fbf9b5f955ae724b15f46962;hpb=9b1af783ec53050129239102355e1a5c3ceb1d97;p=vswitchperf.git diff --git a/conf/02_vswitch.conf b/conf/02_vswitch.conf index e504d3ad..84ef71cb 100644 --- a/conf/02_vswitch.conf +++ b/conf/02_vswitch.conf @@ -1,4 +1,4 @@ -# Copyright 2015-2016 Intel Corporation. +# Copyright 2015-2018 Intel Corporation, Tieto and others. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,6 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. +# OVS Command timeout for execution of commands. +OVS_CMD_TIMEOUT = 10 + # ############################ # DPDK configuration # ############################ @@ -20,11 +23,21 @@ 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' @@ -40,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': { @@ -96,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' @@ -109,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 @@ -136,7 +172,11 @@ OVS_OLD_STYLE_MQ = False VSWITCHD_VANILLA_ARGS = [] # Bridge name to be used by VSWTICH -VSWITCH_BRIDGE_NAME = 'br0' +VSWITCH_BRIDGE_NAME = 'vsperf-br0' + +# A tunnel type used by OP2P and PTUNP deployments +# Supported values: 'vxlan', 'gre' or 'geneve' +TUNNEL_TYPE = 'vxlan' # directory where hugepages will be mounted on system init HUGEPAGE_DIR = '/dev/hugepages' @@ -161,3 +201,49 @@ LOG_FILE_OVS = 'ovs.log' # default vswitch implementation VSWITCH = "OvsDpdkVhost" + +VSWITCH_JUMBO_FRAMES_ENABLED = False +VSWITCH_JUMBO_FRAMES_SIZE = 9000 + +# default arguments of OVS ctl tools +OVS_VSCTL_ARGS = [] +OVS_OFCTL_ARGS = ['-O', 'OpenFlow13'] # backward compatible default value +OVS_APPCTL_ARGS = [] + +# default flow template to be used by OVS classes +OVS_FLOW_TEMPLATE = { + 'idle_timeout': '0' +} + +# enable or disable configuration of routing tables; See vswitchperf_design.rst +# for details. +OVS_ROUTING_TABLES = False + +######################### +## 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']