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 60b9dd435bf1be55794e5be6ee24714d28a5b587 (commit)
from 599ac6802352c9c56eca33a6004824783becaa6e (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 60b9dd435bf1be55794e5be6ee24714d28a5b587
Author: Matias Elo <matias.elo(a)nokia.com>
Date: Tue May 23 15:38:54 2017 +0300
linux-gen: sched: fix ordered enqueue to pktout queue
Make sure packet order is maintained if enqueueing packets from an ordered
queue.
Fixes https://bugs.linaro.org/show_bug.cgi?id=3002
Signed-off-by: Matias Elo <matias.elo(a)nokia.com>
Reviewed-and-tested-by: Yi He <yi.he(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c
index 98460a56..50a000e5 100644
--- a/platform/linux-generic/odp_packet_io.c
+++ b/platform/linux-generic/odp_packet_io.c
@@ -586,6 +586,10 @@ int pktout_enqueue(queue_entry_t *qentry, odp_buffer_hdr_t *buf_hdr)
int len = 1;
int nbr;
+ if (sched_fn->ord_enq_multi(qentry->s.index, (void **)buf_hdr, len,
+ &nbr))
+ return (nbr == len ? 0 : -1);
+
nbr = odp_pktout_send(qentry->s.pktout, &pkt, len);
return (nbr == len ? 0 : -1);
}
@@ -603,6 +607,10 @@ int pktout_enq_multi(queue_entry_t *qentry, odp_buffer_hdr_t *buf_hdr[],
int nbr;
int i;
+ if (sched_fn->ord_enq_multi(qentry->s.index, (void **)buf_hdr, num,
+ &nbr))
+ return nbr;
+
for (i = 0; i < num; ++i)
pkt_tbl[i] = _odp_packet_from_buffer(buf_hdr[i]->handle.handle);
diff --git a/platform/linux-generic/odp_queue.c b/platform/linux-generic/odp_queue.c
index fcf4bf5b..a96f9225 100644
--- a/platform/linux-generic/odp_queue.c
+++ b/platform/linux-generic/odp_queue.c
@@ -95,6 +95,7 @@ static int queue_init(queue_entry_t *queue, const char *name,
queue->s.dequeue_multi = queue_deq_multi;
queue->s.pktin = PKTIN_INVALID;
+ queue->s.pktout = PKTOUT_INVALID;
queue->s.head = NULL;
queue->s.tail = NULL;
diff --git a/platform/linux-generic/odp_schedule.c b/platform/linux-generic/odp_schedule.c
index f680ac47..c4567d81 100644
--- a/platform/linux-generic/odp_schedule.c
+++ b/platform/linux-generic/odp_schedule.c
@@ -20,6 +20,7 @@
#include <odp_config_internal.h>
#include <odp_align_internal.h>
#include <odp/api/sync.h>
+#include <odp/api/packet_io.h>
#include <odp_ring_internal.h>
#include <odp_queue_internal.h>
@@ -729,7 +730,9 @@ static int schedule_ord_enq_multi(uint32_t queue_index, void *buf_hdr[],
return 0;
}
- if (odp_unlikely(stash_num >= MAX_ORDERED_STASH)) {
+ /* Pktout may drop packets, so the operation cannot be stashed. */
+ if (dst_queue->s.pktout.pktio != ODP_PKTIO_INVALID ||
+ odp_unlikely(stash_num >= MAX_ORDERED_STASH)) {
/* If the local stash is full, wait until it is our turn and
* then release the stash and do enqueue directly. */
wait_for_order(src_queue);
diff --git a/platform/linux-generic/odp_schedule_iquery.c b/platform/linux-generic/odp_schedule_iquery.c
index b8a40011..75470aff 100644
--- a/platform/linux-generic/odp_schedule_iquery.c
+++ b/platform/linux-generic/odp_schedule_iquery.c
@@ -21,6 +21,7 @@
#include <odp/api/hints.h>
#include <odp/api/cpu.h>
#include <odp/api/thrmask.h>
+#include <odp/api/packet_io.h>
#include <odp_config_internal.h>
/* Number of priority levels */
@@ -1176,7 +1177,9 @@ static int schedule_ord_enq_multi(uint32_t queue_index, void *buf_hdr[],
return 0;
}
- if (odp_unlikely(stash_num >= MAX_ORDERED_STASH)) {
+ /* Pktout may drop packets, so the operation cannot be stashed. */
+ if (dst_queue->s.pktout.pktio != ODP_PKTIO_INVALID ||
+ odp_unlikely(stash_num >= MAX_ORDERED_STASH)) {
/* If the local stash is full, wait until it is our turn and
* then release the stash and do enqueue directly. */
wait_for_order(src_queue);
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/odp_packet_io.c | 8 ++++++++
platform/linux-generic/odp_queue.c | 1 +
platform/linux-generic/odp_schedule.c | 5 ++++-
platform/linux-generic/odp_schedule_iquery.c | 5 ++++-
4 files changed, 17 insertions(+), 2 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, api-next has been updated
via f20dee9db3da9425d8764e414b04cdcbd41bece8 (commit)
via 3faf025987a1640983080a2743e58fbb3cbac55e (commit)
via 599ac6802352c9c56eca33a6004824783becaa6e (commit)
from 0a3e5be140e77167173b9af4b72cdad8451aff71 (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 f20dee9db3da9425d8764e414b04cdcbd41bece8
Merge: 3faf0259 599ac680
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Tue May 23 22:18:43 2017 +0300
Merge branch 'master' into api-next
commit 3faf025987a1640983080a2743e58fbb3cbac55e
Author: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Date: Tue May 23 09:00:10 2017 +0300
api: ipsec: factor out IP protocol version parameter
Instead of using 'magic' numbers for ip version in SA params, define new
enum to distinguish between IPv4 and IPv6.
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Reviewed-by: Petri Savolainen <petri.savolainen(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/include/odp/api/spec/ipsec.h b/include/odp/api/spec/ipsec.h
index 9a7404c9..15f5e8be 100644
--- a/include/odp/api/spec/ipsec.h
+++ b/include/odp/api/spec/ipsec.h
@@ -581,6 +581,18 @@ typedef enum odp_ipsec_pipeline_t {
} odp_ipsec_pipeline_t;
/**
+ * IPSEC header type
+ */
+typedef enum odp_ipsec_ip_version_t {
+ /** Header is IPv4 */
+ ODP_IPSEC_IPV4 = 4,
+
+ /** Header is IPv6 */
+ ODP_IPSEC_IPV6 = 6
+
+} odp_ipsec_ip_version_t;
+
+/**
* IPSEC Security Association (SA) parameters
*/
typedef struct odp_ipsec_sa_param_t {
@@ -625,11 +637,8 @@ typedef struct odp_ipsec_sa_param_t {
* only in ODP_IPSEC_LOOKUP_DSTADDR_SPI lookup mode. */
struct {
/** Select IP version
- *
- * 4: IPv4
- * 6: IPv6
*/
- uint8_t ip_version;
+ odp_ipsec_ip_version_t ip_version;
/** IP destination address (NETWORK ENDIAN) */
void *dst_addr;
-----------------------------------------------------------------------
Summary of changes:
.travis.yml | 14 +++++++++++++-
include/odp/api/spec/ipsec.h | 17 +++++++++++++----
2 files changed, 26 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 599ac6802352c9c56eca33a6004824783becaa6e (commit)
from d2562fb0cb2c2b21b628b265ef24a6c8cbac9608 (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 599ac6802352c9c56eca33a6004824783becaa6e
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Tue May 16 22:01:33 2017 +0300
travis: check compile and run from install
Verify that odp app can be compiled and run from installed
odp library and includes.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
eviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/.travis.yml b/.travis.yml
index e792af06..65edfbb3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -125,9 +125,21 @@ script:
- make distcheck
- ./bootstrap
- - ./configure --enable-test-cpp --enable-test-vald --enable-test-helper --enable-test-perf --enable-user-guides --enable-test-perf-proc --enable-test-example --with-dpdk-path=`pwd`/dpdk/${TARGET} --with-netmap-path=`pwd`/netmap CFLAGS="$MY_CF" CXXFLAGS="$MY_CF" LDFLAGS="$MY_LDF"
+ - ./configure --prefix=$HOME/odp-install --enable-test-cpp --enable-test-vald --enable-test-helper --enable-test-perf --enable-user-guides --enable-test-perf-proc --enable-test-example --with-dpdk-path=`pwd`/dpdk/${TARGET} --with-netmap-path=`pwd`/netmap CFLAGS="$MY_CF" CXXFLAGS="$MY_CF" LDFLAGS="$MY_LDF"
- make -j 4
- sudo LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" make check
+ - make install
+
+ - echo "Checking linking and run from install..."
+ - pushd $HOME
+ - echo "Dynamic link.."
+ - ${CC} ${OLDPWD}/example/hello/odp_hello.c -o odp_hello_inst -I${HOME}/odp-install/include -L${HOME}/odp-install/lib -lodp-linux -L${OLDPWD}/dpdk/x86_64-native-linuxapp-gcc/lib -lrt -ldpdk -lpthread -lcrypto -lpcap $MY_CF $MY_LDF -ldl
+ - LD_LIBRARY_PATH="${HOME}/odp-install/lib:$LD_LIBRARY_PATH" ./odp_hello_inst
+ - echo "Static link.."
+ - ${CC} ${OLDPWD}/example/hello/odp_hello.c -o odp_hello_inst -I${HOME}/odp-install/include -L${HOME}/odp-install/lib -lodp-linux -L${OLDPWD}/dpdk/x86_64-native-linuxapp-gcc/lib -lrt -ldpdk -lpthread -lcrypto -lpcap $MY_CF $MY_LDF -ldl -static
+ - ./odp_hello_inst
+ - popd
+
- sudo rm -rf dpdk
- sudo rm -rf netmap
- sudo rm -rf $KSRC
-----------------------------------------------------------------------
Summary of changes:
.travis.yml | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
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 d2562fb0cb2c2b21b628b265ef24a6c8cbac9608 (commit)
from f4386378e466a519d8f97923ba43ea22dec1e933 (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 d2562fb0cb2c2b21b628b265ef24a6c8cbac9608
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Tue May 16 16:09:27 2017 +0300
travis: move code style check to separate job
Move this check to separate job to better see which exactly
task was failed.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/.travis.yml b/.travis.yml
index aa7ea010..e792af06 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -51,12 +51,28 @@ matrix:
- llvm-toolchain-precise-3.8
packages:
- clang-3.8
+ - compiler: gcc
+ addons:
+ apt:
+ sources:
+ - ubuntu-toolchain-r-test
+ packages:
+ - gcc
+ env: TEST="CHECKPATCH"
before_install:
- echo 1000 | sudo tee /proc/sys/vm/nr_hugepages
- sudo mkdir -p /mnt/huge
- sudo mount -t hugetlbfs nodev /mnt/huge
+ - if [ "$TEST" = "CHECKPATCH" ]; then
+ echo ${TRAVIS_COMMIT_RANGE};
+ ODP_PATCHES=`echo ${TRAVIS_COMMIT_RANGE} | sed 's/\.//'`;
+ if [ -z "${ODP_PATCHES}" ]; then env; exit 1; fi;
+ ./scripts/ci-checkpatches.sh ${ODP_PATCHES};
+ exit $?;
+ fi
+
- sudo apt-get -qq update
- sudo apt-get install automake autoconf libtool libssl-dev graphviz mscgen doxygen
- sudo apt-get install libpcap-dev linux-headers-`uname -r`
@@ -101,21 +117,6 @@ before_install:
- popd
script:
- - echo $TRAVIS_COMMIT_RANGE
- - ODP_PACHES=`echo $TRAVIS_COMMIT_RANGE | sed 's/\.//'`
-# Generate patches provided with $TRAVIS_COMMIT_RANGE.
-# In case of force push and range is broken validate only the latest commit if it's not merge commit.
- - git format-patch $ODP_PACHES;
- if [ $? -ne 0 ]; then
- git show --summary HEAD| grep -q '^Merge:';
- if [ $? -ne 0 ]; then
- git format-patch HEAD^;
- perl ./scripts/checkpatch.pl *.patch;
- fi;
- else
- perl ./scripts/checkpatch.pl *.patch;
- fi
-
- ./bootstrap
- ./configure
# doxygen does not trap on warnings, check for them here.
diff --git a/scripts/ci-checkpatches.sh b/scripts/ci-checkpatches.sh
new file mode 100755
index 00000000..cb1c4e65
--- /dev/null
+++ b/scripts/ci-checkpatches.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+PATCHES=$1
+echo "Run checkpatch for ${PATCHES}"
+# Generate patches provided with $1.
+# In case of force push and range is broken
+# validate only the latest commit if it's not merge commit.
+git format-patch ${PATCHES}
+if [ $? -ne 0 ]; then
+ git show --summary HEAD| grep -q '^Merge:';
+ if [ $? -ne 0 ]; then
+ git format-patch HEAD^;
+ perl ./scripts/checkpatch.pl *.patch;
+ fi;
+else
+ perl ./scripts/checkpatch.pl *.patch;
+fi
-----------------------------------------------------------------------
Summary of changes:
.travis.yml | 31 ++++++++++++++++---------------
scripts/ci-checkpatches.sh | 17 +++++++++++++++++
2 files changed, 33 insertions(+), 15 deletions(-)
create mode 100755 scripts/ci-checkpatches.sh
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 f4386378e466a519d8f97923ba43ea22dec1e933 (commit)
from 3ca26420f0e06fdb1b2cb9192461dbc32a421de5 (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 f4386378e466a519d8f97923ba43ea22dec1e933
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Thu May 4 14:33:14 2017 -0500
scripts: checkpatch: update to allow additional exceptions
Update checkpatch.pl to avoid issuing warnings for use of externs,
volatile, or camelCase.
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 16316b92..1c27ac60 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -4273,7 +4273,7 @@ sub process {
$camelcase_file_seeded = 1;
}
}
- if (!defined $camelcase{$word}) {
+ if (!defined $camelcase{$word} && 0) {
$camelcase{$word} = 1;
CHK("CAMELCASE",
"Avoid CamelCase: <$word>\n" . $herecurr);
@@ -4620,7 +4620,7 @@ sub process {
# no volatiles please
my $asm_volatile = qr{\b(__asm__|asm)\s+(__volatile__|volatile)\b};
- if ($line =~ /\bvolatile\b/ && $line !~ /$asm_volatile/) {
+ if ($line =~ /\bvolatile\b/ && 0 && $line !~ /$asm_volatile/) {
WARN("VOLATILE",
"Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt\n" . $herecurr);
}
@@ -5134,7 +5134,7 @@ sub process {
if (defined $cond) {
substr($s, 0, length($cond), '');
}
- if ($s =~ /^\s*;/ &&
+ if ($s =~ /^\s*;/ && 0 &&
$function_name ne 'uninitialized_var')
{
WARN("AVOID_EXTERNS",
-----------------------------------------------------------------------
Summary of changes:
scripts/checkpatch.pl | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
hooks/post-receive
--