aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README31
-rw-r--r--jobs/README1
-rw-r--r--systems/README1
-rwxr-xr-xsystems/Ubuntu/build_base_machine.sh62
-rwxr-xr-xsystems/build_base_machine.sh39
-rw-r--r--testcases/README8
-rw-r--r--tools/README1
-rw-r--r--vswitches/README6
8 files changed, 149 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 00000000..4efbde82
--- /dev/null
+++ b/README
@@ -0,0 +1,31 @@
+# vswitchperf project directory layout:
+---------------------------------------
+
+\- vswitchperf
+ \- systems - contains linux distributions
+ |- build_base_machine.sh - Input for generating Makefiles
+ \- Fedora - Fedora specific setup
+ \- Ubuntu - Ubuntu specific setup
+ \- vswitches - API to setup vswitches DUT
+ |- add_switch - script to add switch
+ |- add_port - script to add ports on switch
+ |- add_flow - script to add flow on switch
+ \- ovs-dpdk - contains implementation on ovs-dpdk
+ \- ovs-kernel - contains implementation on ovs-kernel
+ \- tools - collections of tool sets
+ \- pktgen - contains various packet generator
+ |- dpkt-pktgen - dpdk pkt generator
+ |- pktgen - netmap pkt generator
+ |- pktcounter - a kernel based packet generator
+ |- spirent - script to control spirent
+ |- ixia - script to control ixia
+ \- collectors - contains various data collectors
+ \- testcases - collections of test cases
+ |- p2p - test PHY to PHY
+ |- pvp - test PHY to VNF to PHY
+ |- pvvp - test PHY to VNF to VNF to PHY
+ |- p2v - test PHY to VNF
+ |- v2p - test VNF to PHY
+ \- jobs - collections of job configurations
+ |- dpdk.conf - dpdk configuration
+ \- test_spec - contains test specifications
diff --git a/jobs/README b/jobs/README
new file mode 100644
index 00000000..9620ca97
--- /dev/null
+++ b/jobs/README
@@ -0,0 +1 @@
+This folder contains frequently used test configurations
diff --git a/systems/README b/systems/README
new file mode 100644
index 00000000..16ebc0c5
--- /dev/null
+++ b/systems/README
@@ -0,0 +1 @@
+This folder abstract out details among linux distros.
diff --git a/systems/Ubuntu/build_base_machine.sh b/systems/Ubuntu/build_base_machine.sh
new file mode 100755
index 00000000..be1e25d5
--- /dev/null
+++ b/systems/Ubuntu/build_base_machine.sh
@@ -0,0 +1,62 @@
+#!/bin/bash
+#
+# Build a base machine for Ubuntu style distro
+#
+# Copyright 2015 OPNFV
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Contributors:
+# Aihua Li, Huawei Technologies.
+
+# Synchronize package index files
+apt-get -y update
+
+# Make and Compilers
+apt-get -y install make
+apt-get -y install automake
+apt-get -y install gcc
+apt-get -y install gcc++
+apt-get -y install libssl1.0.0
+apt-get -y install libxml2
+apt-get -y install zlib1g-dev
+apt-get -y install scapy
+
+# Linux Kernel Source
+apt-get -y install linux-source
+apt-get -y install pkg-config
+
+# Install package dependecies
+apt-get -y install libncurses5-dev
+apt-get -y install curl
+apt-get -y install libcurl4-openssl-dev
+apt-get -y install autoconf libtool
+apt-get -y install libpcap-dev
+apt-get -y install libglib2.0
+
+# Some useful tools you may optionally install
+#apt-get -y install ctags
+#apt-get -y install wireshark
+
+# packages related to VM
+
+# a few manual fix up on a ubuntu
+cd /lib/x86_64-linux-gnu
+ln -sf libssl.so.1.0.0 libssl.so
+ln -sf libcrypto.so.1.0.0 libcrypto.so
+
+cd /usr/lib/x86_64-linux-gnu
+ln -sf libxml2.so.2 libxml2.so
+
+
+
diff --git a/systems/build_base_machine.sh b/systems/build_base_machine.sh
new file mode 100755
index 00000000..82cf4762
--- /dev/null
+++ b/systems/build_base_machine.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+#
+# Top level scripts to build basic setup for the host
+#
+
+# Copyright 2015 OPNFV
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Contributors:
+# Aihua Li, Huawei Technologies.
+
+# function to emit error message before quitting
+function die() {
+ echo $1
+ exit 1
+}
+
+# determine this machine's distro-version
+
+distro=`lsb_release -i | cut -f 2`
+distro_dir=$distro
+
+if [ -d "$distro_dir" ] && [ -e $distro_dir/build_base_machine.sh ]; then
+ $distro_dir/build_base_machine.sh
+else
+ die "$distro_dir is not yet supported"
+fi
diff --git a/testcases/README b/testcases/README
new file mode 100644
index 00000000..be6ffae2
--- /dev/null
+++ b/testcases/README
@@ -0,0 +1,8 @@
+### This folder contains various test cases for performance test.
+
+* P2P: packets flow from PHY -> vSwitch -> PHY
+* P2V: packets flow from PHY -> vSwitch -> VNF
+* V2V: packets flow from VNF -> vSwitch -> VNF
+* V2P: packets flow from VNF -> vSwitch -> PHY
+* PVP: pakcets flow from PHY -> vSwitch -> VNF -> vSwitch -> PHY
+* PVVP: packets flow from PHY -> vSwitch -> VNF -> vswitch -> VNF -> vSwitch -> PHY
diff --git a/tools/README b/tools/README
new file mode 100644
index 00000000..a10c2bb3
--- /dev/null
+++ b/tools/README
@@ -0,0 +1 @@
+This folder contains various tool sets for vswitch performance
diff --git a/vswitches/README b/vswitches/README
new file mode 100644
index 00000000..5af284ec
--- /dev/null
+++ b/vswitches/README
@@ -0,0 +1,6 @@
+This folder contains various vswitches to be tested
+
+Required API for each vswitch:
+ add_switch
+ add_port
+ add_flow