FIX: job specs
[csit.git] / docs / tag_documentation.rst
index d43a59a..b2130c1 100644 (file)
@@ -1,13 +1,23 @@
-CSIT TAGs Descriptions
-======================
+CSIT Tags
+=========
 
 All CSIT test cases are labelled with Robot Framework tags used to allow for
 easy test case type identification, test case grouping and selection for
-execution. Following sections list currently used CSIT TAGs and their
-documentation.
+execution. Following sections list currently used CSIT tags and their
+descriptions.
 
-Topology TAGs
--------------
+Testbed Topology Tags
+---------------------
+
+.. topic:: 2_NODE_DOUBLE_LINK_TOPO
+
+    2 nodes connected in a circular topology with two links interconnecting
+    the devices.
+
+.. topic:: 2_NODE_SINGLE_LINK_TOPO
+
+    2 nodes connected in a circular topology with at least one link
+    interconnecting devices.
 
 .. topic:: 3_NODE_DOUBLE_LINK_TOPO
 
@@ -19,7 +29,7 @@ Topology TAGs
     3 nodes connected in a circular topology with at least one link
     interconnecting devices.
 
-Objective TAGs
+Objective Tags
 --------------
 
 .. topic:: SKIP_PATCH
@@ -31,7 +41,7 @@ Objective TAGs
 
     Test case(s) marked to not run in case of vpp-csit-verify (i.e. VPP patch).
 
-Environment TAGs
+Environment Tags
 ----------------
 
 .. topic:: HW_ENV
@@ -46,7 +56,7 @@ Environment TAGs
 
     DUTs with VPP and capable of running Virtual Machine.
 
-NIC model tags
+NIC Model Tags
 --------------
 
 .. topic:: NIC_Intel-X520-DA2
@@ -61,6 +71,10 @@ NIC model tags
 
     Intel X710 NIC.
 
+.. topic:: NIC_Intel-XXV710
+
+    Intel XXV710 NIC.
+
 .. topic:: NIC_Cisco-VIC-1227
 
     VIC-1227 by Cisco.
@@ -69,7 +83,11 @@ NIC model tags
 
     VIC-1385 by Cisco.
 
-Scaling TAGs
+.. topic:: NIC_Amazon-Nitro-50G
+
+    Amazon EC2 ENA NIC.
+
+Scaling Tags
 ------------
 
 .. topic:: FIB_20K
@@ -84,29 +102,62 @@ Scaling TAGs
 
     2x1,000,000 entries in single fib table
 
-.. topic:: TNL_1000
+.. topic:: L2BD_1
+
+    Test with 1 L2 bridge domain.
+
+.. topic:: L2BD_10
+
+    Test with 10 L2 bridge domains.
+
+.. topic:: L2BD_100
+
+    Test with 100 L2 bridge domains.
+
+.. topic:: L2BD_1K
+
+    Test with 1000 L2 bridge domains.
+
+.. topic:: VLAN_1
+
+    Test with 1 VLAN sub-interface.
+
+.. topic:: VLAN_10
+
+    Test with 10 VLAN sub-interfaces.
 
-    IPSec in tunnel mode - 1000 tunnels.
+.. topic:: VLAN_100
 
-.. topic:: SRC_USER_10
+    Test with 100 VLAN sub-interfaces.
 
-    Traffic flow with 10 unique IPs (users) in one direction.
+.. topic:: VLAN_1K
 
-.. topic:: SRC_USER_100
+    Test with 1000 VLAN sub-interfaces.
 
-    Traffic flow with 100 unique IPs (users) in one direction.
+.. topic:: VXLAN_1
 
-.. topic:: SRC_USER_1000
+    Test with 1 VXLAN tunnel.
 
-    Traffic flow with 1000 unique IPs (users) in one direction.
+.. topic:: VXLAN_10
 
-.. topic:: SRC_USER_2000
+    Test with 10 VXLAN tunnels.
 
-    Traffic flow with 2000 unique IPs (users) in one direction.
+.. topic:: VXLAN_100
 
-.. topic:: SRC_USER_4000
+    Test with 100 VXLAN tunnels.
 
