diff options
author | Maxim Uvarov <maxim.uvarov@linaro.org> | 2018-10-21 10:19:41 +0300 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2018-10-25 18:11:53 +0300 |
commit | eab91f7101cdf47c59b14b5a511a82c701e66ff4 (patch) | |
tree | 96e19786953f305737f8867f41dd437942fc7094 | |
parent | cc91c95216ca80d17c638c07659873ecf24f25e6 (diff) |
remove scripts/build-pktio-dpdk
Script was introduced to quick build odp with dpdk pktio
support for dev or testing propose. Now it's more easy to
run docker container with same parameters as CI does.
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
Reviewed-and-tested-by: Matias Elo <matias.elo@nokia.com>
-rw-r--r-- | DEPENDENCIES | 37 | ||||
-rwxr-xr-x | scripts/build-pktio-dpdk | 40 |
2 files changed, 28 insertions, 49 deletions
diff --git a/DEPENDENCIES b/DEPENDENCIES index 6b345b9c3..abe6d7411 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -166,23 +166,42 @@ Prerequisites for building the OpenDataPlane (ODP) API Use DPDK for ODP packet I/O. + Note: only packet I/O is accelerated with DPDK. Use + https://github.com/Linaro/odp-dpdk.git + for fully accelerated odp dpdk platform. + +3.4.1 DPDK pktio requirements + DPDK pktio adds a depency to NUMA library. # Debian/Ubuntu $ sudo apt-get install libnuma-dev # CentOS/RedHat/Fedora $ sudo yum install numactl-devel - Note: only packet I/O is accelerated with DPDK. Use - https://github.com/Linaro/odp-dpdk.git - for fully accelerated odp dpdk platform. +3.4.2 Native DPDK install + # Debian/Ubuntu starting from 18.04 + $ sudo apt-get install dpdk-dev + +3.4.2 Built DPDK from src + git clone --branch=17.11 http://dpdk.org/git/dpdk-stable dpdk + + #Make and edit DPDK configuration + TARGET="x86_64-native-linuxapp-gcc" + make config T=${TARGET} O=${TARGET} + pushd ${TARGET} -3.4.1 Building DPDK and ODP with DPDK pktio support + #To use I/O without DPDK supported NIC's enable pcap pmd: + sed -ri 's,(CONFIG_RTE_LIBRTE_PMD_PCAP=).*,\1y,' .config + popd - DPDK packet I/O has been tested to work with DPDK v17.11. + #Build DPDK + make build O=${TARGET} EXTRA_CFLAGS="-fPIC" + make install O=${TARGET} DESTDIR=${TARGET} - Follow steps in ./scripts/build-pktio-dpdk + #compile ODP + ./configure --with-dpdk-path=`pwd`/dpdk/${TARGET}/usr/local -3.4.2 Setup system +3.4.3 Setup system # Load DPDK modules $ sudo /sbin/modprobe uio @@ -194,13 +213,13 @@ Prerequisites for building the OpenDataPlane (ODP) API 512 x 2MB hugepages. All this can be done with the DPDK setup script (<dpdk-dir>/tools/dpdk-setup.sh). -3.4.3 Running ODP with DPDK pktio +3.4.4 Running ODP with DPDK pktio ODP applications will try use DPDK for packet I/O by default. If some other I/O type is desired instead, DPDK I/O can be disabled by setting the environment variable ODP_PKTIO_DISABLE_DPDK. - DPDK interfaces are accessed using indices. For example, two first DPDK + DPDK interfaces are accessed using indexes. For example, two first DPDK interfaces can be used with the odp_l2fwd example as follows: $ cd <odp_dir> $ sudo ./test/performance/odp_l2fwd -i 0,1 -c 2 -m 0 diff --git a/scripts/build-pktio-dpdk b/scripts/build-pktio-dpdk deleted file mode 100755 index b0c0a4d0e..000000000 --- a/scripts/build-pktio-dpdk +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -TARGET=${TARGET:-"x86_64-native-linuxapp-gcc"} - -export ROOT_DIR=$(readlink -e $(dirname $0) | sed 's|/scripts||') -pushd ${ROOT_DIR} - -echo '#include "pcap.h"' | cpp -H -o /dev/null 2>&1 -if [ "$?" != "0" ]; then - echo "Error: pcap is not installed. You may need to install libpcap-dev" -fi - -echo '#include "numa.h"' | cpp -H -o /dev/null 2>&1 -if [ "$?" != "0" ]; then - echo "Error: NUMA library is not installed. You need to install libnuma-dev" - exit 1 -fi - -git -c advice.detachedHead=false clone -q --depth=1 --single-branch --branch=17.11 http://dpdk.org/git/dpdk-stable dpdk -pushd dpdk -git log --oneline --decorate - -#Make and edit DPDK configuration -make config T=${TARGET} O=${TARGET} -pushd ${TARGET} -#To use I/O without DPDK supported NIC's enable pcap pmd: -sed -ri 's,(CONFIG_RTE_LIBRTE_PMD_PCAP=).*,\1y,' .config -popd - -#Build DPDK -make build O=${TARGET} EXTRA_CFLAGS="-fPIC" -make install O=${TARGET} DESTDIR=${TARGET} -popd - -#Build ODP -./bootstrap; -./configure --enable-test-vald --enable-test-perf --enable-test-cpp \ - --enable-debug --enable-debug-print \ - --with-dpdk-path=`pwd`/dpdk/${TARGET}/usr/local -make |