1 # Copyright 2015 Intel Corporation.
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
15 # ############################
17 # ############################
19 VNF = 'QemuDpdkVhostUser'
21 # ############################
23 # ############################
25 # directory which is shared to QEMU guests. Useful for exchanging files
26 # between host and guest, VNF specific share will be created
27 # For 2 VNFs you may use ['/tmp/qemu0_share', '/tmp/qemu1_share']
28 GUEST_SHARE_DIR = ['/tmp/qemu0_share', '/tmp/qemu1_share']
30 # location of guest disk image
31 # For 2 VNFs you may use ['guest1.img', 'guest2.img']
32 GUEST_IMAGE = ['', '']
34 # guarding timer for VM start up
35 # For 2 VNFs you may use [180, 180]
36 GUEST_TIMEOUT = [180, 180]
38 # packet forwarding mode supported by testpmd; Please see DPDK documentation
39 # for comprehensive list of modes supported by your version.
40 # e.g. io|mac|mac_retry|macswap|flowgen|rxonly|txonly|csum|icmpecho|...
41 # Note: Option "mac_retry" has been changed to "mac retry" since DPDK v16.07
42 GUEST_TESTPMD_FWD_MODE = 'csum'
44 # guest loopback application method; supported options are:
45 # 'testpmd' - testpmd from dpdk will be built and used
46 # 'l2fwd' - l2fwd module provided by Huawei will be built and used
47 # 'linux_bridge' - linux bridge will be configured
48 # 'buildin' - nothing will be configured by vsperf; VM image must
49 # ensure traffic forwarding between its interfaces
50 # This configuration option can be overridden by CLI SCALAR option
51 # guest_loopback, e.g. --test-params "guest_loopback=l2fwd"
52 # For 2 VNFs you may use ['testpmd', 'l2fwd']
53 GUEST_LOOPBACK = ['testpmd', 'testpmd']
55 # username for guest image
56 GUEST_USERNAME = 'root'
58 # password for guest image
59 GUEST_PASSWORD = 'root'
61 # login username prompt for guest image
62 GUEST_PROMPT_LOGIN = '.* login:'
64 # login password prompt for guest image
65 GUEST_PROMPT_PASSWORD = 'Password: '
67 # standard prompt for guest image
68 GUEST_PROMPT = 'root.*#'
71 LOG_FILE_QEMU = 'qemu.log'
73 # log file for all commands executed on guest(s)
74 # multiple guests will result in log files with the guest number appended
75 LOG_FILE_GUEST_CMDS = 'guest-cmds.log'
77 # ############################
79 # ############################
81 QEMU_BIN = os.path.join(QEMU_DIR, 'x86_64-softmmu/qemu-system-x86_64')
83 # For 2 VNFs you may use ['eth0', 'eth2']
84 GUEST_NIC1_NAME = ['eth0', 'eth0']
85 GUEST_NIC2_NAME = ['eth1', 'eth1']
87 # For 2 VNFs you may use ['00:00:00:00:00:01', '00:00:00:00:00:03']
88 GUEST_NET1_MAC = ['00:00:00:00:00:01', '00:00:00:00:00:03']
89 GUEST_NET2_MAC = ['00:00:00:00:00:02', '00:00:00:00:00:04']
91 # For 2 VNFs you may use ['00:04.0', '00:04.0']
92 GUEST_NET1_PCI_ADDRESS = ['00:04.0', '00:04.0']
93 GUEST_NET2_PCI_ADDRESS = ['00:05.0', '00:05.0']
95 GUEST_MEMORY = ['4096', '4096']
97 # test-pmd requires 2 VM cores
98 GUEST_SMP = ['2', '2']
100 # Host cores to use to affinitize the SMP cores of a QEMU instance
101 # For 2 VNFs you may use [(4,5), (6, 7)]
102 GUEST_CORE_BINDING = [(6, 7), (9, 10)]
104 # Queues per NIC inside guest for multi-queue configuration, requires switch
105 # multi-queue to be enabled. Set to 0 for disabled.
108 GUEST_START_TIMEOUT = 120
109 GUEST_OVS_DPDK_DIR = '/root/ovs_dpdk'
110 OVS_DPDK_SHARE = '/mnt/ovs_dpdk_share'
112 # Set the CPU mask for testpmd loopback. To bind to specific guest CPUs use -l
113 # GUEST_TESTPMD_CPU_MASK = '-l 0,1'
114 GUEST_TESTPMD_CPU_MASK = '-c 0x3'
116 # Testpmd multi-core config. Leave at 0's for disabled. Will not enable unless
117 # GUEST_NIC_QUEUES are > 0. For bi directional traffic NB_CORES must be equal
119 GUEST_TESTPMD_NB_CORES = 0
120 GUEST_TESTPMD_TXQ = 0
121 GUEST_TESTPMD_RXQ = 0
123 # IP addresses to use for Vanilla OVS PVP testing
124 # Consider using RFC 2544/3330 recommended IP addresses for benchmark testing.
125 # Network: 198.18.0.0/15
126 # Netmask: 255.254.0.0
127 # Broadcast: 198.19.255.255
128 # First IP: 198.18.0.1
129 # Last IP: 198.19.255.254
133 # ARP entries for the IXIA ports and the bridge you are using:
134 VANILLA_TGEN_PORT1_IP = '1.1.1.10'
135 VANILLA_TGEN_PORT1_MAC = 'AA:BB:CC:DD:EE:FF'
137 VANILLA_TGEN_PORT2_IP = '1.1.2.10'
138 VANILLA_TGEN_PORT2_MAC = 'AA:BB:CC:DD:EE:F0'
140 VANILLA_BRIDGE_IP = ['1.1.1.5/16', '1.1.1.6/16']
142 VANILLA_NIC1_IP_CIDR = ['192.168.1.2/24', '192.168.1.4/24']
143 VANILLA_NIC2_IP_CIDR = ['192.168.1.3/24', '192.168.1.5/24']
145 VNF_AFFINITIZATION_ON = True