C-Docs: New structure
[csit.git] / docs / content / methodology / test / tunnel_encapsulations.md
1 ---
2 title: "Tunnel Encapsulations"
3 weight: 3
4 ---
5
6 # Tunnel Encapsulations
7
8 Tunnel encapsulations testing is grouped based on the type of outer
9 header: IPv4 or IPv6.
10
11 ## IPv4 Tunnels
12
13 VPP is tested in the following IPv4 tunnel baseline configurations:
14
15 - *ip4vxlan-l2bdbase*: VXLAN over IPv4 tunnels with L2 bridge-domain MAC
16   switching.
17 - *ip4vxlan-l2xcbase*: VXLAN over IPv4 tunnels with L2 cross-connect.
18 - *ip4lispip4-ip4base*: LISP over IPv4 tunnels with IPv4 routing.
19 - *ip4lispip6-ip6base*: LISP over IPv4 tunnels with IPv6 routing.
20 - *ip4gtpusw-ip4base*: GTPU over IPv4 tunnels with IPv4 routing.
21
22 In all cases listed above low number of MAC, IPv4, IPv6 flows (253 or 254 per
23 direction) is switched or routed by VPP.
24
25 In addition selected IPv4 tunnels are tested at scale:
26
27 - *dot1q--ip4vxlanscale-l2bd*: VXLAN over IPv4 tunnels with L2 bridge-
28   domain MAC switching, with scaled up dot1q VLANs (10, 100, 1k),
29   mapped to scaled up L2 bridge-domains (10, 100, 1k), that are in turn
30   mapped to (10, 100, 1k) VXLAN tunnels. 64.5k flows are transmitted per
31   direction.
32
33 ## IPv6 Tunnels
34
35 VPP is tested in the following IPv6 tunnel baseline configurations:
36
37 - *ip6lispip4-ip4base*: LISP over IPv4 tunnels with IPv4 routing.
38 - *ip6lispip6-ip6base*: LISP over IPv4 tunnels with IPv6 routing.
39
40 In all cases listed above low number of IPv4, IPv6 flows (253 or 254 per
41 direction) is routed by VPP.
42
43 ## GENEVE
44
45 ### GENEVE Prefix Bindings
46
47 GENEVE prefix bindings should be representative to target applications, where
48 a packet flows of particular set of IPv4 addresses (L3 underlay network) is
49 routed via dedicated GENEVE interface by building an L2 overlay.
50
51 Private address ranges to be used in tests:
52
53 - East hosts ip address range: 10.0.1.0 - 10.127.255.255 (10.0/9 prefix)
54   - Total of 2^23 - 256 (8 388 352) of usable IPv4 addresses
55   - Usable in tests for up to 32 767 GENEVE tunnels (IPv4 underlay networks)
56 - West hosts ip address range: 10.128.1.0 - 10.255.255.255 (10.128/9 prefix)
57   - Total of 2^23 - 256 (8 388 352) of usable IPv4 addresses
58   - Usable in tests for up to 32 767 GENEVE tunnels (IPv4 underlay networks)
59
60 ### GENEVE Tunnel Scale
61
62 If N is a number of GENEVE tunnels (and IPv4 underlay networks) then TG sends
63 256 packet flows in every of N different sets:
64
65 - i = 1,2,3, ... N - GENEVE tunnel index
66 - East-West direction: GENEVE encapsulated packets
67   - Outer IP header:
68     - src ip: 1.1.1.1
69     - dst ip: 1.1.1.2
70   - GENEVE header:
71     - vni: i
72   - Inner IP header:
73     - src_ip_range(i) = 10.(0 + rounddown(i/255)).(modulo(i/255)).(0-to-255)
74     - dst_ip_range(i) = 10.(128 + rounddown(i/255)).(modulo(i/255)).(0-to-255)
75 - West-East direction: non-encapsulated packets
76   - IP header:
77     - src_ip_range(i) = 10.(128 + rounddown(i/255)).(modulo(i/255)).(0-to-255)
78     - dst_ip_range(i) = 10.(0 + rounddown(i/255)).(modulo(i/255)).(0-to-255)
79
80  **geneve-tunnels** | **total-flows**
81 -------------------:|----------------:
82  1                  | 256
83  4                  | 1 024
84  16                 | 4 096
85  64                 | 16 384
86  256                | 65 536
87  1 024              | 262 144