Merge "Makefile change and new task structures for IPSec Prox task"
[samplevnf.git] / docs / testing / developer / requirements / 03-Requirements.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. (c) OPNFV, Intel Corporation and others.
4
5 .. OPNFV SAMPLEVNF Documentation design file.
6
7 ============
8 Requirements
9 ============
10
11 **Required Test setup:**
12
13 .. _SampleVNF: https://wiki.opnfv.org/samplevnf
14 .. _Technical_Briefs: https://wiki.opnfv.org/display/SAM/Technical+Briefs+of+VNFs
15
16 Supported Test setup:
17 --------------------
18
19 The device under test (DUT) consists of a system following
20
21   * A single or dual processor and PCH chip, except for System on Chip (SoC) cases
22   * DRAM memory size and frequency (normally single DIMM per channel)
23   * Specific Intel Network Interface Cards (NICs)
24   * BIOS settings noting those that updated from the basic settings
25   * DPDK build configuration settings, and commands used for tests
26
27 Connected to the DUT is an IXIA* or Software Traffic generator like pktgen or TRex,
28 simulation platform to generate packet traffic to the DUT ports and
29 determine the throughput/latency at the tester side.
30
31
32 Hardware & Software Ingredients
33 -------------------------------
34
35 ::
36
37    +---------------+------------------+
38    | Item          | Description      |
39    +---------------+------------------+
40    | Memory        | Min 20GB         |
41    +---------------+------------------+
42    | NICs          | 2 x 10G          |
43    +---------------+------------------+
44    | HostOS/Guest  | Ubuntu 16.04 LTS |
45    +---------------+------------------+
46    | kernel        | >4.4.0-34-generic|
47    +---------------+------------------+
48    |DPDK           | >17.02           |
49    +---------------+------------------+
50
51    Boot and BIOS settings
52    +------------------+---------------------------------------------------+
53    | Boot settings    | default_hugepagesz=1G hugepagesz=1G hugepages=16  |
54    |                  | hugepagesz=2M hugepages=2048 isolcpus=1-11,22-33  |
55    |                  | nohz_full=1-11,22-33 rcu_nocbs=1-11,22-33         |
56    |                  | Note: nohz_full and rcu_nocbs is to disable Linux*|
57    |                  | kernel interrupts, and it’s import                |
58    +------------------+---------------------------------------------------+
59    |BIOS              | CPU Power and Performance Policy <Performance>    |
60    |                  | CPU C-state Disabled                              |
61    |                  | CPU P-state Disabled                              |
62    |                  | Enhanced Intel® Speedstep® Tech Disabled          |
63    |                  | Hyper-Threading Technology (If supported) Enable  |
64    |                  | Virtualization Techology Enable                   |
65    |                  | Coherency Enable                                  |
66    |                  | Turbo Boost Disabled                              |
67    +------------------+---------------------------------------------------+
68
69 Network Topology for testing VNFs
70 ---------------------------------
71
72 The ethernet cables should be connected between traffic generator and the VNF server (BM,
73 SRIOV or OVS) setup based on the test profile.
74
75 The connectivity could be
76
77 - Single port pair : One pair ports used for traffic
78
79  ::
80
81      e.g. Single port pair link0 and link1 of VNF are used
82      TG:port 0 <------> VNF:Port 0
83      TG:port 1 <------> VNF:Port 1
84
85
86 -  Multi port pair :  More than one pair of traffic
87
88  ::
89
90      e.g. Two port pair link 0, link1, link2 and link3 of VNF are used
91      TG:port 0 <------> VNF:Port 0
92      TG:port 1 <------> VNF:Port 1
93      TG:port 2 <------> VNF:Port 2
94      TG:port 3 <------> VNF:Port 3
95
96 For openstack/Standalone virtualization, installation please refer the openstack guide and ovs-dpdk/sriov github.
97 (TBA - Add link to guide)