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 472d34cc0fd2b5f96277b1799583ab6c45375d40 (commit)
via 148a700fb9af847a64d732bf7ed9975aa03fefa9 (commit)
via ba6cad6319b917c078dd0c20cd6b011637195898 (commit)
from c5eb1703fe9e7529ae12ecf1799b757e1a992afd (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 472d34cc0fd2b5f96277b1799583ab6c45375d40
Author: Matias Elo <matias.elo(a)nokia.com>
Date: Wed May 24 17:35:21 2017 +0300
test: pktio: use capability to set test pool packet length
Test used to fail if odp_pool_capability_t.pkt.max_len < PKT_BUF_SIZE.
https://bugs.linaro.org/show_bug.cgi?id=3013
Signed-off-by: Matias Elo <matias.elo(a)nokia.com>
Reviewed-and-tested-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/test/common_plat/validation/api/pktio/pktio.c b/test/common_plat/validation/api/pktio/pktio.c
index 54f206ef..11fe974f 100644
--- a/test/common_plat/validation/api/pktio/pktio.c
+++ b/test/common_plat/validation/api/pktio/pktio.c
@@ -122,20 +122,23 @@ static inline void _pktio_wait_linkup(odp_pktio_t pktio)
static void set_pool_len(odp_pool_param_t *params, odp_pool_capability_t *capa)
{
+ uint32_t len;
uint32_t seg_len;
+ len = (capa->pkt.max_len && capa->pkt.max_len < PKT_BUF_SIZE) ?
+ capa->pkt.max_len : PKT_BUF_SIZE;
seg_len = capa->pkt.max_seg_len ? capa->pkt.max_seg_len : PKT_BUF_SIZE;
switch (pool_segmentation) {
case PKT_POOL_SEGMENTED:
/* Force segment to minimum size */
params->pkt.seg_len = 0;
- params->pkt.len = PKT_BUF_SIZE;
+ params->pkt.len = len;
break;
case PKT_POOL_UNSEGMENTED:
default:
params->pkt.seg_len = seg_len;
- params->pkt.len = PKT_BUF_SIZE;
+ params->pkt.len = len;
break;
}
}
commit 148a700fb9af847a64d732bf7ed9975aa03fefa9
Author: Matias Elo <matias.elo(a)nokia.com>
Date: Wed May 24 17:35:20 2017 +0300
linux-gen: packet: fix gcc errors with single segment pool
Fix (invalid) gcc errors when CONFIG_PACKET_MAX_SEGS is set to one.
https://bugs.linaro.org/show_bug.cgi?id=3013
Signed-off-by: Matias Elo <matias.elo(a)nokia.com>
Reviewed-and-tested-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-generic/odp_packet.c
index 3e7c07a3..e2bb8426 100644
--- a/platform/linux-generic/odp_packet.c
+++ b/platform/linux-generic/odp_packet.c
@@ -804,7 +804,8 @@ static inline int move_data_to_head(odp_packet_hdr_t *pkt_hdr, int segs)
free_len = BASE_LEN - len;
- for (src_seg = dst_seg + 1; src_seg < segs; src_seg++) {
+ for (src_seg = dst_seg + 1; CONFIG_PACKET_MAX_SEGS > 1 &&
+ src_seg < segs; src_seg++) {
len = fill_seg_head(pkt_hdr, dst_seg, src_seg,
free_len);
moved += len;
@@ -928,7 +929,7 @@ int odp_packet_extend_head(odp_packet_t *pkt, uint32_t len,
pkt_hdr = new_hdr;
*pkt = packet_handle(pkt_hdr);
- } else if (free_segs) {
+ } else if (CONFIG_PACKET_MAX_SEGS > 1 && free_segs) {
new_hdr = pkt_hdr->buf_hdr.seg[free_segs].hdr;
packet_seg_copy_md(new_hdr, pkt_hdr);
commit ba6cad6319b917c078dd0c20cd6b011637195898
Author: Matias Elo <matias.elo(a)nokia.com>
Date: Wed May 24 17:35:19 2017 +0300
linux-gen: packet: fix odp_packet_free_multi() with single segment pool
Previously the implementation would use wrong handles and crash if
CONFIG_PACKET_MAX_SEGS was set to one.
https://bugs.linaro.org/show_bug.cgi?id=3013
Signed-off-by: Matias Elo <matias.elo(a)nokia.com>
Reviewed-and-tested-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/odp_packet.c b/platform/linux-generic/odp_packet.c
index e99e8b83..3e7c07a3 100644
--- a/platform/linux-generic/odp_packet.c
+++ b/platform/linux-generic/odp_packet.c
@@ -594,11 +594,16 @@ void odp_packet_free(odp_packet_t pkt)
void odp_packet_free_multi(const odp_packet_t pkt[], int num)
{
+ odp_buffer_t buf[num * CONFIG_PACKET_MAX_SEGS];
+ int i;
+
if (CONFIG_PACKET_MAX_SEGS == 1) {
- buffer_free_multi((const odp_buffer_t * const)pkt, num);
+ for (i = 0; i < num; i++)
+ buf[i] = buffer_handle(packet_hdr(pkt[i]));
+
+ buffer_free_multi(buf, num);
} else {
- odp_buffer_t buf[num * CONFIG_PACKET_MAX_SEGS];
- int i, j;
+ int j;
int bufs = 0;
for (i = 0; i < num; i++) {
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/odp_packet.c | 16 +++++++++++-----
test/common_plat/validation/api/pktio/pktio.c | 7 +++++--
2 files changed, 16 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, api-next has been updated
via 552817483e9d4b6a84d49960920f1de50029f111 (commit)
via c5eb1703fe9e7529ae12ecf1799b757e1a992afd (commit)
via ea134fe159c0d249e4bed12b7269e8236afa0262 (commit)
via 60b9dd435bf1be55794e5be6ee24714d28a5b587 (commit)
from 2e36f75db71b230021cd907a5aadf39559683d16 (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 552817483e9d4b6a84d49960920f1de50029f111
Merge: 2e36f75d c5eb1703
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Thu May 25 15:43:39 2017 +0300
Merge branch 'master' into api-next
diff --cc example/generator/odp_generator.c
index afa79270,3ec7d8d1..9336cec1
--- a/example/generator/odp_generator.c
+++ b/example/generator/odp_generator.c
@@@ -635,28 -664,10 +664,10 @@@ static void print_pkts(int thr, odp_pac
}
/* icmp */
- if (ip->proto == ODPH_IPPROTO_ICMP) {
+ if (ip->proto == ODPH_IPPROTO_ICMPv4) {
icmp = (odph_icmphdr_t *)(buf + offset);
- /* echo reply */
- if (icmp->type == ICMP_ECHOREPLY) {
- odp_atomic_inc_u64(&counters.icmp);
- memcpy(&tvsend, buf + offset + ODPH_ICMPHDR_LEN,
- sizeof(struct timeval));
- /* TODO This should be changed to use an
- * ODP timer API once one exists. */
- gettimeofday(&tvrecv, NULL);
- tv_sub(&tvrecv, &tvsend);
- rtt = tvrecv.tv_sec*1000 + tvrecv.tv_usec/1000;
- rlen += sprintf(msg + rlen,
- "ICMP Echo Reply seq %d time %.1f ",
- odp_be_to_cpu_16(icmp->un.echo.sequence)
- , rtt);
- } else if (icmp->type == ICMP_ECHO) {
- rlen += sprintf(msg + rlen,
- "Icmp Echo Request");
- }
- msg[rlen] = '\0';
+ process_icmp_pkt(icmp, msg);
printf(" [%02i] %s\n", thr, msg);
}
}
-----------------------------------------------------------------------
Summary of changes:
example/generator/odp_generator.c | 89 ++++++++++++---------------
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 +-
test/linux-generic/pktio_ipc/pktio_ipc_run.sh | 3 -
6 files changed, 58 insertions(+), 53 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 c5eb1703fe9e7529ae12ecf1799b757e1a992afd (commit)
from ea134fe159c0d249e4bed12b7269e8236afa0262 (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 c5eb1703fe9e7529ae12ecf1799b757e1a992afd
Author: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Date: Thu May 25 07:59:44 2017 +0300
test: linux-generic: stop dropping other ODP files in pktio_ipc test
Prevent pktio_ipc test from removing sockets and SHM files used by other
applications.
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/test/linux-generic/pktio_ipc/pktio_ipc_run.sh b/test/linux-generic/pktio_ipc/pktio_ipc_run.sh
index 52e8d42a..331ecdc9 100755
--- a/test/linux-generic/pktio_ipc/pktio_ipc_run.sh
+++ b/test/linux-generic/pktio_ipc/pktio_ipc_run.sh
@@ -20,9 +20,6 @@ PATH=.:$PATH
run()
{
local ret=0
- #if test was interrupted with CTRL+c than files
- #might remain in shm. Needed cleanely delete them.
- rm -rf /tmp/odp-* 2>&1 > /dev/null
echo "==== run pktio_ipc1 then pktio_ipc2 ===="
pktio_ipc1${EXEEXT} -t 10 &
-----------------------------------------------------------------------
Summary of changes:
test/linux-generic/pktio_ipc/pktio_ipc_run.sh | 3 ---
1 file changed, 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, next has been updated
via c951ba0386581a87675477456e3df0010f2eac66 (commit)
from ea134fe159c0d249e4bed12b7269e8236afa0262 (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 c951ba0386581a87675477456e3df0010f2eac66
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Fri Apr 21 09:25:20 2017 -0500
api: classification: add additional doxygen documentation
Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2952 by adding
additional field documentation to avoid problems with doxygen 1.8.13
and higher.
Signed-off-by: Bill Fischofer <bill.fischofer(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/classification.h b/include/odp/api/spec/classification.h
index 0e1addd6..39831b24 100644
--- a/include/odp/api/spec/classification.h
+++ b/include/odp/api/spec/classification.h
@@ -366,7 +366,9 @@ typedef struct odp_pmr_param_t {
/** True if the value is range and false if match */
odp_bool_t range_term;
+ /** Variant mappings for types of matches */
union {
+ /** Parameters for single-valued matches */
struct {
/** Value to be matched */
const void *value;
@@ -374,6 +376,8 @@ typedef struct odp_pmr_param_t {
/** Masked set of bits to be matched */
const void *mask;
} match;
+
+ /** Parameter for range value matches */
struct {
/** Start and End values are included in the range */
/** start value of range */
-----------------------------------------------------------------------
Summary of changes:
include/odp/api/spec/classification.h | 4 ++++
1 file changed, 4 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 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
--