4 VPP is tested in a number of L2, IPv4 and IPv6 packet lookup and
5 forwarding modes. Within each mode baseline and scale tests are
6 executed, the latter with varying number of FIB entries.
11 VPP is tested in three L2 forwarding modes:
13 - *l2patch*: L2 patch, the fastest point-to-point L2 path that loops
14 packets between two interfaces without any Ethernet frame checks or
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)
22 l2bd tests are executed in baseline and scale configurations:
24 - *l2bdbase*: Two MAC FIB entries are learned by VPP to enable packet
25 switching between two interfaces in two directions. VPP L2 switching
26 is tested with 254 IPv4 unique flows per direction, varying IPv4
27 source address per flow in order to invoke RSS based packet
28 distribution across VPP workers. The same source and destination MAC
29 address is used for all flows per direction. IPv4 source address is
30 incremented for every packet.
32 - *l2bdscale*: A high number of MAC FIB entries are learned by VPP to
33 enable packet switching between two interfaces in two directions.
34 Tested MAC FIB sizes include: i) 10k with 5k unique flows per
35 direction, ii) 100k with 2 x 50k flows and iii) 1M with 2 x 500k
36 flows. Unique flows are created by using distinct source and
37 destination MAC addresses that are changed for every packet using
38 incremental ordering, making VPP learn (or refresh) distinct src MAC
39 entries and look up distinct dst MAC entries for every packet. For
40 details, see :ref:`packet_flow_ordering`.
42 Ethernet wire encapsulations tested include: untagged, dot1q, dot1ad.
47 IPv4 routing tests are executed in baseline and scale configurations:
49 - *ip4base*: Two /32 IPv4 FIB entries are configured in VPP to enable
50 packet routing between two interfaces in two directions. VPP routing
51 is tested with 253 IPv4 unique flows per direction, varying IPv4
52 source address per flow in order to invoke RSS based packet
53 distribution across VPP workers. IPv4 source address is incremented
56 - *ip4scale*: A high number of /32 IPv4 FIB entries are configured in
57 VPP. Tested IPv4 FIB sizes include: i) 20k with 10k unique flows per
58 direction, ii) 200k with 2 * 100k flows and iii) 2M with 2 * 1M
59 flows. Unique flows are created by using distinct IPv4 destination
60 addresses that are changed for every packet, using incremental or
61 random ordering. For details, see :ref:`packet_flow_ordering`.
66 Similarly to IPv4, IPv6 routing tests are executed in baseline and scale
69 - *ip6base*: Two /128 IPv4 FIB entries are configured in VPP to enable
70 packet routing between two interfaces in two directions. VPP routing
71 is tested with 253 IPv6 unique flows per direction, varying IPv6
72 source address per flow in order to invoke RSS based packet
73 distribution across VPP workers. IPv6 source address is incremented
76 - *ip4scale*: A high number of /128 IPv6 FIB entries are configured in
77 VPP. Tested IPv6 FIB sizes include: i) 20k with 10k unique flows per
78 direction, ii) 200k with 2 * 100k flows and iii) 2M with 2 * 1M
79 flows. Unique flows are created by using distinct IPv6 destination
80 addresses that are changed for every packet, using incremental or
81 random ordering. For details, see :ref:`packet_flow_ordering`.
86 SRv6 routing tests are executed in a number of baseline configurations,
87 in each case SR policy and steering policy are configured for one
88 direction and one (or two) SR behaviours (functions) in the other
91 - *srv6enc1sid*: One SID (no SRH present), one SR function - End.
92 - *srv6enc2sids*: Two SIDs (SRH present), two SR functions - End and
94 - *srv6enc2sids-nodecaps*: Two SIDs (SRH present) without decapsulation,
95 one SR function - End.
96 - *srv6proxy-dyn*: Dynamic SRv6 proxy, one SR function - End.AD.
97 - *srv6proxy-masq*: Masquerading SRv6 proxy, one SR function - End.AM.
98 - *srv6proxy-stat*: Static SRv6 proxy, one SR function - End.AS.
100 In all listed cases low number of IPv6 flows (253 per direction) is