This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via b3cacf62c188e2d2696bb6993a9328127274b9b0 (commit)
from 6811aabac773f935d5eedcd7d781eeb3cf06056f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b3cacf62c188e2d2696bb6993a9328127274b9b0
Author: Dmitry Eremin-Solenikov <deremin-solenikov(a)cavium.com>
Date: Sat Apr 6 12:28:30 2019 +0300
linux-gen: crypto: fix AES-GMAC with OpenSSL 1.1.1b
OpenSSL 1.1.1b (and master branches) have changed semantics of
EVP_En/Decrypt operations by diallowing now to call EVP_Decrypt on the
context initialized with EVP_EncryptInit_ex (which was allowed before).
Fix this by calling corresponding function for data processing.
Signed-off-by: Dmitry Eremin-Solenikov <deremin-solenikov(a)cavium.com>
Reviewed-by: Matias Elo <matias.elo(a)nokia.com>
diff --git a/platform/linux-generic/odp_crypto_openssl.c b/platform/linux-generic/odp_crypto_openssl.c
index 7507f1aa8..b7cce4a39 100644
--- a/platform/linux-generic/odp_crypto_openssl.c
+++ b/platform/linux-generic/odp_crypto_openssl.c
@@ -621,7 +621,8 @@ odp_crypto_alg_err_t auth_cmac_check(odp_packet_t pkt,
static
int internal_aad(EVP_CIPHER_CTX *ctx,
odp_packet_t pkt,
- const odp_crypto_packet_op_param_t *param)
+ const odp_crypto_packet_op_param_t *param,
+ odp_bool_t encrypt)
{
uint32_t offset = param->auth_range.offset;
uint32_t len = param->auth_range.length;
@@ -635,12 +636,18 @@ int internal_aad(EVP_CIPHER_CTX *ctx,
void *mapaddr = odp_packet_offset(pkt, offset, &seglen, NULL);
uint32_t maclen = len > seglen ? seglen : len;
- EVP_EncryptUpdate(ctx, NULL, &dummy_len, mapaddr, maclen);
+ if (encrypt)
+ EVP_EncryptUpdate(ctx, NULL, &dummy_len, mapaddr, maclen);
+ else
+ EVP_DecryptUpdate(ctx, NULL, &dummy_len, mapaddr, maclen);
offset += maclen;
len -= maclen;
}
- ret = EVP_EncryptFinal_ex(ctx, NULL, &dummy_len);
+ if (encrypt)
+ ret = EVP_EncryptFinal_ex(ctx, NULL, &dummy_len);
+ else
+ ret = EVP_DecryptFinal_ex(ctx, NULL, &dummy_len);
return ret;
}
@@ -1019,7 +1026,7 @@ odp_crypto_alg_err_t aes_gmac_gen(odp_packet_t pkt,
EVP_EncryptInit_ex(ctx, NULL, NULL, NULL, iv_ptr);
- ret = internal_aad(ctx, pkt, param);
+ ret = internal_aad(ctx, pkt, param, true);
EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_GET_TAG,
session->p.auth_digest_len, block);
@@ -1068,7 +1075,7 @@ odp_crypto_alg_err_t aes_gmac_check(odp_packet_t pkt,
_odp_packet_set_data(pkt, param->hash_result_offset,
0, session->p.auth_digest_len);
- ret = internal_aad(ctx, pkt, param);
+ ret = internal_aad(ctx, pkt, param, false);
return ret <= 0 ? ODP_CRYPTO_ALG_ERR_ICV_CHECK :
ODP_CRYPTO_ALG_ERR_NONE;
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/odp_crypto_openssl.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via 6811aabac773f935d5eedcd7d781eeb3cf06056f (commit)
from 939166d4414609717264e6f51f51d4b22cdd022a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6811aabac773f935d5eedcd7d781eeb3cf06056f
Author: Dmitry Eremin-Solenikov <deremin-solenikov(a)cavium.com>
Date: Thu Mar 14 00:35:51 2019 +0300
build: support platforms that do not use config
Support platforms that do not use config file.
Signed-off-by: Dmitry Eremin-Solenikov <deremin-solenikov(a)cavium.com>
Reviewed-by: Matias Elo <matias.elo(a)nokia.com>
Reviewed-by: Stanislaw Kardach <Stanislaw.Kardach(a)cavium.com>
diff --git a/Makefile.am b/Makefile.am
index f651e9ca..b2e828ce 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -28,7 +28,7 @@ endif
@DX_RULES@
-EXTRA_DIST = bootstrap CHANGELOG config/README config/odp-$(with_platform).conf
+EXTRA_DIST = bootstrap CHANGELOG config/README
distcheck-hook:
if test -n "$(DX_CLEANFILES)" ; \
diff --git a/configure.ac b/configure.ac
index f4ad79f5..878110ab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -231,6 +231,8 @@ AS_IF([test "${with_platform}" = "linux-generic"],
AC_DEFINE_UNQUOTED([ODP_IMPLEMENTATION_NAME], ["$ODP_IMPLEMENTATION_NAME"],
[Define to the name of the implementation])
+AM_CONDITIONAL([ODP_USE_CONFIG], [test "x$odp_use_config" = "xtrue"])
+
##########################################################################
# Build examples/tests dynamically
##########################################################################
diff --git a/m4/odp_libconfig.m4 b/m4/odp_libconfig.m4
index 302dc506..6b5bca26 100644
--- a/m4/odp_libconfig.m4
+++ b/m4/odp_libconfig.m4
@@ -14,6 +14,7 @@ AC_CHECK_PROGS([OD], [od])
AC_PROG_SED
AS_IF([test -z "$OD"], [AC_MSG_ERROR([Could not find 'od'])])
+odp_use_config=true
##########################################################################
# Create a header file odp_libconfig_config.h which containins null
# terminated hex dump of odp-linux.conf
diff --git a/platform/Makefile.inc b/platform/Makefile.inc
index ae4d52f2..f99d39ff 100644
--- a/platform/Makefile.inc
+++ b/platform/Makefile.inc
@@ -3,8 +3,13 @@ include $(top_srcdir)/Makefile.inc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libodp-linux.pc
+EXTRA_DIST = doc/platform_specific.dox
+
configdir = $(sysconfdir)/odp
+if ODP_USE_CONFIG
config_DATA = $(top_srcdir)/config/odp-$(with_platform).conf
+EXTRA_DIST += $(top_srcdir)/config/odp-$(with_platform).conf
+endif
VPATH = $(srcdir) $(builddir)
lib_LTLIBRARIES = $(LIB)/libodp-linux.la
@@ -21,5 +26,3 @@ AM_CFLAGS = "-DODP_VERSION_BUILD=$(VERSION)"
AM_CFLAGS += $(VISIBILITY_CFLAGS)
AM_CFLAGS += @PTHREAD_CFLAGS@
-
-EXTRA_DIST = doc/platform_specific.dox
-----------------------------------------------------------------------
Summary of changes:
Makefile.am | 2 +-
configure.ac | 2 ++
m4/odp_libconfig.m4 | 1 +
platform/Makefile.inc | 7 +++++--
4 files changed, 9 insertions(+), 3 deletions(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via 12eaa3d2ce51cc5cd48e54deded2740161162022 (commit)
via 36009b1444af036c189046ee4edb50d13d861120 (commit)
from 0178075e5e16e843034ac59ad4978e6a70ef86b5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 12eaa3d2ce51cc5cd48e54deded2740161162022
Author: Petri Savolainen <petri.savolainen(a)nokia.com>
Date: Wed Apr 10 10:28:24 2019 +0300
validation: pktio: improve debug info on magic number miss
Linux IPv6 stack sends additional packets during test. Test
filters out these with a magic number in test packets. Some
times Linux veth bridge interface overflows due to these extra
packets and test packets are lost. Added debug information
for easier debug of these kind of issues.
Signed-off-by: Petri Savolainen <petri.savolainen(a)nokia.com>
Reviewed-and-tested-by: Matias Elo <matias.elo(a)nokia.com>
diff --git a/test/validation/api/pktio/pktio.c b/test/validation/api/pktio/pktio.c
index a4f7cecd2..15f58e95a 100644
--- a/test/validation/api/pktio/pktio.c
+++ b/test/validation/api/pktio/pktio.c
@@ -219,8 +219,9 @@ static uint32_t pktio_pkt_seq_hdr(odp_packet_t pkt, size_t l4_hdr_len)
}
if (head.magic != TEST_SEQ_MAGIC) {
- fprintf(stderr, "error: header magic invalid %" PRIu32 "\n",
+ fprintf(stderr, "error: header magic invalid 0x%" PRIx32 "\n",
head.magic);
+ odp_packet_print(pkt);
return TEST_SEQ_INVALID;
}
@@ -237,7 +238,7 @@ static uint32_t pktio_pkt_seq_hdr(odp_packet_t pkt, size_t l4_hdr_len)
CU_ASSERT(seq != TEST_SEQ_INVALID);
} else {
fprintf(stderr,
- "error: tail magic invalid %" PRIu32 "\n",
+ "error: tail magic invalid 0x%" PRIx32 "\n",
tail.magic);
}
} else {
@@ -592,20 +593,24 @@ static int wait_for_packets_hdr(pktio_info_t *pktio_rx, odp_packet_t pkt_tbl[],
uint32_t seq_tbl[], int num, txrx_mode_e mode,
uint64_t ns, size_t l4_hdr_len)
{
- odp_time_t wait_time, end;
+ odp_time_t wait_time, end, start;
int num_rx = 0;
int i;
odp_packet_t pkt_tmp[num];
wait_time = odp_time_local_from_ns(ns);
- end = odp_time_sum(odp_time_local(), wait_time);
+ start = odp_time_local();
+ end = odp_time_sum(start, wait_time);
- do {
+ while (num_rx < num && odp_time_cmp(end, odp_time_local()) > 0) {
int n = get_packets(pktio_rx, pkt_tmp, num - num_rx, mode);
if (n < 0)
break;
+ if (n == 0)
+ continue;
+
for (i = 0; i < n; ++i) {
if (pktio_pkt_seq_hdr(pkt_tmp[i], l4_hdr_len) ==
seq_tbl[num_rx])
@@ -613,7 +618,7 @@ static int wait_for_packets_hdr(pktio_info_t *pktio_rx, odp_packet_t pkt_tbl[],
else
odp_packet_free(pkt_tmp[i]);
}
- } while (num_rx < num && odp_time_cmp(end, odp_time_local()) > 0);
+ }
return num_rx;
}
@@ -795,6 +800,10 @@ static void pktio_txrx_multi(pktio_info_t *pktio_a, pktio_info_t *pktio_b,
num_rx = wait_for_packets(pktio_b, rx_pkt, tx_seq,
num_pkts, mode, ODP_TIME_SEC_IN_NS);
CU_ASSERT(num_rx == num_pkts);
+ if (num_rx != num_pkts) {
+ fprintf(stderr, "error: received %i, out of %i packets\n",
+ num_rx, num_pkts);
+ }
for (i = 0; i < num_rx; ++i) {
odp_packet_data_range_t range;
commit 36009b1444af036c189046ee4edb50d13d861120
Author: Petri Savolainen <petri.savolainen(a)nokia.com>
Date: Tue Apr 9 14:36:56 2019 +0300
linux-gen: packet: print packet input flags
Print packet input flag names to improve readability of
odp_packet_print() output.
Signed-off-by: Petri Savolainen <petri.savolainen(a)nokia.com>
Reviewed-and-tested-by: Matias Elo <matias.elo(a)nokia.com>
diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-generic/odp_packet.c
index f4c99ce15..be62557d5 100644
--- a/platform/linux-generic/odp_packet.c
+++ b/platform/linux-generic/odp_packet.c
@@ -1736,6 +1736,40 @@ int _odp_packet_cmp_data(odp_packet_t pkt, uint32_t offset,
* ********************************************************
*
*/
+static int packet_print_input_flags(odp_packet_hdr_t *hdr, char *str, int max)
+{
+ int len = 0;
+
+ if (hdr->p.input_flags.l2)
+ len += snprintf(&str[len], max - len, "l2 ");
+ if (hdr->p.input_flags.l3)
+ len += snprintf(&str[len], max - len, "l3 ");
+ if (hdr->p.input_flags.l4)
+ len += snprintf(&str[len], max - len, "l4 ");
+ if (hdr->p.input_flags.eth)
+ len += snprintf(&str[len], max - len, "eth ");
+ if (hdr->p.input_flags.vlan)
+ len += snprintf(&str[len], max - len, "vlan ");
+ if (hdr->p.input_flags.arp)
+ len += snprintf(&str[len], max - len, "arp ");
+ if (hdr->p.input_flags.ipv4)
+ len += snprintf(&str[len], max - len, "ipv4 ");
+ if (hdr->p.input_flags.ipv6)
+ len += snprintf(&str[len], max - len, "ipv6 ");
+ if (hdr->p.input_flags.ipsec)
+ len += snprintf(&str[len], max - len, "ipsec ");
+ if (hdr->p.input_flags.udp)
+ len += snprintf(&str[len], max - len, "udp ");
+ if (hdr->p.input_flags.tcp)
+ len += snprintf(&str[len], max - len, "tcp ");
+ if (hdr->p.input_flags.sctp)
+ len += snprintf(&str[len], max - len, "sctp ");
+ if (hdr->p.input_flags.icmp)
+ len += snprintf(&str[len], max - len, "icmp ");
+
+ return len;
+}
+
void odp_packet_print(odp_packet_t pkt)
{
odp_packet_seg_t seg;
@@ -1753,7 +1787,12 @@ void odp_packet_print(odp_packet_t pkt)
len += odp_buffer_snprint(&str[len], n - len, buf);
len += snprintf(&str[len], n - len, " input_flags 0x%" PRIx64 "\n",
hdr->p.input_flags.all);
- len += snprintf(&str[len], n - len, " flags 0x%" PRIx32 "\n",
+ if (hdr->p.input_flags.all) {
+ len += snprintf(&str[len], n - len, " ");
+ len += packet_print_input_flags(hdr, &str[len], n - len);
+ len += snprintf(&str[len], n - len, "\n");
+ }
+ len += snprintf(&str[len], n - len, " flags 0x%" PRIx32 "\n",
hdr->p.flags.all_flags);
len += snprintf(&str[len], n - len,
" l2_offset %" PRIu32 "\n", hdr->p.l2_offset);
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/odp_packet.c | 41 ++++++++++++++++++++++++++++++++++++-
test/validation/api/pktio/pktio.c | 21 +++++++++++++------
2 files changed, 55 insertions(+), 7 deletions(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via 0178075e5e16e843034ac59ad4978e6a70ef86b5 (commit)
from d102056f2e93940946f39d5da160c2c0684b3a2e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 0178075e5e16e843034ac59ad4978e6a70ef86b5
Author: Matias Elo <matias.elo(a)nokia.com>
Date: Wed Apr 3 14:15:10 2019 +0300
linux-gen: crypto: disable openssl locking callbacks
Starting from OpenSSL versions 1.1.0 the locking callbacks are no longer
required.
Fixes: https://github.com/OpenDataPlane/odp/issues/817
Signed-off-by: Matias Elo <matias.elo(a)nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen(a)nokia.com>
Reported-by: Jussi Kerttula <jussi.kerttula(a)nokia.com>
diff --git a/platform/linux-generic/odp_crypto_openssl.c b/platform/linux-generic/odp_crypto_openssl.c
index 8feebefb3..7507f1aa8 100644
--- a/platform/linux-generic/odp_crypto_openssl.c
+++ b/platform/linux-generic/odp_crypto_openssl.c
@@ -1828,6 +1828,7 @@ odp_crypto_operation(odp_crypto_op_param_t *param,
return 0;
}
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
static void ODP_UNUSED openssl_thread_id(CRYPTO_THREADID ODP_UNUSED *id)
{
CRYPTO_THREADID_set_numeric(id, odp_thread_id());
@@ -1842,6 +1843,7 @@ static void ODP_UNUSED openssl_lock(int mode, int n,
else
odp_ticketlock_unlock(&global->openssl_lock[n]);
}
+#endif
int
odp_crypto_init_global(void)
@@ -1880,8 +1882,10 @@ odp_crypto_init_global(void)
for (idx = 0; idx < nlocks; idx++)
odp_ticketlock_init(&global->openssl_lock[idx]);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
CRYPTO_THREADID_set_callback(openssl_thread_id);
CRYPTO_set_locking_callback(openssl_lock);
+#endif
}
return 0;
@@ -1901,8 +1905,10 @@ int odp_crypto_term_global(void)
rc = -1;
}
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
CRYPTO_set_locking_callback(NULL);
CRYPTO_set_id_callback(NULL);
+#endif
ret = odp_shm_free(odp_shm_lookup("_odp_crypto_pool_ssl"));
if (ret < 0) {
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/odp_crypto_openssl.c | 6 ++++++
1 file changed, 6 insertions(+)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via d102056f2e93940946f39d5da160c2c0684b3a2e (commit)
from 6a45a52beaab49ab30a06a4cafe60bb869c1800d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d102056f2e93940946f39d5da160c2c0684b3a2e
Author: Matias Elo <matias.elo(a)nokia.com>
Date: Tue Apr 2 15:53:38 2019 +0300
validation: classification: check handles before calling destroy
Some of the array elements may not be set if the number of supported
scheduling priorities is low.
Signed-off-by: Matias Elo <matias.elo(a)nokia.com>
Reviewed-by: Stanislaw Kardach <skardach(a)marvell.com>
Reviewed-by: Petri Savolainen <petri.savolainen(a)nokia.com>
diff --git a/test/validation/api/classification/odp_classification_tests.c b/test/validation/api/classification/odp_classification_tests.c
index 4f7221403..3951d8bed 100644
--- a/test/validation/api/classification/odp_classification_tests.c
+++ b/test/validation/api/classification/odp_classification_tests.c
@@ -119,17 +119,25 @@ int classification_suite_term(void)
retcode = -1;
}
- for (i = 0; i < CLS_ENTRIES; i++)
- odp_cos_destroy(cos_list[i]);
+ for (i = 0; i < CLS_ENTRIES; i++) {
+ if (cos_list[i] != ODP_COS_INVALID)
+ odp_cos_destroy(cos_list[i]);
+ }
- for (i = 0; i < CLS_ENTRIES; i++)
- odp_cls_pmr_destroy(pmr_list[i]);
+ for (i = 0; i < CLS_ENTRIES; i++) {
+ if (pmr_list[i] != ODP_PMR_INVALID)
+ odp_cls_pmr_destroy(pmr_list[i]);
+ }
- for (i = 0; i < CLS_ENTRIES; i++)
- odp_queue_destroy(queue_list[i]);
+ for (i = 0; i < CLS_ENTRIES; i++) {
+ if (queue_list[i] != ODP_QUEUE_INVALID)
+ odp_queue_destroy(queue_list[i]);
+ }
- for (i = 0; i < CLS_ENTRIES; i++)
- odp_pool_destroy(pool_list[i]);
+ for (i = 0; i < CLS_ENTRIES; i++) {
+ if (pool_list[i] != ODP_POOL_INVALID)
+ odp_pool_destroy(pool_list[i]);
+ }
return retcode;
}
-----------------------------------------------------------------------
Summary of changes:
.../api/classification/odp_classification_tests.c | 24 ++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
hooks/post-receive
--
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".
The branch, master has been updated
via 6d832e408b848c739cd1ce07584322619030936a (commit)
from 123d4b5092725f3fbc7178ff0cde4c7f8d53ffd3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6d832e408b848c739cd1ce07584322619030936a
Author: Matias Elo <matias.elo(a)nokia.com>
Date: Wed Mar 13 14:49:59 2019 +0200
linux-gen: netmap: bump tested version to v13.0
Signed-off-by: Matias Elo <matias.elo(a)nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen(a)nokia.com>
diff --git a/.travis.yml b/.travis.yml
index bb84ab19e..607e89477 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -84,7 +84,7 @@ install:
echo "Installing NETMAP";
sudo apt-get install linux-headers-`uname -r` ;
CDIR=`pwd` ;
- git -c advice.detachedHead=false clone -q --depth=1 --single-branch --branch=v11.2 https://github.com/luigirizzo/netmap.git;
+ git -c advice.detachedHead=false clone -q --depth=1 --single-branch --branch=v13.0 https://github.com/luigirizzo/netmap.git;
pushd netmap/LINUX;
./configure --drivers= ;
make -j $(nproc);
diff --git a/DEPENDENCIES b/DEPENDENCIES
index f16617bc3..917d84158 100644
--- a/DEPENDENCIES
+++ b/DEPENDENCIES
@@ -96,13 +96,13 @@ Prerequisites for building the OpenDataPlane (ODP) API
3.3.1 Building netmap kernel modules
ODP works at least with the latest release version of netmap, which is
- currently 11.2. However, if possible one should try to use the latest netmap
+ currently v13.0. However, if possible one should try to use the latest netmap
master branch commit for the best performance and the latest bug fixes.
# Checkout netmap code
$ git clone https://github.com/luigirizzo/netmap.git
$ cd netmap
- $ git checkout v11.2 (optional)
+ $ git checkout v13.0 (optional)
This is enough to build ODP. If you don't want to build netmap kernel
modules you can jump to section 3.3.2.
-----------------------------------------------------------------------
Summary of changes:
.travis.yml | 2 +-
DEPENDENCIES | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
hooks/post-receive
--