summaryrefslogtreecommitdiffstats
path: root/conf/02_vswitch.conf
blob: e5736138847aa682f8f7d47e84734c7d414cf3c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# 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.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# 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')

# ############################
# DPDK configuration
# ############################

# DPDK target used when builing DPDK
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 modules that will be inserted using 'modprobe' on system init
# To use vfio set
# SYS_MODULES = ['cuse']
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']

# ############################
# 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']

# 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'

# directory where hugepages will be mounted on system init
HUGEPAGE_DIR = '/dev/hugepages'

# If no hugepages are available, try to allocate HUGEPAGE_RAM_ALLOCATION.
# Default is 2 x 1048576 = 2097152 kB.
# 10 GB (10485760 kB) or more is recommended for PVP & PVVP testing scenarios.
HUGEPAGE_RAM_ALLOCATION = 2097152

# 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'

# 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'

# log file for ovs-dpdk
LOG_FILE_OVS = 'ovs.log'

# default vswitch implementation
VSWITCH = "OvsDpdkVhost"