From 6961a6fa333ca2cff055d7d7a889876263b673f5 Mon Sep 17 00:00:00 2001 From: Martin Klozik Date: Fri, 2 Jun 2017 13:56:57 +0100 Subject: tests: L3, L4 and VxLAN tests for OVS & VPP A set of tests was introduced with focus on L3, L4 and VxLAN performance of OVS and VPP. New testcases were created for phy2phy network scenario. In case of PVP and PVVP, only OVS testcases are available. Notes: * two sets of OVS P2P testcases were created, one creates unique flow for each IP address involved in the test (performance sensitive); Second set inserts just one flow with large network mask (tests with _mask suffix). * three different types of VPP P2P L3 testcases were created to demonstrate performance impact of multi ARP entries or IP routes. * VPP multi ARP record based testcases use a set of "workarounds" to load a large number of ARP entries. It is not possible to use "set ip arp count" syntax, as it doesn't work well for large count values (e.g. 60K) * OVS VxLAN testcases utilize existing OP2P deployment scenario and thus it can be used also with GRE and GENEVE tunnel types. Tunnel type to be used is defined by test configuration option "Tunnel Type". JIRA: VSPERF-518 Change-Id: I65adad976f12d8625d918a1996eb42693c511ee1 Signed-off-by: Martin Klozik Signed-off-by: Ciara Loftus Reviewed-by: Al Morton Reviewed-by: Christian Trautman Reviewed-by: Sridhar Rao Reviewed-by: Trevor Cooper Reviewed-by: Cian Ferriter --- docs/testing/user/userguide/teststeps.rst | 37 +++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'docs/testing/user/userguide') diff --git a/docs/testing/user/userguide/teststeps.rst b/docs/testing/user/userguide/teststeps.rst index 71f19714..5349d2ea 100644 --- a/docs/testing/user/userguide/teststeps.rst +++ b/docs/testing/user/userguide/teststeps.rst @@ -143,6 +143,43 @@ of supported objects and their most common functions follows: ['settings', 'setValue', 'GUEST_USERNAME', ['root']] + It is possible and more convenient to access any VSPERF configuration option directly + via ``$NAME`` notation. Option evaluation is done during runtime and vsperf will + automatically translate it to the appropriate call of ``settings.getValue``. + If the referred parameter does not exist, then vsperf will keep ``$NAME`` + string untouched and it will continue with testcase execution. The reason is to + avoid test execution failure in case that ``$`` sign has been used from different + reason than vsperf parameter evaluation. + + **NOTE:** It is recommended to use ``${NAME}`` notation for any shell parameters + used within ``Exec_Shell`` call to avoid a clash with configuration parameter + evaluation. + + **NOTE:** It is possible to refer to vsperf parameter value by ``#PARAM()`` macro + (see :ref:`overriding-parameters-documentation`. However ``#PARAM()`` macro is + evaluated at the beginning of vsperf execution and it will not reflect any changes + made to the vsperf configuration during runtime. On the other hand ``$NAME`` + notation is evaluated during test execution and thus it contains any modifications + to the configuration parameter made by vsperf (e.g. ``TOOLS`` and ``NICS`` + dictionaries) or by testcase definition (e.g. ``TRAFFIC`` dictionary). + + Examples: + + .. code-block:: python + + ['tools', 'exec_shell', "$TOOLS['ovs-vsctl'] show"] + + ['settings', 'setValue', 'TRAFFICGEN_IXIA_PORT2', '$TRAFFICGEN_IXIA_PORT1'], + + ['vswitch', 'add_flow', 'int_br0', + {'in_port': '#STEP[1][1]', + 'dl_type': '0x800', + 'nw_proto': '17', + 'nw_dst': '$TRAFFIC["l3"]["dstip"]/8', + 'actions': ['output:#STEP[2][1]'] + } + ] + * ``namespace`` - creates or modifies network namespaces List of supported functions: -- cgit 1.2.3-korg