-    Traffic flow with 4000 unique IPs (users) in one direction.
+.. topic:: VXLAN_1K
+
+    Test with 1000 VXLAN tunnels.
+
+.. topic:: TNL_{t}
+
+    IPSec in tunnel mode - {t} tunnels.
+
+.. topic:: SRC_USER_{u}
+
+    Traffic flow with {u} unique IPs (users) in one direction.
+    {u}=(1,10,100,1000,2000,4000).
 
 .. topic:: 100_FLOWS
 
@@ -123,102 +174,87 @@ Scaling TAGs
     Traffic stream with 100 000 unique flows (100 IPs/users x 1000 UDP ports) in
     one direction.
 
-Tags marking functional vs. performance of tests
-------------------------------------------------
+.. topic:: HOSTS_{h}
+
+    Stateless or stateful traffic stream with {h} client source IP4 addresses,
+    usually with 63 flow differing in source port number. Could be UDP or TCP.
+    If NAT is used, the clients are inside. Outside IP range can differ.
+    {h}=(1024,4096,16384,65536,262144).
 
-.. topic:: FUNCTEST
+.. topic:: GENEVE4_{t}TUN
 
-    All functional test cases.
+    Test with {t} GENEVE IPv4 tunnel. {t}=(1,4,16,64,256,1024)
+
+Test Category Tags
+------------------
+
+.. topic:: DEVICETEST
+
+    All vpp_device functional test cases.
 
 .. topic:: PERFTEST
 
     All performance test cases.
 
-Performance testing tags
-------------------------
-
-.. topic:: PDRDISC
+VPP Device Type Tags
+--------------------
 
-    Partial Drop Rate evaluation of single run result, with non-zero packet
-    loss tolerance (LT) expressed in percentage of packets transmitted.
+.. topic:: SCAPY
 
-.. topic:: NDRDISC
+    All test cases that uses Scapy for packet generation and validation.
 
-    Non Drop Rate evaluation of results. Loss acceptance of dropped packets is
-    set to zero lost packets.
+Performance Type Tags
+---------------------
 
 .. topic:: NDRPDR
 
     Single test finding both No Drop Rate and Partial Drop Rate simultaneously.
     The search is done by optimized algorithm which performs
     multiple trial runs at different durations and transmit rates.
-
-.. topic:: NDRCHK
-
-    Performance tests where TG verifies DUTs' throughput at ref-NDR (reference
-    Non Drop Rate) with zero packet loss tolerance.
-
-.. topic:: PDRCHK
-
-    Performance tests where TG verifies DUTs' throughput at ref-PDR (reference
-    Partial Drop Rate) with 0.5% loss tolerance.
+    The results come from the final trials, which have duration of 30 seconds.
 
 .. topic:: MRR
 
     Performance tests where TG sends the traffic at maximum rate (line rate)
-    and reports total sent/received packets over performance trial duration.
+    and reports total sent/received packets over trial duration.
+    The result is an average of 10 trials of 1 second duration.
 
-.. topic:: NDRPDRDISC
+.. topic:: SOAK
 
-    Find performance of DUT based on :rfc:`2544` with linear / binary / combined
-    search. (Previous LONG tests.)
+    Performance tests using PLRsearch to find the critical load.
 
-Ethernet frame size tags for performance tests
-----------------------------------------------
+.. topic:: RECONF
 
-.. topic:: 64B
+    Performance tests aimed to measure lost packets (time) when performing
+    reconfiguration while full throughput offered load is applied.
 
-    64B frames used for test.
+Ethernet Frame Size Tags
+------------------------
+
+These are describing the traffic offered by Traffic Generator,
+"primary" traffic in case of asymmetric load.
+For traffic between DUTs, or for "secondary" traffic, see ${overhead} value.
 
-.. topic:: 78B
+.. topic:: {b}B
 
-    78B frames used for test.
+    {b} Bytes frames used for test.
 
 .. topic:: IMIX
 
     IMIX frame sequence (28x 64B, 16x 570B, 4x 1518B) used for test.
 
-.. topic:: 1460B
-
-    1460B frames used for test.
-
-.. topic:: 1480B
-
-    1480B frames used for test.
-
-.. topic:: 1514B
-
-    1514B frames used for test.
-
-.. topic:: 1518B
-
-    1518B frames used for test.
-
-.. topic:: 9000B
-
-    9000B frames used for test.
-
-Test type tags
+Test Type Tags
 --------------
 
 .. topic:: BASE
 
     Baseline test cases, no encapsulation, no feature(s) configured in tests.
+    No scaling whatsoever, beyond minimum needed for RSS.
 
 .. topic:: IP4BASE
 
     IPv4 baseline test cases, no encapsulation, no feature(s) configured in
-    tests.
+    tests. Minimal number of routes. Other quantities may be scaled.
 
 .. topic:: IP6BASE
 
@@ -235,9 +271,15 @@ Test type tags
     L2BD baseline test cases, no encapsulation, no feature(s) configured in
     tests.
 
+.. topic:: L2PATCH
+
+    L2PATCH baseline test cases, no encapsulation, no feature(s) configured in
+    tests.
+
 .. topic:: SCALE
 
-    Scale test cases.
+    Scale test cases. Other tags specify which quantities are scaled.
+    Also applies if scaling is set on TG only (e.g. DUT works as IP4BASE).
 
 .. topic:: ENCAP
 
@@ -247,27 +289,117 @@ Test type tags
 
     At least one feature is configured in test cases. Use also feature tag(s).
 
-.. topic:: TLDK
+.. topic:: UDP
 
-    Functional test cases for TLDK.
+    Tests which use any kind of UDP traffic (STL or ASTF profile).
 
 .. topic:: TCP
 
-    Tests which use TCP.
+    Tests which use any kind of TCP traffic (STL or ASTF profile).
+
+.. topic:: TREX
+
+    Tests which test trex traffic without any software DUTs in the traffic path.
+
+..
+    TODO: Should we define tags STL and ASTF?
+
+.. topic:: UDP_UDIR
+
+    Tests which use unidirectional UDP traffic (STL profile only).
+
+.. topic:: UDP_BIDIR
+
+    Tests which use bidirectional UDP traffic (STL profile only).
+
+.. topic:: UDP_CPS
+
+    Tests which measure connections per second on minimal UDP pseudoconnections.
+    This implies ASTF traffic profile is used.
+    This tag selects specific output processing in PAL.
 
 .. topic:: TCP_CPS
 
-    Performance tests which measure connections per second using http requests.
+    Tests which measure connections per second on empty TCP connections.
+    This implies ASTF traffic profile is used.
+    This tag selects specific output processing in PAL.
 
 .. topic:: TCP_RPS
 
-    Performance tests which measure requests per second using http requests.
+    Tests which measure requests per second on empty TCP connections.
+    This implies ASTF traffic profile is used.
+    This tag selects specific output processing in PAL.
+
+.. topic:: UDP_PPS
+
+    Tests which measure packets per second on lightweight UDP transactions.
+    This implies ASTF traffic profile is used.
+    This tag selects specific output processing in PAL.
+
+.. topic:: TCP_PPS
+
+    Tests which measure packets per second on lightweight TCP transactions.
+    This implies ASTF traffic profile is used.
+    This tag selects specific output processing in PAL.
 
 .. topic:: HTTP
 
-    Tests which use HTTP.
+    Tests which use traffic formed of valid HTTP requests (and responses).
+
+..
+    TODO: Add HTTP tag to the current hoststack tests.
+    TODO: Document other tags already used by hoststack tests.
+
+.. topic:: LDP_NGINX
+
+    LDP NGINX is un-modified NGINX with VPP via LD_PRELOAD.
+
+.. topic:: NF_DENSITY
+
+    Performance tests that measure throughput of multiple VNF and CNF
+    service topologies at different service densities.
+
+NF Service Density Tags
+-----------------------
+
+.. topic:: CHAIN
+
+    NF service density tests with VNF or CNF service chain topology(ies).
+
+.. topic:: PIPE
+
+    NF service density tests with CNF service pipeline topology(ies).
+
+.. topic:: NF_L3FWDIP4
+
+    NF service density tests with DPDK l3fwd IPv4 routing as NF workload.
+
+.. topic:: NF_VPPIP4
+
+    NF service density tests with VPP IPv4 routing as NF workload.
+
+.. topic:: {r}R{c}C
+
+    Service density matrix locator {r}R{c}C, {r}Row denoting number of
+    service instances, {c}Column denoting number of NFs per service
+    instance. {r}=(1,2,4,6,8,10), {c}=(1,2,4,6,8,10).
+
+.. topic:: {n}VM{t}T
+
+    Service density {n}VM{t}T, {n}Number of NF Qemu VMs, {t}Number of threads
+    per NF.
+
+.. topic:: {n}DCRt}T
+
+    Service density {n}DCR{t}T, {n}Number of NF Docker containers, {t}Number of
+    threads per NF.
 
-Forwarding mode tags
+.. topic:: {n}_ADDED_CHAINS
+
+    {n}Number of chains (or pipelines) added (and/or removed)
+    during RECONF test.
+
+Forwarding Mode Tags
 --------------------
 
 .. topic:: L2BDMACSTAT
@@ -290,7 +422,24 @@ Forwarding mode tags
 
     VPP IPv6 routed forwarding.
 
-Underlay tags
+.. topic:: LOADBALANCER_MAGLEV
+
+    VPP Load balancer maglev mode.
+
+.. topic:: LOADBALANCER_L3DSR
+
+    VPP Load balancer l3dsr mode.
+
+.. topic:: LOADBALANCER_NAT4
+
+    VPP Load balancer nat4 mode.
+
+.. topic:: N2N
+
+    Mode, where NICs from the same physical server are directly
+    connected with a cable.
+
+Underlay Tags
 -------------
 
 .. topic:: IP4UNRLAY
@@ -305,7 +454,7 @@ Underlay tags
 
     MPLS underlay.
 
-Overlay tags
+Overlay Tags
 ------------
 
 .. topic:: L2OVRLAY
@@ -320,7 +469,7 @@ Overlay tags
 
     IPv6 overlay (IPv6 payload).
 
-Tagging tags
+Tagging Tags
 ------------
 
 .. topic:: DOT1Q
@@ -331,7 +480,7 @@ Tagging tags
 
     All test cases with dot1ad.
 
-Encapsulation tags
+Encapsulation Tags
 ------------------
 
 .. topic:: ETH
@@ -346,6 +495,26 @@ Encapsulation tags
 
     All test cases with LISP-GPE.
 
+.. topic:: LISP_IP4o4
+
+    All test cases with LISP_IP4o4.
+
+.. topic:: LISPGPE_IP4o4
+
+    All test cases with LISPGPE_IP4o4.
+
+.. topic:: LISPGPE_IP6o4
+
+    All test cases with LISPGPE_IP6o4.
+
+.. topic:: LISPGPE_IP4o6
+
+    All test cases with LISPGPE_IP4o6.
+
+.. topic:: LISPGPE_IP6o6
+
+    All test cases with LISPGPE_IP6o6.
+
 .. topic:: VXLAN
 
     All test cases with Vxlan.
@@ -358,6 +527,10 @@ Encapsulation tags
 
     All test cases with GRE.
 
+.. topic:: GTPU
+
+    All test cases with GTPU.
+
 .. topic:: IPSEC
 
     All test cases with IPSEC.
@@ -366,24 +539,54 @@ Encapsulation tags
 
     All test cases with Segment routing over IPv6 dataplane.
 
-Interface tags
+.. topic:: SRv6_1SID
+
+    All SRv6 test cases with single SID.
+
+.. topic:: SRv6_2SID_DECAP
+
+    All SRv6 test cases with two SIDs and with decapsulation.
+
+.. topic:: SRv6_2SID_NODECAP
+
+    All SRv6 test cases with two SIDs and without decapsulation.
+
+.. topic:: GENEVE
+
+    All test cases with GENEVE.
+
+.. topic:: GENEVE_L3MODE
+
+    All test cases with GENEVE tunnel in L3 mode.
+
+Interface Tags
 --------------
 
 .. topic:: PHY
 
     All test cases which use physical interface(s).
 
+.. topic:: GSO
+
+    All test cases which uses Generic Segmentation Offload.
+
 .. topic:: VHOST
 
     All test cases which uses VHOST.
 
