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
discards 93e8b141c7bdfa626f8d058e4566760e13551155 (commit)
discards 3bff219f684de044bd5ab83137e1e85093a622eb (commit)
discards c595949e3e724102f2cdbd5edefcdc83f7b754fe (commit)
via 60a2ce06aaf7e6768cb6c8b22ced90cc5d2cb946 (commit)
via 710a73bb19121a880acea4a87e5a6e6cecb276ea (commit)
via 2846f6773314bdb4693cf125a79c9b6367cfff15 (commit)
via 197710ffc229f3db775a97c27e09c2dc063497c4 (commit)
via b7d403b9f8b8f666259dccf9d994ef8a28d9facb (commit)
via 2c80ef58dba783bfbf11060cab273e57ba6d0e62 (commit)
via 6c6087bc5bc718bd8fb7e773b9206a4b2f7672d4 (commit)
via 22721beb44a03491c6df66f8c218ed2d66692fa1 (commit)
via 59b52a40e9e61992fc0089052055313774fde5f5 (commit)
via aa72a6f0af30414f5bf84e3fa3a20c755517cb86 (commit)
via bd0499915c84f70ce19153b13ff5573df3d578a0 (commit)
via e1502b233407b5dfaf530de5c3cf97a5c20ab92b (commit)
This update added new revisions after undoing existing revisions. That is
to say, the old revision is not a strict subset of the new revision. This
situation occurs when you --force push a change and generate a repository
containing something like this:
* -- * -- B -- O -- O -- O (93e8b141c7bdfa626f8d058e4566760e13551155)
\
N -- N -- N (60a2ce06aaf7e6768cb6c8b22ced90cc5d2cb946)
When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.
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 60a2ce06aaf7e6768cb6c8b22ced90cc5d2cb946
Author: Barry Spinney <spinney(a)mellanox.com>
Date: Wed Jul 13 11:59:40 2016 -0500
api: tm: resolve todo
This todo just asks a question which is no longer important.
Signed-off-by: Barry Spinney <spinney(a)mellanox.com>
Signed-off-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/traffic_mngr.h b/include/odp/api/spec/traffic_mngr.h
index c9e6f8f..3473648 100644
--- a/include/odp/api/spec/traffic_mngr.h
+++ b/include/odp/api/spec/traffic_mngr.h
@@ -93,7 +93,6 @@ extern "C" {
* @def ODP_TM_MAX_TM_NODE_FANIN
* The largest number of fan-in "inputs" that can be simultaneously connected
* to a single tm_node.
- * @todo Does this need to be as large as ODP_TM_MAX_TM_QUEUES?
*/
/**
@@ -886,7 +885,7 @@ typedef struct {
/** In the case that sched_modes for a given strict priority level
* indicates the use of weighted scheduling, this field supplies the
* weighting factors. The weights - when defined - are used such that
- * the (adjusted) frame lengths are divided by these 8-bit weights
+ * the (adjusted) frame lengths are divided by these 8-bit weights
* (i.e. they are divisors and not multipliers). Consequently a
* weight of 0 (when sched_mode is ODP_TM_BYTE_BASED_WEIGHTS) is
* illegal. */
commit 710a73bb19121a880acea4a87e5a6e6cecb276ea
Author: Balasubramanian Manoharan <bala.manoharan(a)linaro.org>
Date: Tue Jun 28 17:35:54 2016 +0530
api: traffic_mngr: Add pktio interface to odp_tm_egress_t struct
Replaces pktio interface as input to TM system instead of
odp_pktout_queue_t.This creates an 1 to 1 mapping between a TM system
and pktio interface.
Signed-off-by: Balasubramanian Manoharan <bala.manoharan(a)linaro.org>
Reviewed-by: Petri Savolainen <petri.savolainen(a)nokia.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/include/odp/api/spec/traffic_mngr.h b/include/odp/api/spec/traffic_mngr.h
index 83b89e7..c9e6f8f 100644
--- a/include/odp/api/spec/traffic_mngr.h
+++ b/include/odp/api/spec/traffic_mngr.h
@@ -270,6 +270,12 @@ typedef struct {
* have their fan_in only from tm_queues. */
uint8_t max_levels;
+ /** egress_fcn_supported indicates whether the tm system supports
+ * egress function. It is an optional feature used to receive the
+ * packet from the tm system and its performance might be limited.
+ */
+ odp_bool_t egress_fcn_supported;
+
/** tm_queue_shaper_supported indicates that the tm_queues support
* proper TM shaping. Note that TM Shaping is NOT the same thing as
* Ingress Metering/Policing as specified by RFC 2697 (A Single Rate
@@ -467,7 +473,7 @@ typedef struct {
odp_tm_egress_kind_t egress_kind; /**< Union discriminator */
union {
- odp_pktout_queue_t pktout;
+ odp_pktio_t pktio;
odp_tm_egress_fcn_t egress_fcn;
};
} odp_tm_egress_t;
diff --git a/platform/linux-generic/include/odp_traffic_mngr_internal.h b/platform/linux-generic/include/odp_traffic_mngr_internal.h
index 15451ac..e4bc5ce 100644
--- a/platform/linux-generic/include/odp_traffic_mngr_internal.h
+++ b/platform/linux-generic/include/odp_traffic_mngr_internal.h
@@ -380,7 +380,7 @@ typedef struct {
tm_queue_info_t priority_info[ODP_TM_MAX_PRIORITIES];
tm_random_data_t tm_random_data;
-
+ odp_pktout_queue_t pktout;
uint64_t current_time;
uint8_t tm_idx;
uint8_t first_enq;
diff --git a/platform/linux-generic/odp_traffic_mngr.c b/platform/linux-generic/odp_traffic_mngr.c
index 7a8b647..e668bf9 100644
--- a/platform/linux-generic/odp_traffic_mngr.c
+++ b/platform/linux-generic/odp_traffic_mngr.c
@@ -2108,7 +2108,7 @@ static void tm_send_pkt(tm_system_t *tm_system, uint32_t max_sends)
tm_system->egress_pkt_desc = EMPTY_PKT_DESC;
if (tm_system->egress.egress_kind == ODP_TM_EGRESS_PKT_IO)
- odp_pktout_send(tm_system->egress.pktout, &odp_pkt, 1);
+ odp_pktout_send(tm_system->pktout, &odp_pkt, 1);
else if (tm_system->egress.egress_kind == ODP_TM_EGRESS_FN)
tm_system->egress.egress_fcn(odp_pkt);
else
@@ -2426,6 +2426,7 @@ int odp_tm_capabilities(odp_tm_capabilities_t capabilities[] ODP_UNUSED,
cap_ptr->max_tm_queues = ODP_TM_MAX_TM_QUEUES;
cap_ptr->max_levels = ODP_TM_MAX_LEVELS;
cap_ptr->tm_queue_shaper_supported = true;
+ cap_ptr->egress_fcn_supported = true;
cap_ptr->tm_queue_wred_supported = true;
cap_ptr->tm_queue_dual_slope_supported = true;
cap_ptr->vlan_marking_supported = true;
@@ -2607,6 +2608,7 @@ odp_tm_t odp_tm_create(const char *name,
tm_system_t *tm_system;
odp_bool_t create_fail;
odp_tm_t odp_tm;
+ odp_pktout_queue_t pktout;
uint32_t malloc_len, max_num_queues, max_queued_pkts, max_timers;
uint32_t max_tm_queues, max_sorted_lists;
int rc;
@@ -2627,6 +2629,10 @@ odp_tm_t odp_tm_create(const char *name,
return ODP_TM_INVALID;
}
+ if (odp_pktout_queue(egress->pktio, &pktout, 1) != 1)
+ return ODP_TM_INVALID;
+
+ tm_system->pktout = pktout;
tm_system->name_tbl_id = name_tbl_id;
max_tm_queues = requirements->max_tm_queues;
memcpy(&tm_system->egress, egress, sizeof(odp_tm_egress_t));
diff --git a/test/validation/traffic_mngr/traffic_mngr.c b/test/validation/traffic_mngr/traffic_mngr.c
index 1c4e90b..b857800 100644
--- a/test/validation/traffic_mngr/traffic_mngr.c
+++ b/test/validation/traffic_mngr/traffic_mngr.c
@@ -323,7 +323,7 @@ static odp_pktio_t pktios[MAX_NUM_IFACES];
static odp_pktin_queue_t pktins[MAX_NUM_IFACES];
static odp_pktout_queue_t pktouts[MAX_NUM_IFACES];
static odp_pktin_queue_t rcv_pktin;
-static odp_pktout_queue_t xmt_pktout;
+static odp_pktio_t xmt_pktio;
static odph_ethaddr_t src_mac;
static odph_ethaddr_t dst_mac;
@@ -543,7 +543,7 @@ static int open_pktios(void)
}
if (2 <= num_ifaces) {
- xmt_pktout = pktouts[0];
+ xmt_pktio = pktios[0];
rcv_pktin = pktins[1];
ret = odp_pktio_start(pktios[1]);
if (ret != 0) {
@@ -551,7 +551,7 @@ static int open_pktios(void)
return -1;
}
} else {
- xmt_pktout = pktouts[0];
+ xmt_pktio = pktios[0];
rcv_pktin = pktins[0];
}
@@ -1627,7 +1627,7 @@ static int create_tm_system(void)
}
egress.egress_kind = ODP_TM_EGRESS_PKT_IO;
- egress.pktout = xmt_pktout;
+ egress.pktio = xmt_pktio;
snprintf(tm_name, sizeof(tm_name), "TM_system_%u", num_odp_tm_systems);
odp_tm = odp_tm_create(tm_name, &requirements, &egress);
commit 2846f6773314bdb4693cf125a79c9b6367cfff15
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Tue May 10 18:34:37 2016 +0300
api: system: specify default huge page size
System can have different sizes for huge pages. Clarify that
this api returns default system huge page size, which is usually
2Mb on x86 reachable with:
grep Hugepagesize: /proc/meminfo
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Reviewed-by: Petri Savolainen <petri.savolainen(a)nokia.com>
diff --git a/include/odp/api/spec/system_info.h b/include/odp/api/spec/system_info.h
index 6957731..c5a5fd0 100644
--- a/include/odp/api/spec/system_info.h
+++ b/include/odp/api/spec/system_info.h
@@ -24,9 +24,9 @@ extern "C" {
*/
/**
- * Huge page size in bytes
+ * Default system huge page size in bytes
*
- * @return Huge page size in bytes
+ * @return Default huge page size in bytes
*/
uint64_t odp_sys_huge_page_size(void);
-----------------------------------------------------------------------
Summary of changes:
example/generator/odp_generator.c | 4 ---
example/ipsec/Makefile.am | 18 +++++++-------
example/ipsec/odp_ipsec.c | 6 +----
example/ipsec/{run_ah_in => odp_ipsec_run_ah_in} | 0
example/ipsec/{run_ah_out => odp_ipsec_run_ah_out} | 0
.../ipsec/{run_both_in => odp_ipsec_run_both_in} | 0
.../ipsec/{run_both_out => odp_ipsec_run_both_out} | 0
example/ipsec/{run_esp_in => odp_ipsec_run_esp_in} | 0
.../ipsec/{run_esp_out => odp_ipsec_run_esp_out} | 0
example/ipsec/{run_live => odp_ipsec_run_live} | 0
example/ipsec/{run_router => odp_ipsec_run_router} | 0
example/ipsec/{run_simple => odp_ipsec_run_simple} | 0
example/packet/odp_pktio.c | 4 ---
example/switch/odp_switch.c | 24 ++++++++++++------
example/switch/switch_run.sh | 11 +++-----
example/time/.gitignore | 2 +-
example/time/Makefile.am | 8 +++---
helper/test/Makefile.am | 2 +-
.../include/odp_packet_io_ring_internal.h | 1 -
platform/linux-generic/odp_pool.c | 7 +++---
platform/linux-generic/pktio/dpdk.c | 20 +++++++++++----
platform/linux-generic/pktio/ipc.c | 1 +
platform/linux-generic/pktio/loop.c | 8 +++++-
platform/linux-generic/pktio/netmap.c | 20 +++++++++++++--
platform/linux-generic/pktio/pcap.c | 8 +++++-
platform/linux-generic/pktio/socket.c | 19 ++++++++++++--
platform/linux-generic/pktio/socket_mmap.c | 19 ++++++++++++--
test/performance/odp_crypto.c | 29 ++++++++++++++++++----
test/performance/odp_l2fwd.c | 21 ++++++++++++----
29 files changed, 162 insertions(+), 70 deletions(-)
rename example/ipsec/{run_ah_in => odp_ipsec_run_ah_in} (100%)
rename example/ipsec/{run_ah_out => odp_ipsec_run_ah_out} (100%)
rename example/ipsec/{run_both_in => odp_ipsec_run_both_in} (100%)
rename example/ipsec/{run_both_out => odp_ipsec_run_both_out} (100%)
rename example/ipsec/{run_esp_in => odp_ipsec_run_esp_in} (100%)
rename example/ipsec/{run_esp_out => odp_ipsec_run_esp_out} (100%)
rename example/ipsec/{run_live => odp_ipsec_run_live} (100%)
rename example/ipsec/{run_router => odp_ipsec_run_router} (100%)
rename example/ipsec/{run_simple => odp_ipsec_run_simple} (100%)
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 2c80ef58dba783bfbf11060cab273e57ba6d0e62 (commit)
from 6c6087bc5bc718bd8fb7e773b9206a4b2f7672d4 (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 2c80ef58dba783bfbf11060cab273e57ba6d0e62
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Mon Jul 18 23:42:58 2016 +0300
linux-gen: scope ipc shared memory for packet pools only
Instead of placing all allocation to shared memory, place
only packets pool.
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Mike Holmes <mike.holmes(a)linaro.org>
diff --git a/platform/linux-generic/odp_pool.c b/platform/linux-generic/odp_pool.c
index ec6d86a..419f03f 100644
--- a/platform/linux-generic/odp_pool.c
+++ b/platform/linux-generic/odp_pool.c
@@ -462,10 +462,11 @@ odp_pool_t odp_pool_create(const char *name,
odp_pool_param_t *params)
{
#ifdef _ODP_PKTIO_IPC
- return _pool_create(name, params, ODP_SHM_PROC);
-#else
- return _pool_create(name, params, 0);
+ if (params && (params->type == ODP_POOL_PACKET))
+ return _pool_create(name, params, ODP_SHM_PROC);
#endif
+ return _pool_create(name, params, 0);
+
}
odp_pool_t odp_pool_lookup(const char *name)
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/odp_pool.c | 7 ++++---
1 file changed, 4 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 6c6087bc5bc718bd8fb7e773b9206a4b2f7672d4 (commit)
from 22721beb44a03491c6df66f8c218ed2d66692fa1 (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 6c6087bc5bc718bd8fb7e773b9206a4b2f7672d4
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Mon Jul 18 18:50:04 2016 +0300
test: add termination path for l2fwd
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Mike Holmes <mike.holmes(a)linaro.org>
diff --git a/test/performance/odp_l2fwd.c b/test/performance/odp_l2fwd.c
index f4947ca..f05aa30 100644
--- a/test/performance/odp_l2fwd.c
+++ b/test/performance/odp_l2fwd.c
@@ -1481,7 +1481,22 @@ int main(int argc, char *argv[])
free(gbl_args->appl.if_names);
free(gbl_args->appl.if_str);
- printf("Exit\n\n");
+ if (odp_pool_destroy(pool)) {
+ LOG_ERR("Error: pool destroy\n");
+ exit(EXIT_FAILURE);
+ }
+
+ if (odp_term_local()) {
+ LOG_ERR("Error: term local\n");
+ exit(EXIT_FAILURE);
+ }
+
+ if (odp_term_global(instance)) {
+ LOG_ERR("Error: term global\n");
+ exit(EXIT_FAILURE);
+ }
+
+ printf("Exit %d\n\n", ret);
return ret;
}
-----------------------------------------------------------------------
Summary of changes:
test/performance/odp_l2fwd.c | 17 ++++++++++++++++-
1 file changed, 16 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 e1502b233407b5dfaf530de5c3cf97a5c20ab92b (commit)
from 9405b1770b78b774e7dbe6073f3f85d709541a26 (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 e1502b233407b5dfaf530de5c3cf97a5c20ab92b
Author: Bill Fischofer <bill.fischofer(a)linaro.org>
Date: Wed Jul 13 19:23:16 2016 -0500
linux-generic: pktio: remove doxygen for unused socket_id parameter
The ODP version of the _ring_create() routine does not use a socket_id
parameter, so remove the doxygen that refers to it to resolve Bug
https://bugs.linaro.org/show_bug.cgi?id=2413
Signed-off-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/platform/linux-generic/include/odp_packet_io_ring_internal.h b/platform/linux-generic/include/odp_packet_io_ring_internal.h
index f1188c3..d044f93 100644
--- a/platform/linux-generic/include/odp_packet_io_ring_internal.h
+++ b/platform/linux-generic/include/odp_packet_io_ring_internal.h
@@ -180,7 +180,6 @@ typedef struct _ring {
* The name of the ring.
* @param count
* The size of the ring (must be a power of 2).
- * @param socket_id (dummy, not included : todo)
* @param flags
* An OR of the following:
* - RING_F_SP_ENQ: If this flag is set, the default behavior when
-----------------------------------------------------------------------
Summary of changes:
platform/linux-generic/include/odp_packet_io_ring_internal.h | 1 -
1 file changed, 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, next has been updated
discards c53a2a74017a8b61a7b37bf43f2e9663e9faf8a3 (commit)
discards 35e5e2bc98dcf673f63016e10a374cdf18689d92 (commit)
via 93e8b141c7bdfa626f8d058e4566760e13551155 (commit)
via 3bff219f684de044bd5ab83137e1e85093a622eb (commit)
via c595949e3e724102f2cdbd5edefcdc83f7b754fe (commit)
via 9405b1770b78b774e7dbe6073f3f85d709541a26 (commit)
via 86939bf150967b4f2a9f0580aab9727388662496 (commit)
This update added new revisions after undoing existing revisions. That is
to say, the old revision is not a strict subset of the new revision. This
situation occurs when you --force push a change and generate a repository
containing something like this:
* -- * -- B -- O -- O -- O (c53a2a74017a8b61a7b37bf43f2e9663e9faf8a3)
\
N -- N -- N (93e8b141c7bdfa626f8d058e4566760e13551155)
When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.
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 93e8b141c7bdfa626f8d058e4566760e13551155
Author: Barry Spinney <spinney(a)mellanox.com>
Date: Wed Jul 13 11:59:40 2016 -0500
api: tm: resolve todo
This todo just asks a question which is no longer important.
Signed-off-by: Barry Spinney <spinney(a)mellanox.com>
Signed-off-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/traffic_mngr.h b/include/odp/api/spec/traffic_mngr.h
index c9e6f8f..3473648 100644
--- a/include/odp/api/spec/traffic_mngr.h
+++ b/include/odp/api/spec/traffic_mngr.h
@@ -93,7 +93,6 @@ extern "C" {
* @def ODP_TM_MAX_TM_NODE_FANIN
* The largest number of fan-in "inputs" that can be simultaneously connected
* to a single tm_node.
- * @todo Does this need to be as large as ODP_TM_MAX_TM_QUEUES?
*/
/**
@@ -886,7 +885,7 @@ typedef struct {
/** In the case that sched_modes for a given strict priority level
* indicates the use of weighted scheduling, this field supplies the
* weighting factors. The weights - when defined - are used such that
- * the (adjusted) frame lengths are divided by these 8-bit weights
+ * the (adjusted) frame lengths are divided by these 8-bit weights
* (i.e. they are divisors and not multipliers). Consequently a
* weight of 0 (when sched_mode is ODP_TM_BYTE_BASED_WEIGHTS) is
* illegal. */
commit 3bff219f684de044bd5ab83137e1e85093a622eb
Author: Balasubramanian Manoharan <bala.manoharan(a)linaro.org>
Date: Tue Jun 28 17:35:54 2016 +0530
api: traffic_mngr: Add pktio interface to odp_tm_egress_t struct
Replaces pktio interface as input to TM system instead of
odp_pktout_queue_t.This creates an 1 to 1 mapping between a TM system
and pktio interface.
Signed-off-by: Balasubramanian Manoharan <bala.manoharan(a)linaro.org>
Reviewed-by: Petri Savolainen <petri.savolainen(a)nokia.com>
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
diff --git a/include/odp/api/spec/traffic_mngr.h b/include/odp/api/spec/traffic_mngr.h
index 83b89e7..c9e6f8f 100644
--- a/include/odp/api/spec/traffic_mngr.h
+++ b/include/odp/api/spec/traffic_mngr.h
@@ -270,6 +270,12 @@ typedef struct {
* have their fan_in only from tm_queues. */
uint8_t max_levels;
+ /** egress_fcn_supported indicates whether the tm system supports
+ * egress function. It is an optional feature used to receive the
+ * packet from the tm system and its performance might be limited.
+ */
+ odp_bool_t egress_fcn_supported;
+
/** tm_queue_shaper_supported indicates that the tm_queues support
* proper TM shaping. Note that TM Shaping is NOT the same thing as
* Ingress Metering/Policing as specified by RFC 2697 (A Single Rate
@@ -467,7 +473,7 @@ typedef struct {
odp_tm_egress_kind_t egress_kind; /**< Union discriminator */
union {
- odp_pktout_queue_t pktout;
+ odp_pktio_t pktio;
odp_tm_egress_fcn_t egress_fcn;
};
} odp_tm_egress_t;
diff --git a/platform/linux-generic/include/odp_traffic_mngr_internal.h b/platform/linux-generic/include/odp_traffic_mngr_internal.h
index 15451ac..e4bc5ce 100644
--- a/platform/linux-generic/include/odp_traffic_mngr_internal.h
+++ b/platform/linux-generic/include/odp_traffic_mngr_internal.h
@@ -380,7 +380,7 @@ typedef struct {
tm_queue_info_t priority_info[ODP_TM_MAX_PRIORITIES];
tm_random_data_t tm_random_data;
-
+ odp_pktout_queue_t pktout;
uint64_t current_time;
uint8_t tm_idx;
uint8_t first_enq;
diff --git a/platform/linux-generic/odp_traffic_mngr.c b/platform/linux-generic/odp_traffic_mngr.c
index 7a8b647..e668bf9 100644
--- a/platform/linux-generic/odp_traffic_mngr.c
+++ b/platform/linux-generic/odp_traffic_mngr.c
@@ -2108,7 +2108,7 @@ static void tm_send_pkt(tm_system_t *tm_system, uint32_t max_sends)
tm_system->egress_pkt_desc = EMPTY_PKT_DESC;
if (tm_system->egress.egress_kind == ODP_TM_EGRESS_PKT_IO)
- odp_pktout_send(tm_system->egress.pktout, &odp_pkt, 1);
+ odp_pktout_send(tm_system->pktout, &odp_pkt, 1);
else if (tm_system->egress.egress_kind == ODP_TM_EGRESS_FN)
tm_system->egress.egress_fcn(odp_pkt);
else
@@ -2426,6 +2426,7 @@ int odp_tm_capabilities(odp_tm_capabilities_t capabilities[] ODP_UNUSED,
cap_ptr->max_tm_queues = ODP_TM_MAX_TM_QUEUES;
cap_ptr->max_levels = ODP_TM_MAX_LEVELS;
cap_ptr->tm_queue_shaper_supported = true;
+ cap_ptr->egress_fcn_supported = true;
cap_ptr->tm_queue_wred_supported = true;
cap_ptr->tm_queue_dual_slope_supported = true;
cap_ptr->vlan_marking_supported = true;
@@ -2607,6 +2608,7 @@ odp_tm_t odp_tm_create(const char *name,
tm_system_t *tm_system;
odp_bool_t create_fail;
odp_tm_t odp_tm;
+ odp_pktout_queue_t pktout;
uint32_t malloc_len, max_num_queues, max_queued_pkts, max_timers;
uint32_t max_tm_queues, max_sorted_lists;
int rc;
@@ -2627,6 +2629,10 @@ odp_tm_t odp_tm_create(const char *name,
return ODP_TM_INVALID;
}
+ if (odp_pktout_queue(egress->pktio, &pktout, 1) != 1)
+ return ODP_TM_INVALID;
+
+ tm_system->pktout = pktout;
tm_system->name_tbl_id = name_tbl_id;
max_tm_queues = requirements->max_tm_queues;
memcpy(&tm_system->egress, egress, sizeof(odp_tm_egress_t));
diff --git a/test/validation/traffic_mngr/traffic_mngr.c b/test/validation/traffic_mngr/traffic_mngr.c
index 1c4e90b..b857800 100644
--- a/test/validation/traffic_mngr/traffic_mngr.c
+++ b/test/validation/traffic_mngr/traffic_mngr.c
@@ -323,7 +323,7 @@ static odp_pktio_t pktios[MAX_NUM_IFACES];
static odp_pktin_queue_t pktins[MAX_NUM_IFACES];
static odp_pktout_queue_t pktouts[MAX_NUM_IFACES];
static odp_pktin_queue_t rcv_pktin;
-static odp_pktout_queue_t xmt_pktout;
+static odp_pktio_t xmt_pktio;
static odph_ethaddr_t src_mac;
static odph_ethaddr_t dst_mac;
@@ -543,7 +543,7 @@ static int open_pktios(void)
}
if (2 <= num_ifaces) {
- xmt_pktout = pktouts[0];
+ xmt_pktio = pktios[0];
rcv_pktin = pktins[1];
ret = odp_pktio_start(pktios[1]);
if (ret != 0) {
@@ -551,7 +551,7 @@ static int open_pktios(void)
return -1;
}
} else {
- xmt_pktout = pktouts[0];
+ xmt_pktio = pktios[0];
rcv_pktin = pktins[0];
}
@@ -1627,7 +1627,7 @@ static int create_tm_system(void)
}
egress.egress_kind = ODP_TM_EGRESS_PKT_IO;
- egress.pktout = xmt_pktout;
+ egress.pktio = xmt_pktio;
snprintf(tm_name, sizeof(tm_name), "TM_system_%u", num_odp_tm_systems);
odp_tm = odp_tm_create(tm_name, &requirements, &egress);
commit c595949e3e724102f2cdbd5edefcdc83f7b754fe
Author: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Date: Tue May 10 18:34:37 2016 +0300
api: system: specify default huge page size
System can have different sizes for huge pages. Clarify that
this api returns default system huge page size, which is usually
2Mb on x86 reachable with:
grep Hugepagesize: /proc/meminfo
Signed-off-by: Maxim Uvarov <maxim.uvarov(a)linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer(a)linaro.org>
Reviewed-by: Petri Savolainen <petri.savolainen(a)nokia.com>
diff --git a/include/odp/api/spec/system_info.h b/include/odp/api/spec/system_info.h
index 6957731..c5a5fd0 100644
--- a/include/odp/api/spec/system_info.h
+++ b/include/odp/api/spec/system_info.h
@@ -24,9 +24,9 @@ extern "C" {
*/
/**
- * Huge page size in bytes
+ * Default system huge page size in bytes
*
- * @return Huge page size in bytes
+ * @return Default huge page size in bytes
*/
uint64_t odp_sys_huge_page_size(void);
-----------------------------------------------------------------------
Summary of changes:
include/odp/api/spec/traffic_mngr.h | 3 +-
.../include/odp_traffic_mngr_internal.h | 3 ++
platform/linux-generic/odp_name_table.c | 2 +-
platform/linux-generic/odp_traffic_mngr.c | 37 ++++++++--------------
4 files changed, 19 insertions(+), 26 deletions(-)
hooks/post-receive
--