Merge "pkt_gen: MoonGen updated to keep parity with master"
[vswitchperf.git] / conf / 04_vnf.conf
index 2e86b35..75f107e 100644 (file)
 # ############################
 # VNF configuration
 # ############################
-VNF_DIR = 'vnfs/'
+VNF_DIR = os.path.join(ROOT_DIR, 'vnfs/')
 VNF = 'QemuDpdkVhostUser'
 VNF_AFFINITIZATION_ON = True
 
 # ############################
-# Executables and log files
+# Directories, executables and log files
 # ############################
 
-QEMU_BIN = os.path.join(QEMU_DIR, 'x86_64-softmmu/qemu-system-x86_64')
+# please see conf/00_common.conf for description of PATHS dictionary
+PATHS['qemu'] = {
+    'type' : 'src',
+    'src': {
+        'path': os.path.join(ROOT_DIR, 'src/qemu/qemu/'),
+        'qemu-system': 'x86_64-softmmu/qemu-system-x86_64'
+    },
+    'bin': {
+        'qemu-system': 'qemu-system-x86_64'
+    }
+}
 
 # log file for qemu
 LOG_FILE_QEMU = 'qemu.log'
@@ -80,23 +90,24 @@ GUEST_TIMEOUT = [180]
 GUEST_BOOT_DRIVE_TYPE = ['scsi']
 GUEST_SHARED_DRIVE_TYPE = ['scsi']
 
-# packet forwarding mode supported by testpmd; Please see DPDK documentation
-# for comprehensive list of modes supported by your version.
-# e.g. io|mac|mac_retry|macswap|flowgen|rxonly|txonly|csum|icmpecho|...
-# Note: Option "mac_retry" has been changed to "mac retry" since DPDK v16.07
-GUEST_TESTPMD_FWD_MODE = 'csum'
-
 # guest loopback application method; supported options are:
 #       'testpmd'       - testpmd from dpdk will be built and used
 #       'l2fwd'         - l2fwd module provided by Huawei will be built and used
 #       'linux_bridge'  - linux bridge will be configured
 #       'buildin'       - nothing will be configured by vsperf; VM image must
 #                         ensure traffic forwarding between its interfaces
-# This configuration option can be overridden by CLI SCALAR option
-# guest_loopback, e.g. --test-params "guest_loopback=l2fwd"
 # For 2 VNFs you may use ['testpmd', 'l2fwd']
 GUEST_LOOPBACK = ['testpmd']
 
+# guest driver binding option; support options are:
+#      'igb_uio_from_src'  - build igb_uio driver from downloaded source files
+#      'uio_pci_generic'   - use uio_pci_generic driver
+#      'vfio_no_iommu'     - use unsafe vfio driver without iommu (requires
+#                             image with supported kernel 4.5 or greater and
+#                             dpdk 16.04 or greater. VSPerf vloop image does not
+#                             support this mode.
+GUEST_DPDK_BIND_DRIVER = ['igb_uio_from_src']
+
 # username for guest image
 GUEST_USERNAME = ['root']
 
@@ -140,11 +151,15 @@ GUEST_CORE_BINDING = [('#EVAL(6+2*#VMINDEX)', '#EVAL(7+2*#VMINDEX)')]
 # using Vanilla OVS without enabling switch multi-queue.
 GUEST_NIC_QUEUES = [0]
 
+# Disable VHost user guest NIC merge buffers by enabling the below setting. This
+# can improve performance when not using Jumbo Frames.
+GUEST_NIC_MERGE_BUFFERS_DISABLE = [True]
+
 # Virtio-Net vhost thread CPU mapping. If using  vanilla OVS with virtio-net,
 # you can affinitize the vhost-net threads by enabling the below setting. There
 # is one vhost-net thread per port per queue so one guest with 2 queues will
 # have 4 vhost-net threads. If more threads are present than CPUs given, the
-# affinitize will overlap CPUs.
+# affinitize will overlap CPUs in a round robin fashion.
 VSWITCH_VHOST_NET_AFFINITIZATION = False
 VSWITCH_VHOST_CPU_MAP = [4,5,8,11]
 
@@ -175,19 +190,16 @@ GUEST_BRIDGE_IP = ['#IP(1.1.1.5)/16']
 # Guest TESTPMD configuration
 # ############################
 
+# set of configuration parameters, which will be passed to the testpmd
+# executed inside the guest
+# Note: Testpmd must be executed in interactive mode. It means, that
+# VSPERF won't work correctly if '-i' will be removed.
+GUEST_TESTPMD_PARAMS = ['-c 0x3 -n 4 --socket-mem 512 -- '
+                        '--burst=64 -i --txqflags=0xf00 '
+                        '--disable-hw-vlan']
+
 # packet forwarding mode supported by testpmd; Please see DPDK documentation
 # for comprehensive list of modes supported by your version.
 # e.g. io|mac|mac_retry|macswap|flowgen|rxonly|txonly|csum|icmpecho|...
 # Note: Option "mac_retry" has been changed to "mac retry" since DPDK v16.07
 GUEST_TESTPMD_FWD_MODE = ['csum']
-
-# Set the CPU mask for testpmd loopback. To bind to specific guest CPUs use -l
-# GUEST_TESTPMD_CPU_MASK = ['-l 0,1']
-GUEST_TESTPMD_CPU_MASK = ['-c 0x3']
-
-# Testpmd multi-core config. Leave at 0's for disabled. Will not enable unless
-# GUEST_NIC_QUEUES are > 0. For bi directional traffic NB_CORES must be equal
-# to (RXQ + TXQ).
-GUEST_TESTPMD_NB_CORES = [0]
-GUEST_TESTPMD_TXQ = [0]
-GUEST_TESTPMD_RXQ = [0]