-.. topic:: VHOST_256
+.. topic:: VHOST_1024
 
-    All test cases which uses VHOST with qemu queue size set to 256.
+    All test cases which uses VHOST DPDK driver with qemu queue size set
+    to 1024.
 
-.. topic:: VHOST_1024
+.. topic:: VIRTIO
 
-    All test cases which uses VHOST with qemu queue size set to 1024.
+    All test cases which uses VIRTIO native VPP driver.
+
+.. topic:: VIRTIO_1024
+
+    All test cases which uses VIRTIO native VPP driver with qemu queue size set
+    to 1024.
 
 .. topic:: CFS_OPT
 
@@ -405,6 +608,12 @@ Interface tags
 
     All test cases which uses Memif.
 
+.. topic:: SINGLE_MEMIF
+
+    All test cases which uses only single Memif connection per DUT. One DUT
+    instance is running in container having one physical interface exposed to
+    container.
+
 .. topic:: LBOND
 
     All test cases which uses link bonding (BondEthernet interface).
@@ -429,16 +638,40 @@ Interface tags
 
     All test cases which uses link bonding with load-balance mode l34.
 
-Feature tags
+.. topic:: LBOND_{n}L
+
+    All test cases which use {n} link(s) for link bonding.
+
+.. topic:: DRV_{d}
+
+    All test cases which NIC Driver for DUT is set to {d}. Default is VFIO_PCI.
+    {d}=(AVF, RDMA_CORE, VFIO_PCI, AF_XDP).
+
+.. topic:: TG_DRV_{d}
+
+    All test cases which NIC Driver for TG is set to {d}. Default is IGB_UIO.
+    {d}=(RDMA_CORE, IGB_UIO).
+
+.. topic:: RXQ_SIZE_{n}
+
+    All test cases which RXQ size (RX descriptors) are set to {n}. Default is 0,
+    which means VPP (API) default.
+
+.. topic:: TXQ_SIZE_{n}
+
+    All test cases which TXQ size (TX descriptors) are set to {n}. Default is 0,
+    which means VPP (API) default.
+
+Feature Tags
 ------------
 
 .. topic:: IACLDST
 
     iACL destination.
 
-.. topic:: COPWHLIST
+.. topic:: ADLALWLIST
 
-    COP whitelist.
+    ADL allowlist.
 
 .. topic:: NAT44
 
@@ -496,7 +729,7 @@ Feature tags
 
     SRv6 endpoint to SR-unaware appliance via masquerading proxy.
 
-Encryption tags
+Encryption Tags
 ---------------
 
 .. topic:: IPSECSW
@@ -515,126 +748,105 @@ Encryption tags
 
     IPSec in tunnel mode.
 
-Client-workload tags
---------------------
-
-.. topic:: VM
-
-    All test cases which use at least one virtual machine.
-
-.. topic:: LXC
-
-    All test cases which use Linux container and LXC utils.
+.. topic:: IPSECINT
 
-.. topic:: DOCKER
+    IPSec in interface mode.
 
-    All test cases which use Docker as container manager.
+.. topic:: AES
 
-.. topic:: APP
-
-    All test cases with specific APP use.
-
-Container orchestration tags
-----------------------------
+    IPSec using AES algorithms.
 
-.. topic:: K8S
+.. topic:: AES_128_CBC
 
-    All test cases which use Kubernetes for orchestration.
+    IPSec using AES 128 CBC algorithms.
 
-.. topic:: SFC_CONTROLLER
+.. topic:: AES_128_GCM
 
-    All test cases which use ligato/sfc_controller for driving configuration
-    of vpp inside container.
+    IPSec using AES 128 GCM algorithms.
 
-.. topic:: VPP_AGENT
+.. topic:: AES_256_GCM
 
-    All test cases which use Golang implementation of a control/management plane
-    for VPP
+    IPSec using AES 256 GCM algorithms.
 
-.. topic:: 1VSWITCH
+.. topic:: HMAC
 
-    VPP running in Docker container acting as VSWITCH.
+    IPSec using HMAC integrity algorithms.
 
-.. topic:: 1VNF
+.. topic:: HMAC_SHA_256
 
-    1 VPP running in Docker container acting as VNF work load.
+    IPSec using HMAC SHA 256 integrity algorithms.
 
-.. topic:: 2VNF
+.. topic:: HMAC_SHA_512
 
-    2 VPP running in 2 Docker containers acting as VNF work load.
+    IPSec using HMAC SHA 512 integrity algorithms.
 
-.. topic:: 4VNF
+.. topic:: SCHEDULER
 
-    4 VPP running in 4 Docker containers acting as VNF work load.
+    IPSec using crypto sw scheduler engine.
 
-Multi-threading tags
+Client-Workload Tags
 --------------------
 
-.. topic:: STHREAD
-
-    All test cases using single poll mode thread.
-
-.. topic:: MTHREAD
-
-    All test cases using more then one poll mode driver thread.
-
-.. topic:: 1NUMA
-
-    All test cases with packet processing on single socket.
+.. topic:: VM
 
-.. topic:: 2NUMA
+    All test cases which use at least one virtual machine.
 
-    All test cases with packet processing on two sockets.
+.. topic:: LXC
 
-.. topic:: SMT
+    All test cases which use Linux container and LXC utils.
 
-    All test cases with symmetric Multi-Threading (HyperThreading) enabled.
+.. topic:: DRC
 
-.. topic:: NOSMT
+    All test cases which use at least one Docker container.
 
-    All test cases with symmetric Multi-Threading (HyperThreading) disabled.
+.. topic:: DOCKER
 
-.. topic:: 1T1C
+    All test cases which use Docker as container manager.
 
-    1 worker thread pinned to 1 dedicated physical core. 1 receive queue per
-    interface. Main thread pinned to core 0.
+.. topic:: APP
 
-.. topic:: 2T2C
+    All test cases with specific APP use.
 
-    2 worker threads pinned to 2 dedicated physical cores. 1 receive queue per
-    interface. Main thread pinned to core 0.
+Container Orchestration Tags
+----------------------------
 
-.. topic:: 4T4C
+.. topic:: {n}VSWITCH
 
-    4 worker threads pinned to 4 dedicated physical cores. 2 receive queues per
-    interface. Main thread pinned to core 0.
+    {n} VPP running in {n} Docker container(s) acting as a VSWITCH.
+    {n}=(1).
 
-.. topic:: 6T6C
+.. topic:: {n}VNF
 
-    6 worker threads pinned to 6 dedicated physical cores. 3 receive queues per
-    interface. Main thread pinned to core 0.
+    {n} VPP running in {n} Docker container(s) acting as a VNF work load.
+    {n}=(1).
 
-.. topic:: 8T8C
+Multi-Threading Tags
+--------------------
 
-    8 worker threads pinned to 8 dedicated physical cores. 4 receive queues per
-    interface. Main thread pinned to core 0.
+.. topic:: STHREAD
 
-Honeycomb tags
---------------
+   *Dynamic tag*.
+   All test cases using single poll mode thread.
 
-.. topic:: HC_FUNC
+.. topic:: MTHREAD
 
-    Honeycomb functional test cases.
+   *Dynamic tag*.
+    All test cases using more then one poll mode driver thread.
 
-.. topic:: HC_NSH
+.. topic:: {n}NUMA
 
-    Honeycomb NSH test cases.
+    All test cases with packet processing on {n} socket(s). {n}=(1,2).
 
-.. topic:: HC_PERSIST
+.. topic:: {c}C
 
-    Honeycomb persistence test cases.
+    {c} worker thread pinned to {c} dedicated physical core; or if
+    HyperThreading is enabled, {c}*2 worker threads each pinned to a separate
+    logical core within 1 dedicated physical core. Main thread pinned to core 1.
+    {t}=(1,2,4).
 
-.. topic:: HC_REST_ONLY
+.. topic:: {t}T{c}C
 
-    (Exclusion tag) Honeycomb test cases that cannot be run in Netconf mode
-    using ODL client for Restfconf -> Netconf translation.
+   *Dynamic tag*.
+    {t} worker threads pinned to {c} dedicated physical cores. Main thread
+    pinned to core 1. By default CSIT is configuring same amount of receive
+    queues per interface as worker threads. {t}=(1,2,4,8), {t}=(1,2,4).