diff options
author | Orivej Desh <orivej@gmx.fr> | 2018-05-19 18:16:58 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-19 18:16:58 +0000 |
commit | 4f9c3af6ecb8811a6106938c821c6f042b9c8512 (patch) | |
tree | a35381e43f7ebb7a53c35659df09f5e5a4553fae | |
parent | 2c7c9cbbac3670f2a118b777012559ce4550d17a (diff) | |
parent | fc10e188e2f51fa59504ad6441c750cbd03e03aa (diff) | |
download | nixlib-4f9c3af6ecb8811a6106938c821c6f042b9c8512.tar nixlib-4f9c3af6ecb8811a6106938c821c6f042b9c8512.tar.gz nixlib-4f9c3af6ecb8811a6106938c821c6f042b9c8512.tar.bz2 nixlib-4f9c3af6ecb8811a6106938c821c6f042b9c8512.tar.lz nixlib-4f9c3af6ecb8811a6106938c821c6f042b9c8512.tar.xz nixlib-4f9c3af6ecb8811a6106938c821c6f042b9c8512.tar.zst nixlib-4f9c3af6ecb8811a6106938c821c6f042b9c8512.zip |
Merge pull request #40774 from orivej/dpdk
linuxPackages.dpdk: 17.05.1 -> 17.11.2
-rw-r--r-- | pkgs/os-specific/linux/dpdk/default.nix | 12 | ||||
-rw-r--r-- | pkgs/os-specific/linux/odp-dpdk/configure.patch | 32 | ||||
-rw-r--r-- | pkgs/os-specific/linux/odp-dpdk/default.nix | 26 | ||||
-rw-r--r-- | pkgs/os-specific/linux/odp-dpdk/odp_crypto.patch | 18 | ||||
-rw-r--r-- | pkgs/os-specific/linux/pktgen/Makefile.patch | 34 | ||||
-rw-r--r-- | pkgs/os-specific/linux/pktgen/default.nix | 40 |
6 files changed, 44 insertions, 118 deletions
diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix index 4bd50fdae40f..fd45e83c26b5 100644 --- a/pkgs/os-specific/linux/dpdk/default.nix +++ b/pkgs/os-specific/linux/dpdk/default.nix @@ -1,24 +1,22 @@ -{ stdenv, lib, kernel, fetchurl, pkgconfig, libvirt }: - -assert lib.versionAtLeast kernel.version "3.18"; +{ stdenv, kernel, fetchurl, pkgconfig, numactl }: stdenv.mkDerivation rec { name = "dpdk-${version}-${kernel.version}"; - version = "17.05.1"; + version = "17.11.2"; src = fetchurl { url = "http://fast.dpdk.org/rel/dpdk-${version}.tar.xz"; - sha256 = "1w3nx5cqf8z600bdlbwz7brmdb5yn233qrqvv24kbmmxhbwp7qld"; + sha256 = "19m5l3jkrns8r1zbjb6ry18w50ff36kbl5b5g6pfcp9p57sfisd2"; }; nativeBuildInputs = [ pkgconfig ] ++ kernel.moduleBuildDependencies; - buildInputs = [ libvirt ]; + buildInputs = [ numactl ]; RTE_KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; RTE_TARGET = "x86_64-native-linuxapp-gcc"; # we need sse3 instructions to build - NIX_CFLAGS_COMPILE = [ "-march=core2" ]; + NIX_CFLAGS_COMPILE = [ "-msse3" ]; enableParallelBuilding = true; outputs = [ "out" "kmod" ]; diff --git a/pkgs/os-specific/linux/odp-dpdk/configure.patch b/pkgs/os-specific/linux/odp-dpdk/configure.patch deleted file mode 100644 index 3dadc98e8342..000000000000 --- a/pkgs/os-specific/linux/odp-dpdk/configure.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index 001ebfc2893b..7d19ebcd213f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -215,7 +215,7 @@ AC_SUBST([testdir]) - ########################################################################## - AM_CONDITIONAL([netmap_support], [test x$netmap_support = xyes ]) - AM_CONDITIONAL([PKTIO_DPDK], [test x$pktio_dpdk_support = xyes ]) --AM_CONDITIONAL([HAVE_PCAP], [test $have_pcap = yes]) -+AM_CONDITIONAL([HAVE_PCAP], [test x$have_pcap = xyes]) - AM_CONDITIONAL([DPDK_DEFAULT_DIR], [test "x${DPDK_DEFAULT_DIR}" = "x1"]) - AM_CONDITIONAL([test_installdir], [test "$testdir" != ""]) - AM_CONDITIONAL([cunit_support], [test x$cunit_support = xyes ]) -@@ -320,18 +320,6 @@ ODP_CFLAGS="$ODP_CFLAGS -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonli - ODP_CFLAGS="$ODP_CFLAGS -Wformat-security -Wundef -Wwrite-strings" - ODP_CFLAGS="$ODP_CFLAGS -std=gnu99" - --dnl Use -Werror in the checks below since Clang emits a warning instead of --dnl an error when it encounters an unknown warning option. --AX_CHECK_COMPILE_FLAG([-Wimplicit-fallthrough=0], -- [ODP_CFLAGS="$ODP_CFLAGS -Wimplicit-fallthrough=0"], -- [], [-Werror]) --AX_CHECK_COMPILE_FLAG([-Wformat-truncation=0], -- [ODP_CFLAGS="$ODP_CFLAGS -Wformat-truncation=0"], -- [], [-Werror]) --AX_CHECK_COMPILE_FLAG([-Wformat-overflow=0], -- [ODP_CFLAGS="$ODP_CFLAGS -Wformat-overflow=0"], -- [], [-Werror]) -- - # Extra flags for example to suppress certain warning types - ODP_CFLAGS="$ODP_CFLAGS $ODP_CFLAGS_EXTRA" - diff --git a/pkgs/os-specific/linux/odp-dpdk/default.nix b/pkgs/os-specific/linux/odp-dpdk/default.nix index a444243e802e..cf4f9df26777 100644 --- a/pkgs/os-specific/linux/odp-dpdk/default.nix +++ b/pkgs/os-specific/linux/odp-dpdk/default.nix @@ -1,31 +1,27 @@ -{ stdenv, fetchgit, autoreconfHook, openssl, libpcap, dpdk }: +{ stdenv, fetchurl, autoreconfHook, pkgconfig +, dpdk, libconfig, libpcap, numactl, openssl +}: stdenv.mkDerivation rec { name = "odp-dpdk-${version}"; - version = "1.15.0.0"; + version = "1.19.0.0_DPDK_17.11"; - src = fetchgit { - url = "https://git.linaro.org/lng/odp-dpdk.git"; - rev = "d8533b4e575d62c9f6f2caedd38d98a1a56fb8d3"; - sha256 = "1p09rw7dxxqcxxrdb8wbwp2imapyjvdbvap7s9km2i9hbd8ipdif"; + src = fetchurl { + url = "https://git.linaro.org/lng/odp-dpdk.git/snapshot/${name}.tar.gz"; + sha256 = "05bwjaxl9hqc6fbkp95nniq11g3kvzmlxw0bq55i7p2v35nv38px"; }; - nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ openssl dpdk libpcap ]; + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + buildInputs = [ dpdk libconfig libpcap numactl openssl ]; - RTE_SDK = "${dpdk}"; + RTE_SDK = dpdk; RTE_TARGET = "x86_64-native-linuxapp-gcc"; dontDisableStatic = true; configureFlags = [ "--disable-shared" - "--with-sdk-install-path=${dpdk}/${RTE_TARGET}" - ]; - - patches = [ - ./configure.patch - ./odp_crypto.patch + "--with-dpdk-path=${dpdk}" ]; meta = with stdenv.lib; { diff --git a/pkgs/os-specific/linux/odp-dpdk/odp_crypto.patch b/pkgs/os-specific/linux/odp-dpdk/odp_crypto.patch deleted file mode 100644 index 44ef155d69fb..000000000000 --- a/pkgs/os-specific/linux/odp-dpdk/odp_crypto.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/platform/linux-dpdk/odp_crypto.c b/platform/linux-dpdk/odp_crypto.c -index d95b157805dc..d13ad5bbde95 100644 ---- a/platform/linux-dpdk/odp_crypto.c -+++ b/platform/linux-dpdk/odp_crypto.c -@@ -900,11 +900,12 @@ int odp_crypto_session_create(odp_crypto_session_param_t *param, - /* Setup session */ - session = rte_cryptodev_sym_session_create(cdev_id, first_xform); - -- if (session == NULL) -+ if (session == NULL) { - /* remove the crypto_session_entry_t */ - memset(entry, 0, sizeof(*entry)); - free_session(entry); - return -1; -+ } - - entry->rte_session = (intptr_t)session; - entry->cipher_xform = cipher_xform; diff --git a/pkgs/os-specific/linux/pktgen/Makefile.patch b/pkgs/os-specific/linux/pktgen/Makefile.patch deleted file mode 100644 index da948bcc5a08..000000000000 --- a/pkgs/os-specific/linux/pktgen/Makefile.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/app/Makefile b/app/Makefile -index 5078b9a..99b208a 100644 ---- a/app/Makefile -+++ b/app/Makefile -@@ -46,29 +46,10 @@ APP = pktgen - CFLAGS += -O3 -g $(WERROR_FLAGS) -fno-stack-protector - CFLAGS += -I$(RTE_SRCDIR) -I$(RTE_SRCDIR)/../lib/common - --dpdk_ver := $(RTE_SDK)/xusertools/dpdk-version.sh --pktgen_ver := $(RTE_SRCDIR)/../tools/dpdk-version.sh --ver_cmd := $(if $(wildcard $(dpdk_ver)),$(dpdk_ver),$(pktgen_ver)) --# $(info ver_cmd=$(ver_cmd)) -- --yy := $(shell $(ver_cmd) -yy) --# mm := $(shell $(ver_cmd) -mm) -- --# $(info yy=$(yy)) -- --ifeq ($(yy),17) - COMMON_PRE := $(RTE_SRCDIR)/../lib/common - LUA_PRE := $(RTE_SRCDIR)/../lib/lua/src - CLI_PRE := $(RTE_SRCDIR)/../lib/cli - GUI_PRE := $(RTE_SRCDIR)/../gui/gui --else --ifeq ($(yy),16) --COMMON_PRE := $(RTE_SRCDIR)/../lib/common/lib/common --LUA_PRE := $(RTE_SRCDIR)/../lib/lua/src/lib/lua/src --CLI_PRE := $(RTE_SRCDIR)/../lib/cli/lib/cli --GUI_PRE := $(RTE_SRCDIR)/../gui --endif --endif - - COMMON_LIB := $(COMMON_PRE)/$(RTE_TARGET) - LUA_LIB := $(LUA_PRE)/$(RTE_TARGET) diff --git a/pkgs/os-specific/linux/pktgen/default.nix b/pkgs/os-specific/linux/pktgen/default.nix index 9bc8967453b4..c443da7df3b4 100644 --- a/pkgs/os-specific/linux/pktgen/default.nix +++ b/pkgs/os-specific/linux/pktgen/default.nix @@ -1,34 +1,48 @@ -{ stdenv, fetchurl, dpdk, libpcap, utillinux -, pkgconfig +{ stdenv, lib, fetchurl, pkgconfig +, dpdk, libpcap, numactl, utillinux , gtk2, withGtk ? false }: -stdenv.mkDerivation rec { +let + + # pktgen needs a specific version of lua to apply its patch (see lib/lua/Makefile). + lua = rec { + name = "lua-5.3.4"; + basename = name + ".tar.gz"; + src = fetchurl { + url = "https://www.lua.org/ftp/${basename}"; + sha256 = "0320a8dg3aci4hxla380dx1ifkw8gj4gbw5c4dz41g1kh98sm0gn"; + }; + }; + +in stdenv.mkDerivation rec { name = "pktgen-${version}"; - version = "3.4.0"; + version = "3.5.0"; src = fetchurl { - url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/pktgen-${version}.tar.gz"; - sha256 = "0fcyb56d4mkvchi5i8s3m210f5c3xa8zbjb08ranpa1a2k1kzfg5"; + url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/pktgen-${version}.tar.xz"; + sha256 = "1gy99jr9dbwzi9pd3w5k673h3pfnbkz6rbzmrkwcyis72pnphy5z"; }; nativeBuildInputs = stdenv.lib.optionals withGtk [ pkgconfig ]; buildInputs = - [ dpdk libpcap ] + [ dpdk libpcap numactl ] ++ stdenv.lib.optionals withGtk [gtk2]; RTE_SDK = "${dpdk}"; RTE_TARGET = "x86_64-native-linuxapp-gcc"; GUI = stdenv.lib.optionalString withGtk "true"; - NIX_CFLAGS_COMPILE = [ "-march=core2" ]; + NIX_CFLAGS_COMPILE = [ "-msse3" ]; - patches = [ ./Makefile.patch ]; - - postPatch = '' - substituteInPlace lib/lua/src/luaconf.h --replace /usr/local $out + postPatch = let dpdkMajor = lib.versions.major dpdk.version; in '' + substituteInPlace app/Makefile --replace 'yy :=' 'yy := ${dpdkMajor} #' substituteInPlace lib/common/lscpu.h --replace /usr/bin/lscpu ${utillinux}/bin/lscpu + + ln -s ${lua.src} lib/lua/${lua.basename} + make -C lib/lua get_tarball # unpack and patch + substituteInPlace lib/lua/${lua.name}/src/luaconf.h --replace /usr/local $out ''; installPhase = '' @@ -38,6 +52,8 @@ stdenv.mkDerivation rec { install -m 0644 Pktgen.lua $out/lib/lua/5.3 ''; + enableParallelBuilding = true; + meta = with stdenv.lib; { description = "Traffic generator powered by DPDK"; homepage = http://dpdk.org/; |