aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSridhar K. N. Rao <sridhar.rao@spirent.com>2021-05-31 22:04:07 +0530
committerSridhar K. N. Rao <sridhar.rao@spirent.com>2021-05-31 22:07:24 +0530
commit171bf5025d8358b4dc692b3751675e42b1ebec9c (patch)
tree3274386b3760a8c199f440d27356d5b88e9f6d78
parent300d9f201aba1b8e30387138acaba79a72502d82 (diff)
SYS: New Software versions and OS-versions.
This patch adds support for the following: DPDK - 20.05 OVS - 2.14 VPP - 21.01 Ubuntu - 20.04 Fedora - 33 JIRA: VINEPERF-645 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com> Change-Id: I8810ef04d1beb7f3bb39fb3a1420d0b15dbfa395
-rwxr-xr-xsrc/dpdk/Makefile2
-rw-r--r--src/package-list.mk6
-rw-r--r--systems/README.md12
-rwxr-xr-xsystems/centos/build_base_machine.sh1
-rwxr-xr-xsystems/centos/prepare_python_env.sh1
-rw-r--r--systems/fedora/33/build_base_machine.sh75
-rw-r--r--systems/fedora/33/prepare_python_env.sh30
-rwxr-xr-xsystems/ubuntu/20.04/build_base_machine.sh94
-rwxr-xr-xsystems/ubuntu/20.04/prepare_python_env.sh29
9 files changed, 246 insertions, 4 deletions
diff --git a/src/dpdk/Makefile b/src/dpdk/Makefile
index 1a1521db..0a4b9724 100755
--- a/src/dpdk/Makefile
+++ b/src/dpdk/Makefile
@@ -54,7 +54,7 @@ ifeq ($(DPDK_TAG_MAJOR),v2)
else
DPDK_TARGET = x86_64-native-linuxapp-gcc
CONFIG_FILE_BASE = $(WORK_DIR)/config/common_base
- CONFIG_FILE_LINUXAPP = $(WORK_DIR)/config/common_linuxapp
+ CONFIG_FILE_LINUXAPP = $(WORK_DIR)/config/common_linux
endif
endif
diff --git a/src/package-list.mk b/src/package-list.mk
index 1e40a60d..49aa82c0 100644
--- a/src/package-list.mk
+++ b/src/package-list.mk
@@ -13,15 +13,15 @@
# dpdk section
# DPDK_URL ?= git://dpdk.org/dpdk
DPDK_URL ?= http://dpdk.org/git/dpdk
-DPDK_TAG ?= v18.11-rc2
+DPDK_TAG ?= v20.05
# OVS section
OVS_URL ?= https://github.com/openvswitch/ovs
-OVS_TAG ?= v2.12.0
+OVS_TAG ?= v2.14.0
# VPP section
VPP_URL ?= https://git.fd.io/vpp
-VPP_TAG ?= v19.08.1
+VPP_TAG ?= v21.01
# QEMU section
QEMU_URL ?= https://github.com/qemu/qemu.git
diff --git a/systems/README.md b/systems/README.md
index ca6557ea..60f903c1 100644
--- a/systems/README.md
+++ b/systems/README.md
@@ -16,3 +16,15 @@ or with password less sudo access.
If you want to use vsperf in trafficgen-mode ONLY, then add a parameter.
./build_base_machine.sh trafficgen
+
+
+Newer Kernel Versions:
+----------------------
+
+May need following changes:
+
+1. In src/l2fwd/l2fwd.c, comment out the line with xmit_more (193).
+
+2. In src/qemu/Makefile, In line 30, we MAY have to add the following:
+ --disable-werror --python='/usr/bin/python3'
+
diff --git a/systems/centos/build_base_machine.sh b/systems/centos/build_base_machine.sh
index 0e1ed830..fdaa37b5 100755
--- a/systems/centos/build_base_machine.sh
+++ b/systems/centos/build_base_machine.sh
@@ -78,6 +78,7 @@ sudo yum -y install centos-release-scl-rh
yum -y install $(echo "
rh-python36
rh-python36-python-tkinter
+python3-setuptools
git-review
" | grep -v ^#)
# prevent ovs vanilla from building from source due to kernel incompatibilities
diff --git a/systems/centos/prepare_python_env.sh b/systems/centos/prepare_python_env.sh
index 4f5c0065..bbc853b2 100755
--- a/systems/centos/prepare_python_env.sh
+++ b/systems/centos/prepare_python_env.sh
@@ -24,5 +24,6 @@ fi
scl enable rh-python36 "
virtualenv "$VSPERFENV_DIR" --python /opt/rh/rh-python36/root/usr/bin/python3
source "$VSPERFENV_DIR"/bin/activate
+pip install -U pip
pip install -r ../requirements.txt
"
diff --git a/systems/fedora/33/build_base_machine.sh b/systems/fedora/33/build_base_machine.sh
new file mode 100644
index 00000000..f521827e
--- /dev/null
+++ b/systems/fedora/33/build_base_machine.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+#
+# Build a base machine for Fedora 26
+#
+# Copyright 2017 OPNFV, Intel Corporation.
+#
+# 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.
+
+dnf -y install $(echo "
+# Make and Compilers
+make
+automake
+gcc
+gcc-c++
+libxml2
+glibc
+glib2-devel
+kernel-devel
+fuse-libs
+fuse
+fuse-devel
+kernel-modules-extra
+pixman-devel
+openssl-devel
+redhat-rpm-config
+elfutils-libelf-devel
+
+# tools
+curl
+autoconf
+libtool
+libpcap-devel
+libnet
+vim
+wget
+git
+pciutils
+cifs-utils
+socat
+sysstat
+sshpass
+
+# install python packages
+python3-virtualenv
+python3-setuptools
+python3-pip
+python3-dbus
+python3-devel
+python3-tkinter
+systemd-python3
+python3-libs
+python3-libreport
+python3-abrt
+python3-abrt-addon
+
+# libs
+numactl
+numactl-devel
+
+# install git-review tool
+git-review
+" | grep -v ^#)
+
+# Create hugepage dirs
+mkdir -p /dev/hugepages
diff --git a/systems/fedora/33/prepare_python_env.sh b/systems/fedora/33/prepare_python_env.sh
new file mode 100644
index 00000000..becfd5ca
--- /dev/null
+++ b/systems/fedora/33/prepare_python_env.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+#
+# Prepare Python environment for vsperf execution on Fedora 26 systems.
+#
+# Copyright 2017 OPNFV, Intel Corporation.
+#
+# 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.
+
+if [ -d "$VSPERFENV_DIR" ] ; then
+ echo "Directory $VSPERFENV_DIR already exists. Skipping python virtualenv creation."
+ exit
+fi
+
+# enable virtual environment in a subshell, so QEMU build can use python 2.7
+
+(virtualenv "$VSPERFENV_DIR" --python /usr/bin/python3
+source "$VSPERFENV_DIR"/bin/activate
+pip install -U pip
+pip install -r ../requirements.txt
+pip install six)
diff --git a/systems/ubuntu/20.04/build_base_machine.sh b/systems/ubuntu/20.04/build_base_machine.sh
new file mode 100755
index 00000000..ab30c347
--- /dev/null
+++ b/systems/ubuntu/20.04/build_base_machine.sh
@@ -0,0 +1,94 @@
+#!/bin/bash
+#
+# Build a base machine for Ubuntu 14.04
+#
+# Copyright 2015 OPNFV, Intel Corporation.
+#
+# 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.
+# Martin Klozik, Intel Corporation.
+# Abdul Halim, Intel Corporation.
+
+apt-get update
+apt-get -y install $(echo "
+# Make and Compilers
+make
+automake
+gcc
+g++
+libc6
+libc6-dev
+libxml2
+fuse
+libfuse2
+libfuse-dev
+libssl-dev
+libglib2.0-dev
+zlib1g-dev
+
+# Linux Kernel Source
+linux-source
+linux-headers-$(uname -r)
+pkg-config
+
+# tools
+curl
+libcurl4-openssl-dev
+automake
+autoconf
+libtool
+libpcap-dev
+libnet1
+libncurses5-dev
+vim
+wget
+git
+pciutils
+cifs-utils
+socat
+libpixman-1-0
+libpixman-1-dev
+sysstat
+sshpass
+
+# Java runtime environment: Required for Ixia TclClient
+default-jre
+
+# install python packages
+python3-pip
+python3-setuptools
+python3-dbus
+python3-dev
+python3-tk
+python3-venv
+libpython3.8
+python3-reportlab
+
+# libs
+libnuma1
+libnuma-dev
+
+# install git-review tool
+git-review
+" | grep -v ^#)
+
+# fix: Ixia TclClient installation: cannot find 'libc.s0.6'
+ln -sf $(locate libc.so.6) /lib/libc.so.6
+
+# Install virtualenv
+pip3 install virtualenv
+
+# Create hugepage dirs
+mkdir -p /dev/hugepages
diff --git a/systems/ubuntu/20.04/prepare_python_env.sh b/systems/ubuntu/20.04/prepare_python_env.sh
new file mode 100755
index 00000000..c44a3bdd
--- /dev/null
+++ b/systems/ubuntu/20.04/prepare_python_env.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+#
+# Prepare Python environment for vsperf execution on Ubuntu 14.04 systems
+#
+# Copyright 2015-2017 OPNFV, Intel Corporation.
+#
+# 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.
+
+if [ -d "$VSPERFENV_DIR" ] ; then
+ echo "Directory $VSPERFENV_DIR already exists. Skipping python virtualenv creation."
+ exit
+fi
+
+# enable virtual environment in a subshell, so QEMU build can use python 2.7
+
+(virtualenv "$VSPERFENV_DIR" --python /usr/bin/python3
+source "$VSPERFENV_DIR"/bin/activate
+pip install -U pip
+pip install -r ../requirements.txt)