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