aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/vTC/apexlake/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'yardstick/vTC/apexlake/README.md')
-rw-r--r--yardstick/vTC/apexlake/README.md122
1 files changed, 0 insertions, 122 deletions
diff --git a/yardstick/vTC/apexlake/README.md b/yardstick/vTC/apexlake/README.md
deleted file mode 100644
index b89df0725..000000000
--- a/yardstick/vTC/apexlake/README.md
+++ /dev/null
@@ -1,122 +0,0 @@
-Welcome to ApexLake's documentation!
-====================================
-ApexLake is a framework that provides automatic execution of experiment and related data collection to help
-the user validating the infrastructure from a Virtual Network Function perspective.
-
-Install framework and dependencies
-----------------------------------
-Before to start the framework, a set of dependencies are required.
-In the following a set of instructions to be executed on the Linux shell to install dependencies and configure the environment.
-
-1. Install dependencies
- - # apt-get install python-dev
- - # apt-get install python-pip
- - # apt-get install python-mock
- - # apt-get install tcpreplay
- - # apt-get install libpcap-dev
-
-2. Install the framework on the system
- - # python setup.py install
-
-3. Source OpenStack openrc file
- - $ source openrc
-
-4. Create 2 Networks (and subnets) based on VLANs (provider:network_type = vlan) in Neutron
- - $ neutron net-create apexlake_inbound_network --provider:network_type vlan --provider:physical_network physnet1
- - $ neutron subnet-create apexlake_inbound_network 192.168.0.0/24 --name apexlake_inbound_subnet
- - $ neutron net-create apexlake_outbound_network --provider:network_type vlan --provider:physical_network physnet1
- - $ neutron subnet-create apexlake_outbound_network 192.168.1.0/24 --name apexlake_outbound_subnet
-
-5. Insert VLAN tags related to the networks have to ApexLake, either:
- - into the "conf.cfg" configuration file, or
- - through the Python API.
-
-
-Install and configure DPDK Pktgen
-+++++++++++++++++++++++++++++++++
-The execution of the framework is based on DPDK Pktgen.
-If DPDK Pktgen has not been installed on the system by the user, it is necessary to download, compile and configure it.
-The user can create a directory and download the dpdk packet generator source code:
- - $ cd experimental_framework/libraries
- - $ mkdir dpdk_pktgen
- - $ git clone https://github.com/pktgen/Pktgen-DPDK.git
-
-For the installation and configuration of DPDK and DPDK Pktgen please follow the official DPDK Pktgen README file.
-Once the installation is completed, it is necessary to load the DPDK kernel driver, as follow:
- - # insmod uio
- - # insmod DPDK_DIR/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
-
-It is required to properly set the configuration file according to the system on Pktgen runs on.
-An example is provided in the following:
-
- - [PacketGen]
- - packet_generator = dpdk_pktgen
- - pktgen_directory = /home/user/apexlake/experimental_framework/libraries/dpdk_pktgen/dpdk/examples/pktgen/
- -- This is the directory where the packet generator is installed (if the user previously installed dpdk-pktgen, it is required to provide the director where it is installed).
- - dpdk_directory = /home/user/apexlake/experimental_framework/libraries/Pktgen-DPDK/dpdk/
- -- This is the directory where DPDK is installed
- - program_name = app/app/x86_64-native-linuxapp-gcc/pktgen
- -- This is the name of the dpdk-pktgen program that starts the packet generator
- - coremask = 1f
- -- DPDK coremask (see DPDK-Pktgen readme)
- - memory_channels = 3
- -- DPDK memory channels (see DPDK-Pktgen readme)
- - name_if_1 = p1p1
- -- Name of the interface of the pktgen to be used to send traffic
- - name_if_2 = p1p2
- -- Name of the interface of the pktgen to be used to receive traffic
- - bus_slot_nic_1 = 01:00.0
- -- PCI bus address correspondent to the if_1
- - bus_slot_nic_2 = 01:00.1
- -- PCI bus address correspondent to the if_2
-
-
-To find the parameters related to names of the NICs and addresses of the PCI buses the user may find useful to run the DPDK tool nic_bind as follows:
-
- - $ DPDK_DIR/tools/dpdk_nic_bind.py --status
-
-which lists the NICs available on the system, show the available drivers and bus addresses for each interface.
-Please make sure to select NICs which are DPDK compatible.
-
-Installation and configuration of smcroute
-++++++++++++++++++++++++++++++++++++++++++
-The user is required to install smcroute which is used by the framework to support multicast communications.
-In the following a list of commands to be ran to download and install smroute is provided.
-
- - $ cd ~
- - $ git clone https://github.com/troglobit/smcroute.git
- - $ cd smcroute
- - $ sed -i 's/aclocal-1.11/aclocal/g' ./autogen.sh
- - $ sed -i 's/automake-1.11/automake/g' ./autogen.sh
- - $ ./autogen.sh
- - $ ./configure
- - $ make
- - $ sudo make install
- - $ cd ..
-
-It is also required to create a configuration file using the following command:
-
- - $ SMCROUTE_NIC=(name of the nic)
-
-where name of the nic is the name used previously for the variable "name_if_2".
-In the example it would be:
-
- - $ SMCROUTE_NIC=p1p2
-
-Then create the smcroute configuration file /etc/smcroute.conf
-
- - $echo mgroup from $SMCROUTE_NIC group 224.192.16.1 > /etc/smcroute.conf
-
-
-At the end of this procedure it will be necessary to perform the following actions to add the user to the sudoers:
-
- - adduser USERNAME sudo
- - echo "user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
-
-
-Experiment using SR-IOV configuration on the compute node
-+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-In order to enable SR-IOV interfaces on the physical NIC of the compute node, a compatible NIC is required.
-NIC configuration depends on model and vendor. After proper configuration to support SR-IOV, a proper configuration of openstack is required.
-For further information, please look at the following link:
-https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking