From ec85e42c0b75794fee1f1f85c61a56d6f953f80d Mon Sep 17 00:00:00 2001 From: Ruslan Babayev Date: Thu, 7 Sep 2017 17:56:13 -0700 Subject: odp-dpdk: 1.12.0.0 -> 1.15.0.0 --- pkgs/os-specific/linux/odp-dpdk/configure.patch | 32 ++++++++++++++++++++++++ pkgs/os-specific/linux/odp-dpdk/default.nix | 12 ++++++--- pkgs/os-specific/linux/odp-dpdk/odp_crypto.patch | 18 +++++++++++++ 3 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 pkgs/os-specific/linux/odp-dpdk/configure.patch create mode 100644 pkgs/os-specific/linux/odp-dpdk/odp_crypto.patch (limited to 'pkgs/os-specific/linux/odp-dpdk') diff --git a/pkgs/os-specific/linux/odp-dpdk/configure.patch b/pkgs/os-specific/linux/odp-dpdk/configure.patch new file mode 100644 index 00000000000..3dadc98e834 --- /dev/null +++ b/pkgs/os-specific/linux/odp-dpdk/configure.patch @@ -0,0 +1,32 @@ +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 8182394536c..a444243e802 100644 --- a/pkgs/os-specific/linux/odp-dpdk/default.nix +++ b/pkgs/os-specific/linux/odp-dpdk/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "odp-dpdk-${version}"; - version = "1.12.0.0"; + version = "1.15.0.0"; src = fetchgit { url = "https://git.linaro.org/lng/odp-dpdk.git"; - rev = "5e370e1113973feafb43a8e57d4c59be40e9aeab"; - sha256 = "0rrakbxnbsqaj148xaz2hwxjvg3cmzlynfkvcp8w56sqyly75d0n"; + rev = "d8533b4e575d62c9f6f2caedd38d98a1a56fb8d3"; + sha256 = "1p09rw7dxxqcxxrdb8wbwp2imapyjvdbvap7s9km2i9hbd8ipdif"; }; nativeBuildInputs = [ autoreconfHook ]; @@ -19,11 +19,15 @@ stdenv.mkDerivation rec { dontDisableStatic = true; configureFlags = [ - "--with-platform=linux-dpdk" "--disable-shared" "--with-sdk-install-path=${dpdk}/${RTE_TARGET}" ]; + patches = [ + ./configure.patch + ./odp_crypto.patch + ]; + meta = with stdenv.lib; { description = "Open Data Plane optimized for DPDK"; homepage = http://www.opendataplane.org; diff --git a/pkgs/os-specific/linux/odp-dpdk/odp_crypto.patch b/pkgs/os-specific/linux/odp-dpdk/odp_crypto.patch new file mode 100644 index 00000000000..44ef155d69f --- /dev/null +++ b/pkgs/os-specific/linux/odp-dpdk/odp_crypto.patch @@ -0,0 +1,18 @@ +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; -- cgit 1.4.1