feat(jobspec): Unify soak jobspecs
[csit.git] / docs / tag_documentation.rst
1 CSIT Tags
2 =========
3
4 All CSIT test cases are labelled with Robot Framework tags used to allow for
5 easy test case type identification, test case grouping and selection for
6 execution. Following sections list currently used CSIT tags and their
7 descriptions.
8
9 Testbed Topology Tags
10 ---------------------
11
12 .. topic:: 2_NODE_DOUBLE_LINK_TOPO
13
14     2 nodes connected in a circular topology with two links interconnecting
15     the devices.
16
17 .. topic:: 2_NODE_SINGLE_LINK_TOPO
18
19     2 nodes connected in a circular topology with at least one link
20     interconnecting devices.
21
22 .. topic:: 3_NODE_DOUBLE_LINK_TOPO
23
24     3 nodes connected in a circular topology with two links interconnecting
25     the devices.
26
27 .. topic:: 3_NODE_SINGLE_LINK_TOPO
28
29     3 nodes connected in a circular topology with at least one link
30     interconnecting devices.
31
32 Objective Tags
33 --------------
34
35 .. topic:: SKIP_PATCH
36
37     Test case(s) marked to not run in case of vpp-csit-verify (i.e. VPP patch)
38     and csit-vpp-verify jobs (i.e. CSIT patch).
39
40 .. topic:: SKIP_VPP_PATCH
41
42     Test case(s) marked to not run in case of vpp-csit-verify (i.e. VPP patch).
43
44 Environment Tags
45 ----------------
46
47 .. topic:: HW_ENV
48
49     DUTs and TGs are running on bare metal.
50
51 .. topic:: VM_ENV
52
53     DUTs and TGs are running in virtual environment.
54
55 .. topic:: VPP_VM_ENV
56
57     DUTs with VPP and capable of running Virtual Machine.
58
59 NIC Model Tags
60 --------------
61
62 .. topic:: NIC_Intel-X520-DA2
63
64     Intel X520-DA2 NIC.
65
66 .. topic:: NIC_Intel-XL710
67
68     Intel XL710 NIC.
69
70 .. topic:: NIC_Intel-X710
71
72     Intel X710 NIC.
73
74 .. topic:: NIC_Intel-XXV710
75
76     Intel XXV710 NIC.
77
78 .. topic:: NIC_Cisco-VIC-1227
79
80     VIC-1227 by Cisco.
81
82 .. topic:: NIC_Cisco-VIC-1385
83
84     VIC-1385 by Cisco.
85
86 .. topic:: NIC_Amazon-Nitro-50G
87
88     Amazon EC2 ENA NIC.
89
90 Scaling Tags
91 ------------
92
93 .. topic:: FIB_20K
94
95     2x10,000 entries in single fib table
96
97 .. topic:: FIB_200K
98
99     2x100,000 entries in single fib table
100
101 .. topic:: FIB_2M
102
103     2x1,000,000 entries in single fib table
104
105 .. topic:: L2BD_1
106
107     Test with 1 L2 bridge domain.
108
109 .. topic:: L2BD_10
110
111     Test with 10 L2 bridge domains.
112
113 .. topic:: L2BD_100
114
115     Test with 100 L2 bridge domains.
116
117 .. topic:: L2BD_1K
118
119     Test with 1000 L2 bridge domains.
120
121 .. topic:: VLAN_1
122
123     Test with 1 VLAN sub-interface.
124
125 .. topic:: VLAN_10
126
127     Test with 10 VLAN sub-interfaces.
128
129 .. topic:: VLAN_100
130
131     Test with 100 VLAN sub-interfaces.
132
133 .. topic:: VLAN_1K
134
135     Test with 1000 VLAN sub-interfaces.
136
137 .. topic:: VXLAN_1
138
139     Test with 1 VXLAN tunnel.
140
141 .. topic:: VXLAN_10
142
143     Test with 10 VXLAN tunnels.
144
145 .. topic:: VXLAN_100
146
147     Test with 100 VXLAN tunnels.
148
149 .. topic:: VXLAN_1K
150
151     Test with 1000 VXLAN tunnels.
152
153 .. topic:: TNL_{t}
154
155     IPSec in tunnel mode - {t} tunnels.
156
157 .. topic:: SRC_USER_{u}
158
159     Traffic flow with {u} unique IPs (users) in one direction.
160     {u}=(1,10,100,1000,2000,4000).
161
162 .. topic:: 100_FLOWS
163
164     Traffic stream with 100 unique flows (10 IPs/users x 10 UDP ports) in one
165     direction.
166
167 .. topic:: 10k_FLOWS
168
169     Traffic stream with 10 000 unique flows (10 IPs/users x 1000 UDP ports) in
170     one direction.
171
172 .. topic:: 100k_FLOWS
173
174     Traffic stream with 100 000 unique flows (100 IPs/users x 1000 UDP ports) in
175     one direction.
176
177 .. topic:: HOSTS_{h}
178
179     Stateless or stateful traffic stream with {h} client source IP4 addresses,
180     usually with 63 flow differing in source port number. Could be UDP or TCP.
181     If NAT is used, the clients are inside. Outside IP range can differ.
182     {h}=(1024,4096,16384,65536,262144).
183
184 .. topic:: GENEVE4_{t}TUN
185
186     Test with {t} GENEVE IPv4 tunnel. {t}=(1,4,16,64,256,1024)
187
188 Test Category Tags
189 ------------------
190
191 .. topic:: DEVICETEST
192
193     All vpp_device functional test cases.
194
195 .. topic:: PERFTEST
196
197     All performance test cases.
198
199 VPP Device Type Tags
200 --------------------
201
202 .. topic:: SCAPY
203
204     All test cases that uses Scapy for packet generation and validation.
205
206 Performance Type Tags
207 ---------------------
208
209 .. topic:: NDRPDR
210
211     Single test finding both No Drop Rate and Partial Drop Rate simultaneously.
212     The search is done by optimized algorithm which performs
213     multiple trial runs at different durations and transmit rates.
214     The results come from the final trials, which have duration of 30 seconds.
215
216 .. topic:: MRR
217
218     Performance tests where TG sends the traffic at maximum rate (line rate)
219     and reports total sent/received packets over trial duration.
220     The result is an average of 10 trials of 1 second duration.
221
222 .. topic:: SOAK
223
224     Performance tests using PLRsearch to find the critical load.
225
226 .. topic:: RECONF
227
228     Performance tests aimed to measure lost packets (time) when performing
229     reconfiguration while full throughput offered load is applied.
230
231 Ethernet Frame Size Tags
232 ------------------------
233
234 These are describing the traffic offered by Traffic Generator,
235 "primary" traffic in case of asymmetric load.
236 For traffic between DUTs, or for "secondary" traffic, see ${overhead} value.
237
238 .. topic:: {b}B
239
240     {b} Bytes frames used for test.
241
242 .. topic:: IMIX
243
244     IMIX frame sequence (28x 64B, 16x 570B, 4x 1518B) used for test.
245
246 Test Type Tags
247 --------------
248
249 .. topic:: BASE
250
251     Baseline test cases, no encapsulation, no feature(s) configured in tests.
252     No scaling whatsoever, beyond minimum needed for RSS.
253
254 .. topic:: IP4BASE
255
256     IPv4 baseline test cases, no encapsulation, no feature(s) configured in
257     tests. Minimal number of routes. Other quantities may be scaled.
258
259 .. topic:: IP6BASE
260
261     IPv6 baseline test cases, no encapsulation, no feature(s) configured in
262     tests.
263
264 .. topic:: L2XCBASE
265
266     L2XC baseline test cases, no encapsulation, no feature(s) configured in
267     tests.
268
269 .. topic:: L2BDBASE
270
271     L2BD baseline test cases, no encapsulation, no feature(s) configured in
272     tests.
273
274 .. topic:: L2PATCH
275
276     L2PATCH baseline test cases, no encapsulation, no feature(s) configured in
277     tests.
278
279 .. topic:: SCALE
280
281     Scale test cases. Other tags specify which quantities are scaled.
282     Also applies if scaling is set on TG only (e.g. DUT works as IP4BASE).
283
284 .. topic:: ENCAP
285
286     Test cases where encapsulation is used. Use also encapsulation tag(s).
287
288 .. topic:: FEATURE
289
290     At least one feature is configured in test cases. Use also feature tag(s).
291
292 .. topic:: UDP
293
294     Tests which use any kind of UDP traffic (STL or ASTF profile).
295
296 .. topic:: TCP
297
298     Tests which use any kind of TCP traffic (STL or ASTF profile).
299
300 .. topic:: TREX
301
302     Tests which test trex traffic without any software DUTs in the traffic path.
303
304 ..
305     TODO: Should we define tags STL and ASTF?
306
307 .. topic:: UDP_UDIR
308
309     Tests which use unidirectional UDP traffic (STL profile only).
310
311 .. topic:: UDP_BIDIR
312
313     Tests which use bidirectional UDP traffic (STL profile only).
314
315 .. topic:: UDP_CPS
316
317     Tests which measure connections per second on minimal UDP pseudoconnections.
318     This implies ASTF traffic profile is used.
319     This tag selects specific output processing in PAL.
320
321 .. topic:: TCP_CPS
322
323     Tests which measure connections per second on empty TCP connections.
324     This implies ASTF traffic profile is used.
325     This tag selects specific output processing in PAL.
326
327 .. topic:: TCP_RPS
328
329     Tests which measure requests per second on empty TCP connections.
330     This implies ASTF traffic profile is used.
331     This tag selects specific output processing in PAL.
332
333 .. topic:: UDP_PPS
334
335     Tests which measure packets per second on lightweight UDP transactions.
336     This implies ASTF traffic profile is used.
337     This tag selects specific output processing in PAL.
338
339 .. topic:: TCP_PPS
340
341     Tests which measure packets per second on lightweight TCP transactions.
342     This implies ASTF traffic profile is used.
343     This tag selects specific output processing in PAL.
344
345 .. topic:: HTTP
346
347     Tests which use traffic formed of valid HTTP requests (and responses).
348
349 ..
350     TODO: Add HTTP tag to the current hoststack tests.
351     TODO: Document other tags already used by hoststack tests.
352
353 .. topic:: LDP_NGINX
354
355     LDP NGINX is un-modified NGINX with VPP via LD_PRELOAD.
356
357 .. topic:: NF_DENSITY
358
359     Performance tests that measure throughput of multiple VNF and CNF
360     service topologies at different service densities.
361
362 NF Service Density Tags
363 -----------------------
364
365 .. topic:: CHAIN
366
367     NF service density tests with VNF or CNF service chain topology(ies).
368
369 .. topic:: PIPE
370
371     NF service density tests with CNF service pipeline topology(ies).
372
373 .. topic:: NF_L3FWDIP4
374
375     NF service density tests with DPDK l3fwd IPv4 routing as NF workload.
376
377 .. topic:: NF_VPPIP4
378
379     NF service density tests with VPP IPv4 routing as NF workload.
380
381 .. topic:: {r}R{c}C
382
383     Service density matrix locator {r}R{c}C, {r}Row denoting number of
384     service instances, {c}Column denoting number of NFs per service
385     instance. {r}=(1,2,4,6,8,10), {c}=(1,2,4,6,8,10).
386
387 .. topic:: {n}VM{t}T
388
389     Service density {n}VM{t}T, {n}Number of NF Qemu VMs, {t}Number of threads
390     per NF.
391
392 .. topic:: {n}DCRt}T
393
394     Service density {n}DCR{t}T, {n}Number of NF Docker containers, {t}Number of
395     threads per NF.
396
397 .. topic:: {n}_ADDED_CHAINS
398
399     {n}Number of chains (or pipelines) added (and/or removed)
400     during RECONF test.
401
402 Forwarding Mode Tags
403 --------------------
404
405 .. topic:: L2BDMACSTAT
406
407     VPP L2 bridge-domain, L2 MAC static.
408
409 .. topic:: L2BDMACLRN
410
411     VPP L2 bridge-domain, L2 MAC learning.
412
413 .. topic:: L2XCFWD
414
415     VPP L2 point-to-point cross-connect.
416
417 .. topic:: IP4FWD
418
419     VPP IPv4 routed forwarding.
420
421 .. topic:: IP6FWD
422
423     VPP IPv6 routed forwarding.
424
425 .. topic:: LOADBALANCER_MAGLEV
426
427     VPP Load balancer maglev mode.
428
429 .. topic:: LOADBALANCER_L3DSR
430
431     VPP Load balancer l3dsr mode.
432
433 .. topic:: LOADBALANCER_NAT4
434
435     VPP Load balancer nat4 mode.
436
437 .. topic:: N2N
438
439     Mode, where NICs from the same physical server are directly
440     connected with a cable.
441
442 Underlay Tags
443 -------------
444
445 .. topic:: IP4UNRLAY
446
447     IPv4 underlay.
448
449 .. topic:: IP6UNRLAY
450
451     IPv6 underlay.
452
453 .. topic:: MPLSUNRLAY
454
455     MPLS underlay.
456
457 Overlay Tags
458 ------------
459
460 .. topic:: L2OVRLAY
461
462     L2 overlay.
463
464 .. topic:: IP4OVRLAY
465
466     IPv4 overlay (IPv4 payload).
467
468 .. topic:: IP6OVRLAY
469
470     IPv6 overlay (IPv6 payload).
471
472 Tagging Tags
473 ------------
474
475 .. topic:: DOT1Q
476
477     All test cases with dot1q.
478
479 .. topic:: DOT1AD
480
481     All test cases with dot1ad.
482
483 Encapsulation Tags
484 ------------------
485
486 .. topic:: ETH
487
488     All test cases with base Ethernet (no encapsulation).
489
490 .. topic:: LISP
491
492     All test cases with LISP.
493
494 .. topic:: LISPGPE
495
496     All test cases with LISP-GPE.
497
498 .. topic:: LISP_IP4o4
499
500     All test cases with LISP_IP4o4.
501
502 .. topic:: LISPGPE_IP4o4
503
504     All test cases with LISPGPE_IP4o4.
505
506 .. topic:: LISPGPE_IP6o4
507
508     All test cases with LISPGPE_IP6o4.
509
510 .. topic:: LISPGPE_IP4o6
511
512     All test cases with LISPGPE_IP4o6.
513
514 .. topic:: LISPGPE_IP6o6
515
516     All test cases with LISPGPE_IP6o6.
517
518 .. topic:: VXLAN
519
520     All test cases with Vxlan.
521
522 .. topic:: VXLANGPE
523
524     All test cases with VXLAN-GPE.
525
526 .. topic:: GRE
527
528     All test cases with GRE.
529
530 .. topic:: GTPU
531
532     All test cases with GTPU.
533
534 .. topic:: GTPU_HWACCEL
535
536     All test cases with GTPU_HWACCEL.
537
538 .. topic:: IPSEC
539
540     All test cases with IPSEC.
541
542 .. topic:: WIREGUARD
543
544     All test cases with WIREGUARD.
545
546 .. topic:: SRv6
547
548     All test cases with Segment routing over IPv6 dataplane.
549
550 .. topic:: SRv6_1SID
551
552     All SRv6 test cases with single SID.
553
554 .. topic:: SRv6_2SID_DECAP
555
556     All SRv6 test cases with two SIDs and with decapsulation.
557
558 .. topic:: SRv6_2SID_NODECAP
559
560     All SRv6 test cases with two SIDs and without decapsulation.
561
562 .. topic:: GENEVE
563
564     All test cases with GENEVE.
565
566 .. topic:: GENEVE_L3MODE
567
568     All test cases with GENEVE tunnel in L3 mode.
569
570 .. topic:: FLOW
571
572     All test cases with FLOW.
573
574 .. topic:: FLOW_DIR
575
576     All test cases with FLOW_DIR.
577
578 .. topic:: FLOW_RSS
579
580     All test cases with FLOW_RSS.
581
582 .. topic:: NTUPLE
583
584     All test cases with NTUPLE.
585
586 .. topic:: L2TPV3
587
588     All test cases with L2TPV3.
589
590 Interface Tags
591 --------------
592
593 .. topic:: PHY
594
595     All test cases which use physical interface(s).
596
597 .. topic:: GSO
598
599     All test cases which uses Generic Segmentation Offload.
600
601 .. topic:: VHOST
602
603     All test cases which uses VHOST.
604
605 .. topic:: VHOST_1024
606
607     All test cases which uses VHOST DPDK driver with qemu queue size set
608     to 1024.
609
610 .. topic:: VIRTIO
611
612     All test cases which uses VIRTIO native VPP driver.
613
614 .. topic:: VIRTIO_1024
615
616     All test cases which uses VIRTIO native VPP driver with qemu queue size set
617     to 1024.
618
619 .. topic:: CFS_OPT
620
621     All test cases which uses VM with optimised scheduler policy.
622
623 .. topic:: TUNTAP
624
625     All test cases which uses TUN and TAP.
626
627 .. topic:: AFPKT
628
629     All test cases which uses AFPKT.
630
631 .. topic:: NETMAP
632
633     All test cases which uses Netmap.
634
635 .. topic:: MEMIF
636
637     All test cases which uses Memif.
638
639 .. topic:: SINGLE_MEMIF
640
641     All test cases which uses only single Memif connection per DUT. One DUT
642     instance is running in container having one physical interface exposed to
643     container.
644
645 .. topic:: LBOND
646
647     All test cases which uses link bonding (BondEthernet interface).
648
649 .. topic:: LBOND_DPDK
650
651     All test cases which uses DPDK link bonding.
652
653 .. topic:: LBOND_VPP
654
655     All test cases which uses VPP link bonding.
656
657 .. topic:: LBOND_MODE_XOR
658
659     All test cases which uses link bonding with mode XOR.
660
661 .. topic:: LBOND_MODE_LACP
662
663     All test cases which uses link bonding with mode LACP.
664
665 .. topic:: LBOND_LB_L34
666
667     All test cases which uses link bonding with load-balance mode l34.
668
669 .. topic:: LBOND_{n}L
670
671     All test cases which use {n} link(s) for link bonding.
672
673 .. topic:: DRV_{d}
674
675     All test cases which NIC Driver for DUT is set to {d}. Default is VFIO_PCI.
676     {d}=(AVF, RDMA_CORE, VFIO_PCI, AF_XDP).
677
678 .. topic:: TG_DRV_{d}
679
680     All test cases which NIC Driver for TG is set to {d}. Default is IGB_UIO.
681     {d}=(RDMA_CORE, IGB_UIO).
682
683 .. topic:: RXQ_SIZE_{n}
684
685     All test cases which RXQ size (RX descriptors) are set to {n}. Default is 0,
686     which means VPP (API) default.
687
688 .. topic:: TXQ_SIZE_{n}
689
690     All test cases which TXQ size (TX descriptors) are set to {n}. Default is 0,
691     which means VPP (API) default.
692
693 Feature Tags
694 ------------
695
696 .. topic:: IACLDST
697
698     iACL destination.
699
700 .. topic:: ADLALWLIST
701
702     ADL allowlist.
703
704 .. topic:: NAT44
705
706     NAT44 configured and tested.
707
708 .. topic:: NAT64
709
710     NAT44 configured and tested.
711
712 .. topic:: ACL
713
714     ACL plugin configured and tested.
715
716 .. topic:: IACL
717
718     ACL plugin configured and tested on input path.
719
720 .. topic:: OACL
721
722     ACL plugin configured and tested on output path.
723
724 .. topic:: ACL_STATELESS
725
726     ACL plugin configured and tested in stateless mode (permit action).
727
728 .. topic:: ACL_STATEFUL
729
730     ACL plugin configured and tested in stateful mode (permit+reflect action).
731
732 .. topic:: ACL1
733
734     ACL plugin configured and tested with 1 not-hitting ACE.
735
736 .. topic:: ACL10
737
738     ACL plugin configured and tested with 10 not-hitting ACEs.
739
740 .. topic:: ACL50
741
742     ACL plugin configured and tested with 50 not-hitting ACEs.
743
744 .. topic:: SRv6_PROXY
745
746     SRv6 endpoint to SR-unaware appliance via proxy.
747
748 .. topic:: SRv6_PROXY_STAT
749
750     SRv6 endpoint to SR-unaware appliance via static proxy.
751
752 .. topic:: SRv6_PROXY_DYN
753
754     SRv6 endpoint to SR-unaware appliance via dynamic proxy.
755
756 .. topic:: SRv6_PROXY_MASQ
757
758     SRv6 endpoint to SR-unaware appliance via masquerading proxy.
759
760 Encryption Tags
761 ---------------
762
763 .. topic:: IPSECSW
764
765     Crypto in software.
766
767 .. topic:: IPSECHW
768
769     Crypto in hardware.
770
771 .. topic:: IPSECTRAN
772
773     IPSec in transport mode.
774
775 .. topic:: IPSECTUN
776
777     IPSec in tunnel mode.
778
779 .. topic:: IPSECINT
780
781     IPSec in interface mode.
782
783 .. topic:: AES
784
785     IPSec using AES algorithms.
786
787 .. topic:: AES_128_CBC
788
789     IPSec using AES 128 CBC algorithms.
790
791 .. topic:: AES_128_GCM
792
793     IPSec using AES 128 GCM algorithms.
794
795 .. topic:: AES_256_GCM
796
797     IPSec using AES 256 GCM algorithms.
798
799 .. topic:: HMAC
800
801     IPSec using HMAC integrity algorithms.
802
803 .. topic:: HMAC_SHA_256
804
805     IPSec using HMAC SHA 256 integrity algorithms.
806
807 .. topic:: HMAC_SHA_512
808
809     IPSec using HMAC SHA 512 integrity algorithms.
810
811 .. topic:: SCHEDULER
812
813     IPSec using crypto sw scheduler engine.
814
815 Client-Workload Tags
816 --------------------
817
818 .. topic:: VM
819
820     All test cases which use at least one virtual machine.
821
822 .. topic:: LXC
823
824     All test cases which use Linux container and LXC utils.
825
826 .. topic:: DRC
827
828     All test cases which use at least one Docker container.
829
830 .. topic:: DOCKER
831
832     All test cases which use Docker as container manager.
833
834 .. topic:: APP
835
836     All test cases with specific APP use.
837
838 Container Orchestration Tags
839 ----------------------------
840
841 .. topic:: {n}VSWITCH
842
843     {n} VPP running in {n} Docker container(s) acting as a VSWITCH.
844     {n}=(1).
845
846 .. topic:: {n}VNF
847
848     {n} VPP running in {n} Docker container(s) acting as a VNF work load.
849     {n}=(1).
850
851 Multi-Threading Tags
852 --------------------
853
854 .. topic:: STHREAD
855
856    *Dynamic tag*.
857    All test cases using single poll mode thread.
858
859 .. topic:: MTHREAD
860
861    *Dynamic tag*.
862     All test cases using more then one poll mode driver thread.
863
864 .. topic:: {n}NUMA
865
866     All test cases with packet processing on {n} socket(s). {n}=(1,2).
867
868 .. topic:: {c}C
869
870     {c} worker thread pinned to {c} dedicated physical core; or if
871     HyperThreading is enabled, {c}*2 worker threads each pinned to a separate
872     logical core within 1 dedicated physical core. Main thread pinned to core 1.
873     {t}=(1,2,4).
874
875 .. topic:: {t}T{c}C
876
877    *Dynamic tag*.
878     {t} worker threads pinned to {c} dedicated physical cores. Main thread
879     pinned to core 1. By default CSIT is configuring same amount of receive
880     queues per interface as worker threads. {t}=(1,2,4,8), {t}=(1,2,4).