multi VM: Multi VMs in serial or parallel
[vswitchperf.git] / conf / 02_vswitch.conf
1 # Copyright 2015-2016 Intel Corporation.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #   http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 # ############################
16 # Directories
17 # ############################
18 # use DPDK VHOST USER by default
19 RTE_SDK = RTE_SDK_USER
20 OVS_DIR = OVS_DIR_USER
21
22 OVS_VAR_DIR = '/usr/local/var/run/openvswitch/'
23 OVS_ETC_DIR = '/usr/local/etc/openvswitch/'
24
25 VSWITCH_DIR = os.path.join(ROOT_DIR, 'vswitches')
26
27 # ############################
28 # DPDK configuration
29 # ############################
30
31 # DPDK target used when builing DPDK
32 RTE_TARGET = 'x86_64-native-linuxapp-gcc'
33
34 # list of NIC HWIDs to which traffic generator is connected
35 # In case of NIC with SRIOV suport, it is possible to define,
36 # which virtual function should be used
37 # e.g. value '0000:05:00.0|vf1' will configure two VFs and second VF
38 # will be used for testing
39 WHITELIST_NICS = ['0000:05:00.0', '0000:05:00.1']
40
41 # for DPDK_MODULES the path is in reference to the build directory
42 # To use vfio set
43 # DPDK_MODULES = [
44 #     ('vfio-pci'),
45 # ]
46 DPDK_MODULES = [
47     ('kmod', 'igb_uio'),
48 ]
49
50 VHOST_MODULE = [
51     ('eventfd_link', 'eventfd_link')
52 ]
53
54 # list of modules that will be inserted using 'modprobe' on system init
55 # To use vfio set
56 # SYS_MODULES = ['cuse']
57 SYS_MODULES = ['uio', 'cuse']
58
59 # vhost character device file used by dpdkvhostport QemuWrap cases
60 VHOST_DEV_FILE = 'ovs-vhost-net'
61
62 # location of vhost-user sockets
63 VHOST_USER_SOCKS = os.path.join(OVS_VAR_DIR, 'dpdkvhostuser*')
64
65 # ############################
66 # vswitch configuration
67 # ############################
68 # These are DPDK EAL parameters and they may need to be changed depending on
69 # hardware configuration, like cpu numbering and NUMA.
70 #
71 # parameters used for legacy DPDK configuration through '--dpdk' option of ovs-vswitchd
72 # e.g. ovs-vswitchd --dpdk --socket-mem 1024,0
73 VSWITCHD_DPDK_ARGS = ['-c', '0x4', '-n', '4', '--socket-mem 1024,0']
74
75 # options used for new type of OVS configuration via calls to ovs-vsctl
76 # e.g. ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem="1024,0"
77 VSWITCHD_DPDK_CONFIG = {
78     'dpdk-init' : 'true',
79     'dpdk-lcore-mask' : '0x4',
80     'dpdk-socket-mem' : '1024,0',
81 }
82 # Note: VSPERF will automatically detect, which type of DPDK configuration should
83 # be used.
84
85 # To enable multi queue with dpdk modify the below param to the number of
86 # queues for dpdk. 0 = disabled
87 VSWITCH_DPDK_MULTI_QUEUES = 0
88
89 # Use old style OVS DPDK Multi-queue startup. If testing versions of OVS 2.5.0
90 # or before, enable this setting to allow DPDK Multi-queue to enable correctly.
91 OVS_OLD_STYLE_MQ = False
92
93 # parameters passed to ovs-vswitchd in case that OvsVanilla is selected
94 VSWITCHD_VANILLA_ARGS = []
95
96 # use full module path to load module matching OVS version built from the source
97 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')]
98
99 # Bridge name to be used by VSWTICH
100 VSWITCH_BRIDGE_NAME = 'br0'
101
102 # directory where hugepages will be mounted on system init
103 HUGEPAGE_DIR = '/dev/hugepages'
104
105 # If no hugepages are available, try to allocate HUGEPAGE_RAM_ALLOCATION.
106 # Default is 10 GB.
107 # 10 GB (10485760 kB) or more is recommended for PVP & PVVP testing scenarios.
108 HUGEPAGE_RAM_ALLOCATION = 10485760
109
110 # Sets OVS PMDs core mask to 30 for affinitization to 5th and 6th CPU core.
111 # Note that the '0x' notation should not be used.
112 VSWITCH_PMD_CPU_MASK = '30'
113 VSWITCH_AFFINITIZATION_ON = 1
114
115 VSWITCH_FLOW_TIMEOUT = '30000'
116
117 # list of tuples of format (path, module_name), which will be inserted
118 # using 'insmod' on system init
119
120 # for OVS modules the path is in reference to the OVS directory.
121 OVS_MODULES = []
122
123 # log file for ovs-vswitchd
124 LOG_FILE_VSWITCHD = 'vswitchd.log'
125
126 # log file for ovs-dpdk
127 LOG_FILE_OVS = 'ovs.log'
128
129 # default vswitch implementation
130 VSWITCH = "OvsDpdkVhost"