aboutsummaryrefslogtreecommitdiffstats
path: root/docs/report/introduction/methodology_vpp_forwarding_modes.rst
blob: 1af3a465563d7dba5f4bfe00b142650331e2bd3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
VPP Forwarding Modes
--------------------

VPP is tested in a number of L2 and IP packet lookup and forwarding
modes. Within each mode baseline and scale tests are executed, the
latter with varying number of lookup entries.

L2 Ethernet Switching
~~~~~~~~~~~~~~~~~~~~~

VPP is tested in three L2 forwarding modes:

- *l2patch*: L2 patch, the fastest point-to-point L2 path that loops
  packets between two interfaces without any Ethernet frame checks or
  lookups.
- *l2xc*: L2 cross-connect, point-to-point L2 path with all Ethernet
  frame checks, but no MAC learning and no MAC lookup.
- *l2bd*: L2 bridge-domain, multipoint-to-multipoint L2 path with all
  Ethernet frame checks, with MAC learning (unless static MACs are used)
  and MAC lookup.

l2bd tests are executed in baseline and scale configurations:

- *l2bdbase*: low number of L2 flows (254 per direction) is switched by
  VPP. They drive the content of MAC FIB size (508 total MAC entries).
  Both source and destination MAC addresses are incremented on a packet
  by packet basis.

- *l2bdscale*: high number of L2 flows is switched by VPP. Tested MAC
  FIB sizes include: i) 10k (5k unique flows per direction), ii) 100k
  (2x 50k flows) and iii) 1M (2x 500k). Both source and destination MAC
  addresses are incremented on a packet by packet basis, ensuring new
  entries are learn refreshed and looked up at every packet, making it
  the worst case scenario.

Ethernet wire encapsulations tested include: untagged, dot1q, dot1ad.

IPv4 Routing
~~~~~~~~~~~~

IPv4 routing tests are executed in baseline and scale configurations:

- *ip4base*: low number of IPv4 flows (253 or 254 per direction) is routed by
  VPP. They drive the content of IPv4 FIB size (506 or 508 total /32 prefixes).
  Destination IPv4 addresses are incremented on a packet by packet
  basis.

- *ip4scale*: high number of IPv4 flows is routed by VPP. Tested IPv4
  FIB sizes of /32 prefixes include: i) 20k (10k unique flows per
  direction), ii) 200k (2x 100k flows) and iii) 2M (2x 1M). Destination
  IPv4 addresses are incremented on a packet by packet basis, ensuring
  new FIB entries are looked up at every packet, making it the worst
  case scenario.

IPv6 Routing
~~~~~~~~~~~~

IPv6 routing tests are executed in baseline and scale configurations:

- *ip6base*: low number of IPv6 flows (253 or 254 per direction) is routed by
  VPP. They drive the content of IPv6 FIB size (506 or 508 total /128 prefixes).
  Destination IPv6 addresses are incremented on a packet by packet
  basis.

- *ip6scale*: high number of IPv6 flows is routed by VPP. Tested IPv6
  FIB sizes of /128 prefixes include: i) 20k (10k unique flows per
  direction), ii) 200k (2x 100k flows) and iii) 2M (2x 1M). Destination
  IPv6 addresses are incremented on a packet by packet basis, ensuring
  new FIB entries are looked up at every packet, making it the worst
  case scenario.

SRv6 Routing
~~~~~~~~~~~~

SRv6 routing tests are executed in a number of baseline configurations,
in each case SR policy and steering policy are configured for one
direction and one (or two) SR behaviours (functions) in the other
directions:

- *srv6enc1sid*: One SID (no SRH present), one SR function - End.
- *srv6enc2sids*: Two SIDs (SRH present), two SR functions - End and
  End.DX6.
- *srv6enc2sids-nodecaps*: Two SIDs (SRH present) without decapsulation,
  one SR function - End.
- *srv6proxy-dyn*: Dynamic SRv6 proxy, one SR function - End.AD.
- *srv6proxy-masq*: Masquerading SRv6 proxy, one SR function - End.AM.
- *srv6proxy-stat*: Static SRv6 proxy, one SR function - End.AS.

In all listed cases low number of IPv6 flows (253 per direction) is
routed by VPP.