From 179a09970457f6b4044fd0b6802ffe4e9fc47a1e Mon Sep 17 00:00:00 2001 From: Ruslan Babayev Date: Wed, 1 Jun 2016 14:04:00 -0700 Subject: [PATCH] add DPDK pktgen --- lib/maintainers.nix | 1 + pkgs/os-specific/linux/pktgen/default.nix | 38 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 41 insertions(+) create mode 100644 pkgs/os-specific/linux/pktgen/default.nix diff --git a/lib/maintainers.nix b/lib/maintainers.nix index e90a02753dd471..964a012b06fe7c 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -10,6 +10,7 @@ aaronschif = "Aaron Schif "; abaldeau = "Andreas Baldeau "; abbradar = "Nikolay Amiantov "; + abuibrahim = "Ruslan Babayev "; adev = "Adrien Devresse "; aespinosa = "Allan Espinosa "; aflatter = "Alexander Flatter "; diff --git a/pkgs/os-specific/linux/pktgen/default.nix b/pkgs/os-specific/linux/pktgen/default.nix new file mode 100644 index 00000000000000..56ef935920b885 --- /dev/null +++ b/pkgs/os-specific/linux/pktgen/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, dpdk, libpcap, utillinux }: + +stdenv.mkDerivation rec { + name = "pktgen-${version}"; + version = "3.0.00"; + + src = fetchurl { + url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/pktgen-${version}.tar.gz"; + sha256 = "703f8bd615aa4ae3a3085055483f9889dda09d082abb58afd33c1ba7c766ea65"; + }; + + buildInputs = [ dpdk libpcap ]; + + RTE_SDK = "${dpdk}"; + RTE_TARGET = "x86_64-native-linuxapp-gcc"; + + enableParallelBuilding = true; + + patchPhase = '' + sed -i -e s:/usr/local:$out:g lib/lua/src/luaconf.h + sed -i -e s:/usr/bin/lscpu:${utillinux}/bin/lscpu:g lib/common/wr_lscpu.h + ''; + + installPhase = '' + install -d $out/bin + install -m 0755 app/app/${RTE_TARGET}/app/pktgen $out/bin + install -d $out/lib/lua/5.3 + install -m 0644 Pktgen.lua $out/lib/lua/5.3 + ''; + + meta = with stdenv.lib; { + description = "Traffic generator powered by DPDK"; + homepage = http://dpdk.org/; + license = licenses.bsdOriginal; + platforms = [ "x86_64-linux" ]; + maintainers = [ maintainers.abuibrahim ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cd39e0898fdcb2..b26ed3246a5dcf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10595,6 +10595,8 @@ let dpdk = callPackage ../os-specific/linux/dpdk { }; + pktgen = callPackage ../os-specific/linux/pktgen { }; + e1000e = callPackage ../os-specific/linux/e1000e {}; v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { };