CSIT-1438: Remove Denverton from Report
[csit.git] / docs / report / introduction / methodology_vpp_forwarding_modes.rst
1 VPP Forwarding Modes
2 --------------------
3
4 VPP is tested in a number of L2 and IP packet lookup and forwarding
5 modes. Within each mode baseline and scale tests are executed, the
6 latter with varying number of lookup entries.
7
8 L2 Ethernet Switching
9 ~~~~~~~~~~~~~~~~~~~~~
10
11 VPP is tested in three L2 forwarding modes:
12
13 - *l2patch*: L2 patch, the fastest point-to-point L2 path that loops
14   packets between two interfaces without any Ethernet frame checks or
15   lookups.
16 - *l2xc*: L2 cross-connect, point-to-point L2 path with all Ethernet
17   frame checks, but no MAC learning and no MAC lookup.
18 - *l2bd*: L2 bridge-domain, multipoint-to-multipoint L2 path with all
19   Ethernet frame checks, with MAC learning (unless static MACs are used)
20   and MAC lookup.
21
22 l2bd tests are executed in baseline and scale configurations:
23
24 - *l2bdbase*: low number of L2 flows (254 per direction) is switched by
25   VPP. They drive the content of MAC FIB size (508 total MAC entries).
26   Both source and destination MAC addresses are incremented on a packet
27   by packet basis.
28
29 - *l2bdscale*: high number of L2 flows is switched by VPP. Tested MAC
30   FIB sizes include: i) 10k (5k unique flows per direction), ii) 100k
31   (2x 50k flows) and iii) 1M (2x 500k). Both source and destination MAC
32   addresses are incremented on a packet by packet basis, ensuring new
33   entries are learn refreshed and looked up at every packet, making it
34   the worst case scenario.
35
36 Ethernet wire encapsulations tested include: untagged, dot1q, dot1ad.
37
38 IPv4 Routing
39 ~~~~~~~~~~~~
40
41 IPv4 routing tests are executed in baseline and scale configurations:
42
43 - *ip4base*: low number of IPv4 flows (253 or 254 per direction) is routed by
44   VPP. They drive the content of IPv4 FIB size (506 or 508 total /32 prefixes).
45   Destination IPv4 addresses are incremented on a packet by packet
46   basis.
47
48 - *ip4scale*: high number of IPv4 flows is routed by VPP. Tested IPv4
49   FIB sizes of /32 prefixes include: i) 20k (10k unique flows per
50   direction), ii) 200k (2x 100k flows) and iii) 2M (2x 1M). Destination
51   IPv4 addresses are incremented on a packet by packet basis, ensuring
52   new FIB entries are looked up at every packet, making it the worst
53   case scenario.
54
55 IPv6 Routing
56 ~~~~~~~~~~~~
57
58 IPv6 routing tests are executed in baseline and scale configurations:
59
60 - *ip6base*: low number of IPv6 flows (253 or 254 per direction) is routed by
61   VPP. They drive the content of IPv6 FIB size (506 or 508 total /128 prefixes).
62   Destination IPv6 addresses are incremented on a packet by packet
63   basis.
64
65 - *ip6scale*: high number of IPv6 flows is routed by VPP. Tested IPv6
66   FIB sizes of /128 prefixes include: i) 20k (10k unique flows per
67   direction), ii) 200k (2x 100k flows) and iii) 2M (2x 1M). Destination
68   IPv6 addresses are incremented on a packet by packet basis, ensuring
69   new FIB entries are looked up at every packet, making it the worst
70   case scenario.
71
72 SRv6 Routing
73 ~~~~~~~~~~~~
74
75 SRv6 routing tests are executed in a number of baseline configurations,
76 in each case SR policy and steering policy are configured for one
77 direction and one (or two) SR behaviours (functions) in the other
78 directions:
79
80 - *srv6enc1sid*: One SID (no SRH present), one SR function - End.
81 - *srv6enc2sids*: Two SIDs (SRH present), two SR functions - End and
82   End.DX6.
83 - *srv6enc2sids-nodecaps*: Two SIDs (SRH present) without decapsulation,
84   one SR function - End.
85 - *srv6proxy-dyn*: Dynamic SRv6 proxy, one SR function - End.AD.
86 - *srv6proxy-masq*: Masquerading SRv6 proxy, one SR function - End.AM.
87 - *srv6proxy-stat*: Static SRv6 proxy, one SR function - End.AS.
88
89 In all listed cases low number of IPv6 flows (253 per direction) is
90 routed by VPP.