b7cab943c3cf32dafd49d24614f41d462a189245
[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 ..
301     TODO: Should we define tags STL and ASTF?
302
303 .. topic:: UDP_UDIR
304
305     Tests which use unidirectional UDP traffic (STL profile only).
306
307 .. topic:: UDP_BIDIR
308
309     Tests which use bidirectional UDP traffic (STL profile only).
310
311 .. topic:: UDP_CPS
312
313     Tests which measure connections per second on minimal UDP pseudoconnections.
314     This implies ASTF traffic profile is used.
315     This tag selects specific output processing in PAL.
316
317 .. topic:: TCP_CPS
318
319     Tests which measure connections per second on empty TCP connections.
320     This implies ASTF traffic profile is used.
321     This tag selects specific output processing in PAL.
322
323 .. topic:: TCP_RPS
324
325     Tests which measure requests per second on empty TCP connections.
326     This implies ASTF traffic profile is used.
327     This tag selects specific output processing in PAL.
328
329 .. topic:: UDP_PPS
330
331     Tests which measure packets per second on lightweight UDP transactions.
332     This implies ASTF traffic profile is used.
333     This tag selects specific output processing in PAL.
334
335 .. topic:: TCP_PPS
336
337     Tests which measure packets per second on lightweight TCP transactions.
338     This implies ASTF traffic profile is used.
339     This tag selects specific output processing in PAL.
340
341 .. topic:: HTTP
342
343     Tests which use traffic formed of valid HTTP requests (and responses).
344
345 ..
346     TODO: Add HTTP tag to the current hoststack tests.
347     TODO: Document other tags already used by hoststack tests.
348
349 .. topic:: LDP_NGINX
350
351     LDP NGINX is un-modified NGINX with VPP via LD_PRELOAD.
352
353 .. topic:: NF_DENSITY
354
355     Performance tests that measure throughput of multiple VNF and CNF
356     service topologies at different service densities.
357
358 NF Service Density Tags
359 -----------------------
360
361 .. topic:: CHAIN
362
363     NF service density tests with VNF or CNF service chain topology(ies).
364
365 .. topic:: PIPE
366
367     NF service density tests with CNF service pipeline topology(ies).
368
369 .. topic:: NF_L3FWDIP4
370
371     NF service density tests with DPDK l3fwd IPv4 routing as NF workload.
372
373 .. topic:: NF_VPPIP4
374
375     NF service density tests with VPP IPv4 routing as NF workload.
376
377 .. topic:: {r}R{c}C
378
379     Service density matrix locator {r}R{c}C, {r}Row denoting number of
380     service instances, {c}Column denoting number of NFs per service
381     instance. {r}=(1,2,4,6,8,10), {c}=(1,2,4,6,8,10).
382
383 .. topic:: {n}VM{t}T
384
385     Service density {n}VM{t}T, {n}Number of NF Qemu VMs, {t}Number of threads
386     per NF.
387
388 .. topic:: {n}DCRt}T
389
390     Service density {n}DCR{t}T, {n}Number of NF Docker containers, {t}Number of
391     threads per NF.
392
393 .. topic:: {n}_ADDED_CHAINS
394
395     {n}Number of chains (or pipelines) added (and/or removed)
396     during RECONF test.
397
398 Forwarding Mode Tags
399 --------------------
400
401 .. topic:: L2BDMACSTAT
402
403     VPP L2 bridge-domain, L2 MAC static.
404
405 .. topic:: L2BDMACLRN
406
407     VPP L2 bridge-domain, L2 MAC learning.
408
409 .. topic:: L2XCFWD
410
411     VPP L2 point-to-point cross-connect.
412
413 .. topic:: IP4FWD
414
415     VPP IPv4 routed forwarding.
416
417 .. topic:: IP6FWD
418
419     VPP IPv6 routed forwarding.
420
421 .. topic:: LOADBALANCER_MAGLEV
422
423     VPP Load balancer maglev mode.
424
425 .. topic:: LOADBALANCER_L3DSR
426
427     VPP Load balancer l3dsr mode.
428
429 .. topic:: LOADBALANCER_NAT4
430
431     VPP Load balancer nat4 mode.
432
433 Underlay Tags
434 -------------
435
436 .. topic:: IP4UNRLAY
437
438     IPv4 underlay.
439
440 .. topic:: IP6UNRLAY
441
442     IPv6 underlay.
443
444 .. topic:: MPLSUNRLAY
445
446     MPLS underlay.
447
448 Overlay Tags
449 ------------
450
451 .. topic:: L2OVRLAY
452
453     L2 overlay.
454
455 .. topic:: IP4OVRLAY
456
457     IPv4 overlay (IPv4 payload).
458
459 .. topic:: IP6OVRLAY
460
461     IPv6 overlay (IPv6 payload).
462
463 Tagging Tags
464 ------------
465
466 .. topic:: DOT1Q
467
468     All test cases with dot1q.
469
470 .. topic:: DOT1AD
471
472     All test cases with dot1ad.
473
474 Encapsulation Tags
475 ------------------
476
477 .. topic:: ETH
478
479     All test cases with base Ethernet (no encapsulation).
480
481 .. topic:: LISP
482
483     All test cases with LISP.
484
485 .. topic:: LISPGPE
486
487     All test cases with LISP-GPE.
488
489 .. topic:: LISP_IP4o4
490
491     All test cases with LISP_IP4o4.
492
493 .. topic:: LISPGPE_IP4o4
494
495     All test cases with LISPGPE_IP4o4.
496
497 .. topic:: LISPGPE_IP6o4
498
499     All test cases with LISPGPE_IP6o4.
500
501 .. topic:: LISPGPE_IP4o6
502
503     All test cases with LISPGPE_IP4o6.
504
505 .. topic:: LISPGPE_IP6o6
506
507     All test cases with LISPGPE_IP6o6.
508
509 .. topic:: VXLAN
510
511     All test cases with Vxlan.
512
513 .. topic:: VXLANGPE
514
515     All test cases with VXLAN-GPE.
516
517 .. topic:: GRE
518
519     All test cases with GRE.
520
521 .. topic:: GTPU
522
523     All test cases with GTPU.
524
525 .. topic:: IPSEC
526
527     All test cases with IPSEC.
528
529 .. topic:: SRv6
530
531     All test cases with Segment routing over IPv6 dataplane.
532
533 .. topic:: SRv6_1SID
534
535     All SRv6 test cases with single SID.
536
537 .. topic:: SRv6_2SID_DECAP
538
539     All SRv6 test cases with two SIDs and with decapsulation.
540
541 .. topic:: SRv6_2SID_NODECAP
542
543     All SRv6 test cases with two SIDs and without decapsulation.
544
545 .. topic:: GENEVE
546
547     All test cases with GENEVE.
548
549 .. topic:: GENEVE_L3MODE
550
551     All test cases with GENEVE tunnel in L3 mode.
552
553 Interface Tags
554 --------------
555
556 .. topic:: PHY
557
558     All test cases which use physical interface(s).
559
560 .. topic:: GSO
561
562     All test cases which uses Generic Segmentation Offload.
563
564 .. topic:: VHOST
565
566     All test cases which uses VHOST.
567
568 .. topic:: VHOST_1024
569
570     All test cases which uses VHOST DPDK driver with qemu queue size set
571     to 1024.
572
573 .. topic:: VIRTIO
574
575     All test cases which uses VIRTIO native VPP driver.
576
577 .. topic:: VIRTIO_1024
578
579     All test cases which uses VIRTIO native VPP driver with qemu queue size set
580     to 1024.
581
582 .. topic:: CFS_OPT
583
584     All test cases which uses VM with optimised scheduler policy.
585
586 .. topic:: TUNTAP
587
588     All test cases which uses TUN and TAP.
589
590 .. topic:: AFPKT
591
592     All test cases which uses AFPKT.
593
594 .. topic:: NETMAP
595
596     All test cases which uses Netmap.
597
598 .. topic:: MEMIF
599
600     All test cases which uses Memif.
601
602 .. topic:: SINGLE_MEMIF
603
604     All test cases which uses only single Memif connection per DUT. One DUT
605     instance is running in container having one physical interface exposed to
606     container.
607
608 .. topic:: LBOND
609
610     All test cases which uses link bonding (BondEthernet interface).
611
612 .. topic:: LBOND_DPDK
613
614     All test cases which uses DPDK link bonding.
615
616 .. topic:: LBOND_VPP
617
618     All test cases which uses VPP link bonding.
619
620 .. topic:: LBOND_MODE_XOR
621
622     All test cases which uses link bonding with mode XOR.
623
624 .. topic:: LBOND_MODE_LACP
625
626     All test cases which uses link bonding with mode LACP.
627
628 .. topic:: LBOND_LB_L34
629
630     All test cases which uses link bonding with load-balance mode l34.
631
632 .. topic:: LBOND_{n}L
633
634     All test cases which use {n} link(s) for link bonding.
635
636 .. topic:: DRV_{d}
637
638     All test cases which NIC Driver for DUT is set to {d}. Default is VFIO_PCI.
639     {d}=(AVF, RDMA_CORE, VFIO_PCI, AF_XDP).
640
641 .. topic:: RXQ_SIZE_{n}
642
643     All test cases which RXQ size (RX descriptors) are set to {n}. Default is 0,
644     which means VPP (API) default.
645
646 .. topic:: TXQ_SIZE_{n}
647
648     All test cases which TXQ size (TX descriptors) are set to {n}. Default is 0,
649     which means VPP (API) default.
650
651 Feature Tags
652 ------------
653
654 .. topic:: IACLDST
655
656     iACL destination.
657
658 .. topic:: ADLALWLIST
659
660     ADL allowlist.
661
662 .. topic:: NAT44
663
664     NAT44 configured and tested.
665
666 .. topic:: NAT64
667
668     NAT44 configured and tested.
669
670 .. topic:: ACL
671
672     ACL plugin configured and tested.
673
674 .. topic:: IACL
675
676     ACL plugin configured and tested on input path.
677
678 .. topic:: OACL
679
680     ACL plugin configured and tested on output path.
681
682 .. topic:: ACL_STATELESS
683
684     ACL plugin configured and tested in stateless mode (permit action).
685
686 .. topic:: ACL_STATEFUL
687
688     ACL plugin configured and tested in stateful mode (permit+reflect action).
689
690 .. topic:: ACL1
691
692     ACL plugin configured and tested with 1 not-hitting ACE.
693
694 .. topic:: ACL10
695
696     ACL plugin configured and tested with 10 not-hitting ACEs.
697
698 .. topic:: ACL50
699
700     ACL plugin configured and tested with 50 not-hitting ACEs.
701
702 .. topic:: SRv6_PROXY
703
704     SRv6 endpoint to SR-unaware appliance via proxy.
705
706 .. topic:: SRv6_PROXY_STAT
707
708     SRv6 endpoint to SR-unaware appliance via static proxy.
709
710 .. topic:: SRv6_PROXY_DYN
711
712     SRv6 endpoint to SR-unaware appliance via dynamic proxy.
713
714 .. topic:: SRv6_PROXY_MASQ
715
716     SRv6 endpoint to SR-unaware appliance via masquerading proxy.
717
718 Encryption Tags
719 ---------------
720
721 .. topic:: IPSECSW
722
723     Crypto in software.
724
725 .. topic:: IPSECHW
726
727     Crypto in hardware.
728
729 .. topic:: IPSECTRAN
730
731     IPSec in transport mode.
732
733 .. topic:: IPSECTUN
734
735     IPSec in tunnel mode.
736
737 .. topic:: IPSECINT
738
739     IPSec in interface mode.
740
741 .. topic:: AES
742
743     IPSec using AES algorithms.
744
745 .. topic:: AES_128_CBC
746
747     IPSec using AES 128 CBC algorithms.
748
749 .. topic:: AES_128_GCM
750
751     IPSec using AES 128 GCM algorithms.
752
753 .. topic:: AES_256_GCM
754
755     IPSec using AES 256 GCM algorithms.
756
757 .. topic:: HMAC
758
759     IPSec using HMAC integrity algorithms.
760
761 .. topic:: HMAC_SHA_256
762
763     IPSec using HMAC SHA 256 integrity algorithms.
764
765 .. topic:: HMAC_SHA_512
766
767     IPSec using HMAC SHA 512 integrity algorithms.
768
769 .. topic:: SCHEDULER
770
771     IPSec using crypto sw scheduler engine.
772
773 Client-Workload Tags
774 --------------------
775
776 .. topic:: VM
777
778     All test cases which use at least one virtual machine.
779
780 .. topic:: LXC
781
782     All test cases which use Linux container and LXC utils.
783
784 .. topic:: DRC
785
786     All test cases which use at least one Docker container.
787
788 .. topic:: DOCKER
789
790     All test cases which use Docker as container manager.
791
792 .. topic:: APP
793
794     All test cases with specific APP use.
795
796 Container Orchestration Tags
797 ----------------------------
798
799 .. topic:: {n}VSWITCH
800
801     {n} VPP running in {n} Docker container(s) acting as a VSWITCH.
802     {n}=(1).
803
804 .. topic:: {n}VNF
805
806     {n} VPP running in {n} Docker container(s) acting as a VNF work load.
807     {n}=(1).
808
809 Multi-Threading Tags
810 --------------------
811
812 .. topic:: STHREAD
813
814    *Dynamic tag*.
815    All test cases using single poll mode thread.
816
817 .. topic:: MTHREAD
818
819    *Dynamic tag*.
820     All test cases using more then one poll mode driver thread.
821
822 .. topic:: {n}NUMA
823
824     All test cases with packet processing on {n} socket(s). {n}=(1,2).
825
826 .. topic:: {c}C
827
828     {c} worker thread pinned to {c} dedicated physical core; or if
829     HyperThreading is enabled, {c}*2 worker threads each pinned to a separate
830     logical core within 1 dedicated physical core. Main thread pinned to core 1.
831     {t}=(1,2,4).
832
833 .. topic:: {t}T{c}C
834
835    *Dynamic tag*.
836     {t} worker threads pinned to {c} dedicated physical cores. Main thread
837     pinned to core 1. By default CSIT is configuring same amount of receive
838     queues per interface as worker threads. {t}=(1,2,4,8), {t}=(1,2,4).