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 201a96f9bbcbabd904362ba05a179c72689a578e (commit)
from d61d32590d1772b70b8dcd0d0ec44d29029d7443 (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 201a96f9bbcbabd904362ba05a179c72689a578e
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Thu Oct 26 19:24:21 2017 +0300
shippable: add libconfig and libnuma
add libconfig and libnuma for docker image for api-next.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/scripts/Dockerfile b/scripts/Dockerfile
index 995330fa..b15282aa 100644
--- a/scripts/Dockerfile
+++ b/scripts/Dockerfile
@@ -12,12 +12,14 @@ RUN sudo apt-get update && sudo apt-get install -yy \
gcc-4.8 \
graphviz \
kmod \
- mscgen \
+ libconfig-dev \
libcunit1-dev \
+ libnuma-dev \
libpcap-dev \
libssl-dev \
libtool \
linux-headers-`uname -r` \
+ mscgen \
ruby-dev
RUN sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 10
-----------------------------------------------------------------------
Summary of changes:
scripts/Dockerfile | 4 +++-
1 file changed, 3 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 8d22e0e2013596403ae6a35457cdf30b0a0c559b (commit)
from bd1b1adf37dd8d252f7daf761d4ae9a6d1ef156a (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 8d22e0e2013596403ae6a35457cdf30b0a0c559b
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Tue Oct 24 21:31:19 2017 -0500
doc: userguide: add section on api specification principles
Add section to the User Guide that highlights that unless otherwise
documented, API behavior is undefined if applications pass invalid
parameters to them.
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Reviewed-by: Petri Savolainen <petri.savolainen(a)linaro.org>
diff --git a/doc/users-guide/users-guide.adoc b/doc/users-guide/users-guide.adoc
index 18d8cb8f..0d1e5eb7 100644
--- a/doc/users-guide/users-guide.adoc
+++ b/doc/users-guide/users-guide.adoc
@@ -40,11 +40,29 @@ by abstract handles of type `odp_packet_t`, and packet-related APIs take
arguments of this type. What an `odp_packet_t` actually is is not part of the
ODP API specification--that is the responsibility of each ODP implementation.
+.API Specification Principles
+The ODP API specification is designed to permit wide latitude on the part of
+implementations while at the same time supporting highly efficient processing,
+especially for APIs that are executed frequently.
+
+Both applications and implementations must comply with the API
+specification. If not otherwise documented, results are undefined if an
+application acts against the specification. For example, if an application
+passes bad parameters to an ODP API one implementation may report an error,
+while another may not check them (to maximize performance) but would just
+crash while using the bad values.
+
+Note that many ODP component areas provide an `odp_xxx_capability()` API that
+returns platform-specific information regarding valid input to other APIs in
+that component. For best portability applications should always use these
+capability APIs to determine valid parameter input.
+
.Summary: ODP API attributes:
* Open Source, open contribution, BSD-3 licensed.
* Vendor and platform neutral.
* Application-centric. Covers functional needs of data plane applications.
* Ensures portability by specifying the functional behavior of ODP.
+* Both applications and implementations must conform to the API specification.
* Defined jointly and openly by application writers and platform implementers.
* Architected to be implementable on a wide range of platforms efficiently
* Sponsored, governed, and maintained by the Linaro Networking Group (LNG)
-----------------------------------------------------------------------
Summary of changes:
doc/users-guide/users-guide.adoc | 18 ++++++++++++++++++
1 file changed, 18 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, api-next has been updated
via d61d32590d1772b70b8dcd0d0ec44d29029d7443 (commit)
via 66b363634fe1bba003cdb9e4e49a5980fc8c79f4 (commit)
via bd1b1adf37dd8d252f7daf761d4ae9a6d1ef156a (commit)
via 4fafec8378b6e7d0b353d851e724ab27eb002b27 (commit)
from 63d92eb289261d1534b5b9e1e04291faa5e45d30 (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 d61d32590d1772b70b8dcd0d0ec44d29029d7443
Merge: 66b36363 bd1b1adf
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Thu Oct 26 17:06:11 2017 +0300
Merge branch 'master' into api-next
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
commit 66b363634fe1bba003cdb9e4e49a5980fc8c79f4
Author: Sachin Saxena <sachin.saxena(a)nxp.com>
Date: Tue Oct 10 12:14:17 2017 +0530
api: pool: Return address range for pool objects
Pool info support has been extented to provide minimum and maximum
addresses of application accessible data for any pool object (event).
Signed-off-by: Sachin Saxena <sachin.saxena(a)nxp.com>
Reviewed-by: Petri Savolainen <petri.savolainen(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/include/odp/api/spec/pool.h b/include/odp/api/spec/pool.h
index 221798ee..35f78377 100644
--- a/include/odp/api/spec/pool.h
+++ b/include/odp/api/spec/pool.h
@@ -294,6 +294,22 @@ odp_pool_t odp_pool_lookup(const char *name);
typedef struct odp_pool_info_t {
const char *name; /**< pool name */
odp_pool_param_t params; /**< pool parameters */
+
+ /** Minimum data address.
+ * This is the minimum address that application accessible
+ * data of any object (event) allocated from the pool may
+ * locate. When there's no application accessible data
+ * (e.g. ODP_POOL_TIMEOUT pools), the value may be zero.
+ */
+ uintptr_t min_data_addr;
+
+ /** Maximum data address.
+ * This is the maximum address that application accessible
+ * data of any object (event) allocated from the pool may
+ * locate. When there's no application accessible data
+ * (e.g. ODP_POOL_TIMEOUT pools), the value may be zero.
+ */
+ uintptr_t max_data_addr;
} odp_pool_info_t;
/**
-----------------------------------------------------------------------
Summary of changes:
include/odp/api/spec/pool.h | 16 ++++++++++++++++
platform/linux-generic/pktio/netmap.c | 15 ++++++++++-----
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 bd1b1adf37dd8d252f7daf761d4ae9a6d1ef156a (commit)
via 4fafec8378b6e7d0b353d851e724ab27eb002b27 (commit)
from 82419a31e6d1846e0676edfa7fb511a23098f5a9 (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 bd1b1adf37dd8d252f7daf761d4ae9a6d1ef156a
Author: Matias Elo <matias.elo(a)nokia.com>
Date: Thu Mar 16 14:50:36 2017 +0200
linux-gen: netmap: remove minimum frame len check
Checking the minimum frame length is unnecessary as netmap drops truncated
frames internally.
Signed-off-by: Matias Elo <matias.elo(a)nokia.com>
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/platform/linux-generic/pktio/netmap.c b/platform/linux-generic/pktio/netmap.c
index 4aecb242..297d54dc 100644
--- a/platform/linux-generic/pktio/netmap.c
+++ b/platform/linux-generic/pktio/netmap.c
@@ -649,11 +649,6 @@ static inline int netmap_pkt_to_odp(pktio_entry_t *pktio_entry,
goto fail;
}
- if (odp_unlikely(len < _ODP_ETH_LEN_MIN)) {
- ODP_ERR("RX: Frame truncated: %" PRIu16 "\n", len);
- goto fail;
- }
-
if (pktio_cls_enabled(pktio_entry)) {
if (cls_classify_packet(pktio_entry,
(const uint8_t *)slot.buf, len,
commit 4fafec8378b6e7d0b353d851e724ab27eb002b27
Author: Matias Elo <matias.elo(a)nokia.com>
Date: Thu Mar 16 13:53:30 2017 +0200
linux-gen: netmap: use thread id to make vdev mac addresses unique
Previously the mac addresses of virtual netmap devices would clash if
multiple odp processes were run on the same host.
Signed-off-by: Matias Elo <matias.elo(a)nokia.com>
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/platform/linux-generic/pktio/netmap.c b/platform/linux-generic/pktio/netmap.c
index 4c72a658..4aecb242 100644
--- a/platform/linux-generic/pktio/netmap.c
+++ b/platform/linux-generic/pktio/netmap.c
@@ -20,6 +20,7 @@
#include <protocols/eth.h>
#include <sys/ioctl.h>
+#include <sys/syscall.h>
#include <poll.h>
#include <linux/ethtool.h>
#include <linux/sockios.h>
@@ -388,6 +389,11 @@ static int netmap_open(odp_pktio_t id ODP_UNUSED, pktio_entry_t *pktio_entry,
if (pkt_nm->is_virtual) {
static unsigned mac;
+ uint32_t tid = syscall(SYS_gettid);
+
+ if ((int)tid == -1)
+ ODP_DBG("Unable to fetch thread ID. VALE port MAC "
+ "addresses may not be unique.\n");
pkt_nm->capa.max_input_queues = 1;
pkt_nm->capa.set_op.op.promisc_mode = 0;
@@ -395,6 +401,10 @@ static int netmap_open(odp_pktio_t id ODP_UNUSED, pktio_entry_t *pktio_entry,
pktio_entry->s.stats_type = STATS_UNSUPPORTED;
/* Set MAC address for virtual interface */
pkt_nm->if_mac[0] = 0x2;
+ pkt_nm->if_mac[1] = (tid >> 24) & 0xff;
+ pkt_nm->if_mac[2] = (tid >> 16) & 0xff;
+ pkt_nm->if_mac[3] = (tid >> 8) & 0xff;
+ pkt_nm->if_mac[4] = tid & 0xff;
pkt_nm->if_mac[5] = ++mac;
return 0;
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/pktio/netmap.c | 15 ++++++++++-----
1 file changed, 10 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, api-next has been updated
via 63d92eb289261d1534b5b9e1e04291faa5e45d30 (commit)
via 82419a31e6d1846e0676edfa7fb511a23098f5a9 (commit)
via c0aeacf23dddfb7feae47fef6e4d10d6bdb9c812 (commit)
via dd0498bb104c7319e2ec56b61e4d585167ea6c53 (commit)
via e826613858543e50a2ec74598f8c2c6fd4bfa064 (commit)
via 503722802274ff5de09144613d9262e2cfdb3077 (commit)
via 5329228e260d36de62c3edf3c1a3f08ab95fd558 (commit)
via 74d880d7e20ab4825868bd2013b164d4bc90eb45 (commit)
from 825f75ed8644ef57c5648961e7982daf13cd9375 (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 63d92eb289261d1534b5b9e1e04291faa5e45d30
Merge: 825f75ed 82419a31
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Wed Oct 25 10:15:03 2017 +0300
Merge branch 'master' into api-next
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --cc .travis.yml
index 49b922e3,2d397171..4608dae8
--- a/.travis.yml
+++ b/.travis.yml
@@@ -41,7 -41,7 +41,8 @@@ addons
- clang-3.8
- automake autoconf libtool libssl-dev graphviz mscgen
- libpcap-dev
+ - libconfig-dev
+ - libnuma-dev
# coverity_scan:
# project:
# name: "$TRAVIS_REPO_SLUG"
-----------------------------------------------------------------------
Summary of changes:
.shippable.yml | 45 ++++++++++
.travis.yml | 5 +-
DEPENDENCIES | 6 +-
platform/linux-generic/m4/odp_dpdk.m4 | 2 +-
platform/linux-generic/odp_packet_io.c | 15 ++--
platform/linux-generic/pktio/dpdk.c | 99 ++++++++++++++++------
platform/linux-generic/test/.gitignore | 1 +
.../test/validation/api/pktio/pktio_run_dpdk.sh | 2 +-
scripts/Dockerfile | 24 ++++++
scripts/build-pktio-dpdk | 8 +-
test/validation/api/.gitignore | 1 +
11 files changed, 172 insertions(+), 36 deletions(-)
create mode 100644 .shippable.yml
create mode 100644 scripts/Dockerfile
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 dd0498bb104c7319e2ec56b61e4d585167ea6c53 (commit)
from e826613858543e50a2ec74598f8c2c6fd4bfa064 (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 dd0498bb104c7319e2ec56b61e4d585167ea6c53
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Wed Oct 18 18:28:51 2017 +0300
linux-gen: pktio: ignore num_queues parameter if classifier enabled
Api defines statemet:
"When classifier is enabled in odp_pktin_queue_config() this
value is ignored, otherwise at least one queue is required."
https://bugs.linaro.org/show_bug.cgi?id=3289
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c
index f972bb78..0473483d 100644
--- a/platform/linux-generic/odp_packet_io.c
+++ b/platform/linux-generic/odp_packet_io.c
@@ -1228,13 +1228,13 @@ int odp_pktin_queue_config(odp_pktio_t pktio,
if (mode == ODP_PKTIN_MODE_DISABLED)
return 0;
- num_queues = param->num_queues;
-
- if (num_queues == 0) {
- ODP_DBG("pktio %s: zero input queues\n", entry->s.name);
+ if (!param->classifier_enable && param->num_queues == 0) {
+ ODP_DBG("invalid num_queues for operation mode\n");
return -1;
}
+ num_queues = param->classifier_enable ? 1 : param->num_queues;
+
rc = odp_pktio_capability(pktio, &capa);
if (rc) {
ODP_DBG("pktio %s: unable to read capabilities\n",
@@ -1263,8 +1263,11 @@ int odp_pktin_queue_config(odp_pktio_t pktio,
snprintf(name, sizeof(name), "odp-pktin-%i-%i",
pktio_id, i);
- memcpy(&queue_param, ¶m->queue_param,
- sizeof(odp_queue_param_t));
+ if (param->classifier_enable)
+ odp_queue_param_init(&queue_param);
+ else
+ memcpy(&queue_param, ¶m->queue_param,
+ sizeof(odp_queue_param_t));
queue_param.type = ODP_QUEUE_TYPE_PLAIN;
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/odp_packet_io.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
hooks/post-receive
--