summaryrefslogtreecommitdiffstats
path: root/docs/testing
diff options
context:
space:
mode:
Diffstat (limited to 'docs/testing')
-rw-r--r--docs/testing/developer/design/04-SampleVNF_Design.rst7
-rw-r--r--docs/testing/developer/design/images/l2l3-components.pngbin0 -> 14832 bytes
-rw-r--r--docs/testing/developer/design/images/state-machine.pngbin0 -> 95685 bytes
-rw-r--r--docs/testing/user/userguide/04-installation.rst13
-rw-r--r--docs/testing/user/userguide/05-How_to_run_SampleVNFs.rst85
-rw-r--r--docs/testing/user/userguide/06-How_to_use_REST_api.rst2
-rw-r--r--docs/testing/user/userguide/07-Config_files.rst2
7 files changed, 63 insertions, 46 deletions
diff --git a/docs/testing/developer/design/04-SampleVNF_Design.rst b/docs/testing/developer/design/04-SampleVNF_Design.rst
index 2bcf6252..a3332e27 100644
--- a/docs/testing/developer/design/04-SampleVNF_Design.rst
+++ b/docs/testing/developer/design/04-SampleVNF_Design.rst
@@ -20,6 +20,9 @@ Introduction
L2L3 stack comprises of a set of libraries which are commonly used by all
other VNF's.
+.. image:: images/l2l3-components.png
+ :width: 800px
+
It comprises of following components.
* Interface Manager
@@ -27,7 +30,6 @@ It comprises of following components.
* ARP/ND & L2 adjacency Library
* L3 stack components
-
Interface Manager
-----------------
@@ -56,7 +58,8 @@ ARP/ND & L2 adjacency Library
The ARP/ND state machine is given in the following diagram.
-.. image:: state-machine.png
+.. image:: images/state-machine.png
+ :width: 800px
This library provides api's for handling ARP/ICMPv4 & ND/ICMPV6 packets
handling. It provides api's for creating/deleting & populating an entry.
diff --git a/docs/testing/developer/design/images/l2l3-components.png b/docs/testing/developer/design/images/l2l3-components.png
new file mode 100644
index 00000000..751c4b7c
--- /dev/null
+++ b/docs/testing/developer/design/images/l2l3-components.png
Binary files differ
diff --git a/docs/testing/developer/design/images/state-machine.png b/docs/testing/developer/design/images/state-machine.png
new file mode 100644
index 00000000..f0b06199
--- /dev/null
+++ b/docs/testing/developer/design/images/state-machine.png
Binary files differ
diff --git a/docs/testing/user/userguide/04-installation.rst b/docs/testing/user/userguide/04-installation.rst
index a415b418..e54243cb 100644
--- a/docs/testing/user/userguide/04-installation.rst
+++ b/docs/testing/user/userguide/04-installation.rst
@@ -156,12 +156,15 @@ Auto Build - Using script to build VNFs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* Interactive options:
::
+
./tools/vnf_build.sh -i
- Follow the steps in the screen from option [1] –> [9] and
- select option [8] to build the vnfs.
+ Follow the steps in the screen from option [1] –> [10] and
+ select option [9] to build the vnfs.
It will automatically download selected DPDK version and any
required patches and will setup everything and build VNFs.
+ Options [8], If RestAPI feature is needed install 'civetweb'
+
Following are the options for setup:
----------------------------------------------------------
Step 1: Environment setup.
@@ -177,13 +180,14 @@ Auto Build - Using script to build VNFs
[5] Download DPDK zip
[6] Build and Install DPDK
[7] Setup hugepages
+ [8] Download and Build civetweb
----------------------------------------------------------
Step 3: Build VNFs
----------------------------------------------------------
- [8] Build all VNFs (vACL, vCGNAPT, vFW, UDP_Replay, DPPD-PROX)
+ [9] Build all VNFs (vACL, vCGNAPT, vFW, UDP_Replay, DPPD-PROX)
- [9] Exit Script
+ [10] Exit Script
* non-Interactive options:
::
@@ -193,6 +197,7 @@ Manual Build
^^^^^^^^^^^^
::
+
1. Download DPDK supported version from dpdk.org
* http://dpdk.org/browse/dpdk/snapshot/dpdk-$DPDK_RTE_VER.zip
* unzip dpdk-$DPDK_RTE_VER.zip and apply dpdk patches only in case of 16.04 (Not required for other DPDK versions)
diff --git a/docs/testing/user/userguide/05-How_to_run_SampleVNFs.rst b/docs/testing/user/userguide/05-How_to_run_SampleVNFs.rst
index b087312a..7ba25fe1 100644
--- a/docs/testing/user/userguide/05-How_to_run_SampleVNFs.rst
+++ b/docs/testing/user/userguide/05-How_to_run_SampleVNFs.rst
@@ -126,6 +126,7 @@ Step 0: Preparing hardware connection
Connect Traffic generator and VNF system back to back as shown in previous section
::
+
TRex port 0 ↔ (VNF Port 0) ↔ (VNF Port 1) ↔ TRex port 1
Step 1: Setting up Traffic generator (TRex)
@@ -155,9 +156,13 @@ Auto Build
* Interactive options:
::
+
./tools/vnf_build.sh -i
- Follow the steps in the screen from option [1] –> [9] and select option [8] to build the vnfs.
+ Follow the steps in the screen from option [1] –> [10] and select option [9] to build the vnfs.
It will automatically download selected DPDK version and any required patches and will setup everything and build VNFs.
+
+ Options [8], If RestAPI feature is needed install 'civetweb'
+
Following are the options for setup:
----------------------------------------------------------
Step 1: Environment setup.
@@ -173,7 +178,7 @@ Auto Build
[5] Download DPDK zip
[6] Build and Install DPDK
[7] Setup hugepages
- [8] Download civetweb
+ [8] Download and Build civetweb
----------------------------------------------------------
Step 3: Build VNFs
@@ -186,6 +191,7 @@ Auto Build
* Non-Interactive options:
::
+
./tools/vnf_build.sh -s -d=<dpdk version eg 17.02>
if system is behind the proxy
./tools/vnf_build.sh -s -d=<dpdk version eg 17.02> -p=<proxy>
@@ -194,45 +200,41 @@ Manual Build
^^^^^^^^^^^^
::
+
1) Download DPDK supported version from dpdk.org
- http://dpdk.org/browse/dpdk/snapshot/dpdk-$DPDK_RTE_VER.zip
- unzip dpdk-$DPDK_RTE_VER.zip and apply dpdk patches only in case of 16.04 (Not required for other DPDK versions)
- cd dpdk
- make config T=x86_64-native-linuxapp-gcc O=x86_64-native-linuxapp-gcc
- cd x86_64-native-linuxapp-gcc
- make
+ * http://dpdk.org/browse/dpdk/snapshot/dpdk-$DPDK_RTE_VER.zip
+ * unzip dpdk-$DPDK_RTE_VER.zip and apply dpdk patches only in case of 16.04 (Not required for other DPDK versions)
+ * cd dpdk
+ * make config T=x86_64-native-linuxapp-gcc O=x86_64-native-linuxapp-gcc
+ * cd x86_64-native-linuxapp-gcc
+ * make
2) Download civetweb 1.9 version from the following link
- https://sourceforge.net/projects/civetweb/files/1.9/CivetWeb_V1.9.zip
- unzip CivetWeb_V1.9.zip
- mv civetweb-master civetweb
- cd civetweb
- make lib
-
- 3) Setup huge pages
- For 1G/2M hugepage sizes, for example 1G pages, the size must be
- specified explicitly and can also be optionally set as the
- default hugepage size for the system. For example, to reserve 8G
- of hugepage memory in the form of eight 1G pages, the following
- options should be passed to the kernel: * default_hugepagesz=1G
- hugepagesz=1G hugepages=8 hugepagesz=2M hugepages=2048
- 4) Add this to Go to /etc/default/grub configuration file.
- Append “default_hugepagesz=1G hugepagesz=1G hugepages=8 hugepagesz=2M hugepages=2048”
- to the GRUB_CMDLINE_LINUX entry.
- 5) Setup Environment Variable
- export RTE_SDK=<samplevnf>/dpdk
- export RTE_TARGET=x86_64-native-linuxapp-gcc
- export VNF_CORE=<samplevnf>
- or using ./tools/setenv.sh
- 6) Build VNFs
- cd <samplevnf>
- make
- or to build individual VNFs
- cd <samplevnf>/VNFs/
- make clean
- make
- The vFW executable will be created at the following location
- <samplevnf>/VNFs/vFW/build/vFW
+ * https://sourceforge.net/projects/civetweb/files/1.9/CivetWeb_V1.9.zip
+ * unzip CivetWeb_V1.9.zip
+ * mv civetweb-master civetweb
+ * cd civetweb
+ * make lib
+
+ 3) Add this to Go to /etc/default/grub configuration file to setup higepages.
+ * Append “default_hugepagesz=1G hugepagesz=1G hugepages=8 hugepagesz=2M hugepages=2048” to the GRUB_CMDLINE_LINUX entry.
+ * execute update-grub
+ * Reboot after grub setup
+
+ 4) Setup Environment Variable
+ * export RTE_SDK=<samplevnf>/dpdk
+ * export RTE_TARGET=x86_64-native-linuxapp-gcc
+ * export VNF_CORE=<samplevnf> or using ./tools/setenv.sh
+
+ 5) Build VNFs
+ * cd <samplevnf>
+ * make
+ * or To build individual VNFs
+ * cd <samplevnf>/VNFs/
+ * make clean
+ * make
+ * The vFW executable will be created at the following location
+ * <samplevnf>/VNFs/vFW/build/vFW
Virtual Firewall - How to run
@@ -456,14 +458,17 @@ Step 3: Bind the datapath ports to DPDK
./build/vCGNAPT -p 0x3 -f ./config/sample_swlb_2port_2WT.cfg -s ./config/sample_swlb_2port_2WT.tc
d) Run UDP_replay to reflect the traffic on public side.
+
+ ::
+
cmd: ./build/UDP_Replay -c 0x7 -n 4 -w <pci> -w <pci> -- --no-hw-csum -p <portmask> --config='(port, queue, cpucore)'
e.g ./build/UDP_Replay -c 0x7 -n 4 -w 0000:07:00.0 -w 0000:07:00.1 -- --no-hw-csum -p 0x3 --config='(0, 0, 1)(1, 0, 2)'
step 4: Run Test using traffic geneator
- On traffic generator system:
-
+ On traffic generator system:
::
+
cd <trex eg v2.28/stl>
Update the bench.py to generate the traffic.
diff --git a/docs/testing/user/userguide/06-How_to_use_REST_api.rst b/docs/testing/user/userguide/06-How_to_use_REST_api.rst
index 64c68a4f..b8c0cbea 100644
--- a/docs/testing/user/userguide/06-How_to_use_REST_api.rst
+++ b/docs/testing/user/userguide/06-How_to_use_REST_api.rst
@@ -158,10 +158,12 @@ need to be set before launching the application(To be run from
samplevnf directory).
::
+
./build/vFW (Without the -f & -s option)
1. When VNF(vCGNAPT/vACL/vFW) is launched it waits for user to provide the /vnf/config REST method.
::
+
e.g curl -X POST -H "Content-Type:application/json" -d '{"pci_white_list": "0000:08:00.0 0000:08:00.1"}' http://<IP>/vnf/config
Note: the config is mostly implemented based on existing VNF's. if new parameters
diff --git a/docs/testing/user/userguide/07-Config_files.rst b/docs/testing/user/userguide/07-Config_files.rst
index 4f3811ec..d5564e8d 100644
--- a/docs/testing/user/userguide/07-Config_files.rst
+++ b/docs/testing/user/userguide/07-Config_files.rst
@@ -29,6 +29,7 @@ of the VNFs.
1. SWLB, IPv4, Single Port Pair, 1WT:
::
+
[EAL]
w = 05:00.0
w = 05:00.1
@@ -100,6 +101,7 @@ of the VNFs.
This configuration doesn't require LOADB and TXRX pipelines
::
+
[EAL]
w = 05:00.0
w = 05:00.1