summaryrefslogtreecommitdiffstats
path: root/conf
diff options
context:
space:
mode:
Diffstat (limited to 'conf')
-rwxr-xr-xconf/01_testcases.conf28
-rw-r--r--conf/02_vswitch.conf35
-rw-r--r--conf/03_traffic.conf29
-rw-r--r--conf/04_vnf.conf20
-rw-r--r--conf/10_custom.conf32
-rw-r--r--conf/integration/01_testcases.conf328
6 files changed, 394 insertions, 78 deletions
diff --git a/conf/01_testcases.conf b/conf/01_testcases.conf
index 46d00e5a..23a3ae57 100755
--- a/conf/01_testcases.conf
+++ b/conf/01_testcases.conf
@@ -28,10 +28,12 @@
# "Frame Modification": "vlan" # One of the supported frame modifications:
# # vlan, mpls, mac, dscp, ttl, ip_addr,
# # ip_port.
-# "biDirectional": [true|false], # Specifies if generated traffic will be
-# # full-duplex (true) or half-duplex (false)
+# "biDirectional": ["True"|"False"]
+# # Specifies if generated traffic will be
+# # full-duplex (True) or half-duplex (False)
# # It can be overridden by cli option bidirectional.
-# # Default value is "false".
+# # Default value is "False". Must be of type
+# # string.
# "MultiStream": 0-65535 # Optional. Defines number of flows simulated
# # by traffic generator. Value 0 disables
# # MultiStream feature
@@ -100,6 +102,24 @@
# # value will be used
# "options": "" # Optional. Additional command line options
# # to be passed to the load generator.
+# "vSwitch" : "OvsVanilla" # Defines vSwitch to be used for test execution.
+# # It will override any VSWITCH option stated
+# # in configuration files or value specified
+# # on command line through --vswitch parameter.
+# "VNF" : "QemuVirtioNet" # Defines VNF to be used for test execution.
+# # It will override any VNF option stated
+# # in configuration files or value specified
+# # on command line through --vnf parameter.
+# "Trafficgen" : "Dummy" # Defines traffic generator to be used for test
+# # execution. It will override any VNF option
+# # stated in configuration files or value
+# # specified on command line through --trafficgen
+# # parameter.
+# "Parameters" : "pkt_sizes=512" # Defines list of test parameters used for test
+# # execution. It will override any values defined
+# # by TEST_PARAMS option stated in configuration
+# # files or values specified on command line through
+# # --test-params parameter.
# "Test Modifier": [FrameMod|Other],
# "Dependency": [Test_Case_Name |None],
@@ -155,7 +175,7 @@ PERFORMANCE_TESTS = [
"Traffic Type": "rfc2544",
"Deployment": "p2p",
"biDirectional": "True",
- "Description": "LTD.Scalability.RFC2544.0PacketLoss",
+ "Description": "LTD.Scalability.Flows.RFC2544.0PacketLoss",
"MultiStream": "8000",
},
{
diff --git a/conf/02_vswitch.conf b/conf/02_vswitch.conf
index f0475313..79f0afbd 100644
--- a/conf/02_vswitch.conf
+++ b/conf/02_vswitch.conf
@@ -31,14 +31,12 @@ VSWITCH_DIR = os.path.join(ROOT_DIR, 'vswitches')
# DPDK target used when builing DPDK
RTE_TARGET = 'x86_64-native-linuxapp-gcc'
-# list of NIC HWIDs which will be bound to the 'igb_uio' driver on
-# system init
-WHITELIST_NICS = ['05:00.0', '05:00.1']
-
-# list of NIC HWIDs which will be ignored by the 'igb_uio' driver on
-# system init
-BLACKLIST_NICS = ['0000:09:00.0', '0000:09:00.1', '0000:09:00.2',
- '0000:09:00.3']
+# 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
@@ -71,10 +69,27 @@ VHOST_USER_SOCKS = ['/tmp/dpdkvhostuser0', '/tmp/dpdkvhostuser1',
# ############################
# 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']
-VSWITCHD_VANILLA_ARGS = ['--pidfile']
-VSWITCH_VANILLA_PHY_PORT_NAMES = ['', '']
+# 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')]
diff --git a/conf/03_traffic.conf b/conf/03_traffic.conf
index eb09bf09..01e3e5cf 100644
--- a/conf/03_traffic.conf
+++ b/conf/03_traffic.conf
@@ -27,6 +27,8 @@ TRAFFICGEN_DIR = os.path.join(ROOT_DIR, 'tools/pkt_gen')
TRAFFICGEN = 'Dummy'
#TRAFFICGEN = 'IxNet'
#TRAFFICGEN = 'Ixia'
+#TRAFFICGEN = 'Xena'
+#TRAFFICGEN = 'MoonGen'
# List of packet sizes to send.
# Expand like this: (64, 128, 256, 512, 1024)
@@ -160,3 +162,30 @@ TRAFFICGEN_STC_VERBOSE = "True"
# Spirent TestCenter Configuration -- END
#########################################
+# Xena traffic generator connection info
+TRAFFICGEN_XENA_IP = ''
+TRAFFICGEN_XENA_PORT1 = ''
+TRAFFICGEN_XENA_PORT2 = ''
+TRAFFICGEN_XENA_USER = ''
+TRAFFICGEN_XENA_PASSWORD = ''
+TRAFFICGEN_XENA_MODULE1 = ''
+TRAFFICGEN_XENA_MODULE2 = ''
+
+# Xena Port IP info
+TRAFFICGEN_XENA_PORT0_IP = '192.168.199.10'
+TRAFFICGEN_XENA_PORT0_CIDR = 24
+TRAFFICGEN_XENA_PORT0_GATEWAY = '192.168.199.1'
+TRAFFICGEN_XENA_PORT1_IP = '192.168.199.11'
+TRAFFICGEN_XENA_PORT1_CIDR = 24
+TRAFFICGEN_XENA_PORT1_GATEWAY = '192.168.199.1'
+
+###################################################
+# MoonGen Configuration and Connection Info-- BEGIN
+
+TRAFFICGEN_MOONGEN_HOST_IP_ADDR = ''
+TRAFFICGEN_MOONGEN_USER = ''
+TRAFFICGEN_MOONGEN_BASE_DIR = ''
+TRAFFICGEN_MOONGEN_PORTS = ''
+
+# MoonGen Configuration and Connection Info-- END
+###################################################
diff --git a/conf/04_vnf.conf b/conf/04_vnf.conf
index dc15fd15..0a80c1af 100644
--- a/conf/04_vnf.conf
+++ b/conf/04_vnf.conf
@@ -35,6 +35,9 @@ GUEST_IMAGE = ['', '']
# For 2 VNFs you may use [180, 180]
GUEST_TIMEOUT = [180, 180]
+# packet forwarding mode: io|mac|mac_retry|macswap|flowgen|rxonly|txonly|csum|icmpecho
+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
@@ -42,7 +45,7 @@ GUEST_TIMEOUT = [180, 180]
# '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-param "guest_loopback=l2fwd"
+# guest_loopback, e.g. --test-params "guest_loopback=l2fwd"
# For 2 VNFs you may use ['testpmd', 'l2fwd']
GUEST_LOOPBACK = ['testpmd', 'testpmd']
@@ -95,10 +98,25 @@ GUEST_SMP = ['2', '2']
# For 2 VNFs you may use [(4,5), (6, 7)]
GUEST_CORE_BINDING = [(6, 7), (9, 10)]
+# Queues per NIC inside guest for multi-queue configuration, requires switch
+# multi-queue to be enabled. Set to 0 for disabled.
+GUEST_NIC_QUEUES = 0
+
GUEST_START_TIMEOUT = 120
GUEST_OVS_DPDK_DIR = '/root/ovs_dpdk'
OVS_DPDK_SHARE = '/mnt/ovs_dpdk_share'
+# 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
+
# IP addresses to use for Vanilla OVS PVP testing
# Consider using RFC 2544/3330 recommended IP addresses for benchmark testing.
# Network: 198.18.0.0/15
diff --git a/conf/10_custom.conf b/conf/10_custom.conf
index be8244ec..4ffe470e 100644
--- a/conf/10_custom.conf
+++ b/conf/10_custom.conf
@@ -19,6 +19,8 @@ RTE_TARGET = '' # the relevant DPDK build target
TRAFFICGEN = 'Dummy'
#TRAFFICGEN = 'IxNet'
#TRAFFICGEN = 'Ixia'
+#TRAFFICGEN = 'Xena'
+#TRAFFICGEN = 'MoonGen'
###########################################
# Spirent TestCenter Configuration -- BEGIN
@@ -60,8 +62,36 @@ TRAFFICGEN_IXNET_USER = ''
TRAFFICGEN_IXNET_TESTER_RESULT_DIR = ''
TRAFFICGEN_IXNET_DUT_RESULT_DIR = ''
-TEST_PARAMS = {'packet_sizes':'64'}
+# Xena traffic generator connection info
+TRAFFICGEN_XENA_IP = ''
+TRAFFICGEN_XENA_PORT1 = ''
+TRAFFICGEN_XENA_PORT2 = ''
+TRAFFICGEN_XENA_USER = ''
+TRAFFICGEN_XENA_PASSWORD = ''
+TRAFFICGEN_XENA_MODULE1 = ''
+TRAFFICGEN_XENA_MODULE2 = ''
+# Xena Port IP info
+TRAFFICGEN_XENA_PORT0_IP = '192.168.199.10'
+TRAFFICGEN_XENA_PORT0_CIDR = 24
+TRAFFICGEN_XENA_PORT0_GATEWAY = '192.168.199.1'
+TRAFFICGEN_XENA_PORT1_IP = '192.168.199.11'
+TRAFFICGEN_XENA_PORT1_CIDR = 24
+TRAFFICGEN_XENA_PORT1_GATEWAY = '192.168.199.1'
+
+###################################################
+# MoonGen Configuration and Connection Info-- BEGIN
+
+# Ex: TRAFFICGEN_MOONGEN_HOST_IP_ADDR = "192.10.1.1"
+TRAFFICGEN_MOONGEN_HOST_IP_ADDR = ""
+TRAFFICGEN_MOONGEN_USER = "root"
+TRAFFICGEN_MOONGEN_BASE_DIR = "/root/MoonGen"
+TRAFFICGEN_MOONGEN_PORTS = "{0,1}"
+
+# MoonGen Configuration and Connection Info-- END
+###################################################
+
+#TEST_PARAMS = {'pkt_sizes':'64'}
OPNFV_INSTALLER = "Fuel"
OPNFV_URL = "http://testresults.opnfv.org/testapi"
PACKAGE_LIST = "src/package-list.mk"
diff --git a/conf/integration/01_testcases.conf b/conf/integration/01_testcases.conf
index fff148d4..2edbe08b 100644
--- a/conf/integration/01_testcases.conf
+++ b/conf/integration/01_testcases.conf
@@ -16,6 +16,13 @@
# tunneling protocol for OP2P tests.
SUPPORTED_TUNNELING_PROTO = ['vxlan', 'gre', 'geneve']
+#
+# Generic test configuration options are described at conf/01_testcases.conf
+#
+
+#
+# Options specific to integration testcases are described below:
+#
# Required for OP2P tests
# "Tunnel Type": ["vxlan"|"gre"|"geneve"] # Tunnel Type defines tunneling protocol to use.
# # It can be overridden by cli option tunnel_type.
@@ -38,12 +45,98 @@ SUPPORTED_TUNNELING_PROTO = ['vxlan', 'gre', 'geneve']
# # Where i is a number of step (starts from 0)
# # and j is index of result returned by step i.
+#
+# Common TestSteps parts ("macros")
+#
+
+# P2P macros
+STEP_VSWITCH_P2P_FLOWS_INIT = [
+ ['vswitch', 'add_switch', 'int_br0'], # STEP 0
+ ['vswitch', 'add_phy_port', 'int_br0'], # STEP 1
+ ['vswitch', 'add_phy_port', 'int_br0'], # STEP 2
+ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
+ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[2][1]', 'actions': ['output:#STEP[1][1]'], 'idle_timeout': '0'}],
+]
+
+STEP_VSWITCH_P2P_FLOWS_FINIT = [
+ ['vswitch', 'dump_flows', 'int_br0'],
+ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[1][1]'}],
+ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}],
+ ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'],
+ ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'],
+ ['vswitch', 'del_switch', 'int_br0'],
+]
+
+# PVP and PVVP macros
+STEP_VSWITCH_PVP_INIT = [
+ ['vswitch', 'add_switch', 'int_br0'], # STEP 0
+ ['vswitch', 'add_phy_port', 'int_br0'], # STEP 1
+ ['vswitch', 'add_phy_port', 'int_br0'], # STEP 2
+ ['vswitch', 'add_vport', 'int_br0'], # STEP 3
+ ['vswitch', 'add_vport', 'int_br0'], # STEP 4
+]
+
+STEP_VSWITCH_PVP_FINIT = [
+ ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'],
+ ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'],
+ ['vswitch', 'del_port', 'int_br0', '#STEP[3][0]'],
+ ['vswitch', 'del_port', 'int_br0', '#STEP[4][0]'],
+ ['vswitch', 'del_switch', 'int_br0'],
+]
+
+STEP_VSWITCH_PVP_FLOWS_INIT = STEP_VSWITCH_PVP_INIT + [
+ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', 'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}],
+ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[4][1]', 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
+ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[2][1]', 'actions': ['output:#STEP[4][1]'], 'idle_timeout': '0'}],
+ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[3][1]', 'actions': ['output:#STEP[1][1]'], 'idle_timeout': '0'}],
+]
+
+STEP_VSWITCH_PVP_FLOWS_FINIT = [
+ ['vswitch', 'dump_flows', 'int_br0'],
+ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[1][1]'}],
+ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[4][1]'}],
+ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}],
+ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[3][1]'}],
+] + STEP_VSWITCH_PVP_FINIT
+
+STEP_VSWITCH_PVVP_INIT = STEP_VSWITCH_PVP_INIT + [
+ ['vswitch', 'add_vport', 'int_br0'], # STEP 5
+ ['vswitch', 'add_vport', 'int_br0'], # STEP 6
+]
+
+STEP_VSWITCH_PVVP_FINIT = [
+ ['vswitch', 'del_port', 'int_br0', '#STEP[5][0]'],
+ ['vswitch', 'del_port', 'int_br0', '#STEP[6][0]'],
+] + STEP_VSWITCH_PVP_FINIT
+
+STEP_VSWITCH_PVVP_FLOWS_INIT = STEP_VSWITCH_PVVP_INIT + [
+ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', 'actions': ['output:#STEP[3][1]'], 'idle_timeout': '0'}],
+ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[4][1]', 'actions': ['output:#STEP[5][1]'], 'idle_timeout': '0'}],
+ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[6][1]', 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
+ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[2][1]', 'actions': ['output:#STEP[6][1]'], 'idle_timeout': '0'}],
+ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[5][1]', 'actions': ['output:#STEP[4][1]'], 'idle_timeout': '0'}],
+ ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[3][1]', 'actions': ['output:#STEP[1][1]'], 'idle_timeout': '0'}],
+]
+
+STEP_VSWITCH_PVVP_FLOWS_FINIT = [
+ ['vswitch', 'dump_flows', 'int_br0'],
+ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[1][1]'}],
+ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[4][1]'}],
+ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[6][1]'}],
+ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}],
+ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[5][1]'}],
+ ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[3][1]'}],
+] + STEP_VSWITCH_PVVP_FINIT
+
+#
+# Definition of integration tests
+#
INTEGRATION_TESTS = [
{
"Name": "overlay_p2p_tput",
"Traffic Type": "rfc2544",
"Deployment": "op2p",
- "biDirectional": False,
+ "biDirectional": 'False',
"Tunnel Type": SUPPORTED_TUNNELING_PROTO[0],
"Tunnel Operation": "encapsulation",
"Description": "Overlay Encapsulation Throughput RFC2544 Test",
@@ -52,7 +145,7 @@ INTEGRATION_TESTS = [
"Name": "overlay_p2p_cont",
"Traffic Type": "continuous",
"Deployment": "op2p",
- "biDirectional": False,
+ "biDirectional": 'False',
"Tunnel Type": SUPPORTED_TUNNELING_PROTO[0],
"Tunnel Operation": "encapsulation",
"Description": "Overlay Encapsulation Continuous Stream",
@@ -61,7 +154,7 @@ INTEGRATION_TESTS = [
"Name": "overlay_p2p_decap_tput",
"Traffic Type": "rfc2544",
"Deployment": "op2p",
- "biDirectional": False,
+ "biDirectional": 'False',
"Tunnel Type": SUPPORTED_TUNNELING_PROTO[0],
"Tunnel Operation": "decapsulation",
"Description": "Overlay Decapsulation Throughput RFC2544 Test",
@@ -70,7 +163,7 @@ INTEGRATION_TESTS = [
"Name": "overlay_p2p_decap_cont",
"Traffic Type": "continuous",
"Deployment": "op2p",
- "biDirectional": False,
+ "biDirectional": 'False',
"Tunnel Type": SUPPORTED_TUNNELING_PROTO[0],
"Tunnel Operation": "decapsulation",
"Description": "Overlay Decapsulation Continuous Stream",
@@ -162,76 +255,187 @@ INTEGRATION_TESTS = [
"Name": "vswitch_add_del_flows",
"Deployment": "clean",
"Description": "vSwitch - add and delete flows",
- "TestSteps": [
- ['vswitch', 'add_switch', 'int_br0'],
- ['vswitch', 'add_phy_port', 'int_br0'],
- ['vswitch', 'add_phy_port', 'int_br0'],
- ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
- ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[2][1]', 'actions': ['output:#STEP[1][1]'], 'idle_timeout': '0'}],
- ['vswitch', 'dump_flows', 'int_br0'],
- ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[1][1]'}],
- ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}],
- ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'],
- ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'],
- ['vswitch', 'del_switch', 'int_br0'],
- ]
+ "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT +
+ STEP_VSWITCH_P2P_FLOWS_FINIT
},
{
- "Name": "vswitch_throughput",
+ "Name": "vswitch_p2p_tput",
"Deployment": "clean",
"Description": "vSwitch - configure switch and execute RFC2544 throughput test",
- "TestSteps": [
- ['vswitch', 'add_switch', 'int_br0'],
- ['vswitch', 'add_phy_port', 'int_br0'],
- ['vswitch', 'add_phy_port', 'int_br0'],
- ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
- ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[2][1]', 'actions': ['output:#STEP[1][1]'], 'idle_timeout': '0'}],
- ['trafficgen', 'send_traffic', {'traffic_type' : 'throughput', 'bidir' : True, 'frame_rate' : 100, 'multistream' : 0, 'stream_type' : 'L4'}],
- ['vswitch', 'dump_flows', 'int_br0'],
- ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[1][1]'}],
- ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}],
- ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'],
- ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'],
- ['vswitch', 'del_switch', 'int_br0'],
- ]
+ "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT +
+ [
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'throughput', 'bidir' : 'True'}],
+ ] +
+ STEP_VSWITCH_P2P_FLOWS_FINIT
},
{
- "Name": "vswitch_back2back",
+ "Name": "vswitch_p2p_back2back",
"Deployment": "clean",
"Description": "vSwitch - configure switch and execute RFC2544 back2back test",
- "TestSteps": [
- ['vswitch', 'add_switch', 'int_br0'],
- ['vswitch', 'add_phy_port', 'int_br0'],
- ['vswitch', 'add_phy_port', 'int_br0'],
- ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
- ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[2][1]', 'actions': ['output:#STEP[1][1]'], 'idle_timeout': '0'}],
- ['trafficgen', 'send_traffic', {'traffic_type' : 'back2back', 'bidir' : True, 'frame_rate' : 100, 'multistream' : 0, 'stream_type' : 'L4'}],
- ['vswitch', 'dump_flows', 'int_br0'],
- ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[1][1]'}],
- ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}],
- ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'],
- ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'],
- ['vswitch', 'del_switch', 'int_br0'],
- ]
+ "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT +
+ [
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'back2back', 'bidir' : 'True'}],
+ ] +
+ STEP_VSWITCH_P2P_FLOWS_FINIT
},
{
- "Name": "vswitch_continuous",
+ "Name": "vswitch_p2p_cont",
"Deployment": "clean",
"Description": "vSwitch - configure switch and execute continuous stream test",
- "TestSteps": [
- ['vswitch', 'add_switch', 'int_br0'],
- ['vswitch', 'add_phy_port', 'int_br0'],
- ['vswitch', 'add_phy_port', 'int_br0'],
- ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[1][1]', 'actions': ['output:#STEP[2][1]'], 'idle_timeout': '0'}],
- ['vswitch', 'add_flow', 'int_br0', {'in_port': '#STEP[2][1]', 'actions': ['output:#STEP[1][1]'], 'idle_timeout': '0'}],
- ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', 'bidir' : True, 'frame_rate' : 100, 'multistream' : 0, 'stream_type' : 'L4'}],
- ['vswitch', 'dump_flows', 'int_br0'],
- ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[1][1]'}],
- ['vswitch', 'del_flow', 'int_br0', {'in_port': '#STEP[2][1]'}],
- ['vswitch', 'del_port', 'int_br0', '#STEP[1][0]'],
- ['vswitch', 'del_port', 'int_br0', '#STEP[2][0]'],
- ['vswitch', 'del_switch', 'int_br0'],
- ]
+ "TestSteps": STEP_VSWITCH_P2P_FLOWS_INIT +
+ [
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', 'bidir' : 'True'}],
+ ] +
+ STEP_VSWITCH_P2P_FLOWS_FINIT
+ },
+ {
+ "Name": "vswitch_pvp",
+ "Deployment": "clean",
+ "Description": "vSwitch - configure switch and one vnf",
+ "TestSteps": STEP_VSWITCH_PVP_INIT +
+ [
+ ['vnf', 'start'],
+ ['vnf', 'stop'],
+ ] +
+ STEP_VSWITCH_PVP_FINIT
+ },
+ {
+ "Name": "vswitch_pvp_tput",
+ "Deployment": "clean",
+ "Description": "vSwitch - configure switch, vnf and execute RFC2544 throughput test",
+ "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT +
+ [
+ ['vnf', 'start'],
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'throughput', 'bidir' : 'True'}],
+ ['vnf', 'stop'],
+ ] +
+ STEP_VSWITCH_PVP_FLOWS_FINIT
+ },
+ {
+ "Name": "vswitch_pvp_back2back",
+ "Deployment": "clean",
+ "Description": "vSwitch - configure switch, vnf and execute RFC2544 back2back test",
+ "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT +
+ [
+ ['vnf', 'start'],
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'back2back', 'bidir' : 'True'}],
+ ['vnf', 'stop'],
+ ] +
+ STEP_VSWITCH_PVP_FLOWS_FINIT
+ },
+ {
+ "Name": "vswitch_pvp_cont",
+ "Deployment": "clean",
+ "Description": "vSwitch - configure switch, vnf and execute continuous stream test",
+ "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT +
+ [
+ ['vnf', 'start'],
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', 'bidir' : 'True'}],
+ ['vnf', 'stop'],
+ ] +
+ STEP_VSWITCH_PVP_FLOWS_FINIT
+ },
+ {
+ "Name": "vswitch_pvp_all",
+ "Deployment": "clean",
+ "Description": "vSwitch - configure switch, vnf and execute all test types",
+ "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT +
+ [
+ ['vnf', 'start'],
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'throughput', 'bidir' : 'True'}],
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'back2back', 'bidir' : 'True'}],
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', 'bidir' : 'True'}],
+ ['vnf', 'stop'],
+ ] +
+ STEP_VSWITCH_PVP_FLOWS_FINIT
+ },
+ {
+ "Name": "vswitch_pvvp",
+ "Deployment": "clean",
+ "Description": "vSwitch - configure switch and two vnfs",
+ "TestSteps": STEP_VSWITCH_PVVP_INIT +
+ [
+ ['vnf1', 'start'],
+ ['vnf2', 'start'],
+ ['vnf1', 'stop'],
+ ['vnf2', 'stop'],
+ ] +
+ STEP_VSWITCH_PVVP_FINIT
+ },
+ {
+ "Name": "vswitch_pvvp_tput",
+ "Deployment": "clean",
+ "Description": "vSwitch - configure switch, two chained vnfs and execute RFC2544 throughput test",
+ "TestSteps": STEP_VSWITCH_PVVP_FLOWS_INIT +
+ [
+ ['vnf1', 'start'],
+ ['vnf2', 'start'],
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'throughput', 'bidir' : 'True'}],
+ ['vnf1', 'stop'],
+ ['vnf2', 'stop'],
+ ] +
+ STEP_VSWITCH_PVVP_FLOWS_FINIT
+ },
+ {
+ "Name": "vswitch_pvvp_back2back",
+ "Deployment": "clean",
+ "Description": "vSwitch - configure switch, two chained vnfs and execute RFC2544 back2back test",
+ "TestSteps": STEP_VSWITCH_PVVP_FLOWS_INIT +
+ [
+ ['vnf1', 'start'],
+ ['vnf2', 'start'],
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'back2back', 'bidir' : 'True'}],
+ ['vnf1', 'stop'],
+ ['vnf2', 'stop'],
+ ] +
+ STEP_VSWITCH_PVVP_FLOWS_FINIT
+ },
+ {
+ "Name": "vswitch_pvvp_cont",
+ "Deployment": "clean",
+ "Description": "vSwitch - configure switch, two chained vnfs and execute continuous stream test",
+ "TestSteps": STEP_VSWITCH_PVVP_FLOWS_INIT +
+ [
+ ['vnf1', 'start'],
+ ['vnf2', 'start'],
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', 'bidir' : 'True'}],
+ ['vnf1', 'stop'],
+ ['vnf2', 'stop'],
+ ] +
+ STEP_VSWITCH_PVVP_FLOWS_FINIT
+ },
+ {
+ "Name": "vswitch_pvvp_all",
+ "Deployment": "clean",
+ "Description": "vSwitch - configure switch, two chained vnfs and execute all test types",
+ "TestSteps": STEP_VSWITCH_PVVP_FLOWS_INIT +
+ [
+ ['vnf1', 'start'],
+ ['vnf2', 'start'],
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'throughput', 'bidir' : 'True'}],
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'back2back', 'bidir' : 'True'}],
+ ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', 'bidir' : 'True'}],
+ ['vnf1', 'stop'],
+ ['vnf2', 'stop'],
+ ] +
+ STEP_VSWITCH_PVVP_FLOWS_FINIT
},
]
+# Example of TC definition with exact vSwitch, VNF and TRAFFICGEN values.
+# {
+# "Name": "ovs_vanilla_linux_bridge_pvp_cont",
+# "Deployment": "clean",
+# "Description": "vSwitch - configure OVS Vanilla, QemuVirtioNet with linux bridge and execute continuous stream test",
+# "vSwitch" : "OvsVanilla",
+# "VNF" : "QemuVirtioNet",
+# "Trafficgen": "IxNet",
+# "Test Parameters": {"guest_loopback" : "linux_bridge"},
+# "TestSteps": STEP_VSWITCH_PVP_FLOWS_INIT +
+# [
+# ['vnf', 'start'],
+# ['trafficgen', 'send_traffic', {'traffic_type' : 'continuous', 'bidir' : 'True'}],
+# ['vnf', 'stop'],
+# ] +
+# STEP_VSWITCH_PVP_FLOWS_FINIT
+# },