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, monarch_lts has been updated via 9ad380fa0a113b90e26518b7d659213f05264841 (commit) via b3b97530679ed0fe6f975986270a3fa7d4c59a72 (commit) via 99117760f8bed0d8351c35a2c037e288d5a9280a (commit) via a560c609e78716421e782aa388805937d177ef0e (commit) via 524987a32f9873e59ce265ffba6e831e756a2441 (commit) via ab966018496e7ebb0d1532d6c5c119b9db7d56fa (commit) from 197710ffc229f3db775a97c27e09c2dc063497c4 (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 9ad380fa0a113b90e26518b7d659213f05264841 Author: Nikhil Agarwal nikhil.agarwal@linaro.org Date: Fri Jul 29 20:08:58 2016 +0530
api:crypto: resolve todo items
odp_session_proc_info_t is no longer required. Clarified hash_result_offset and its relation with ICV value.
Signed-off-by: Nikhil Agarwal nikhil.agarwal@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/include/odp/api/spec/crypto.h b/include/odp/api/spec/crypto.h index d8123e9..dea1fe9 100644 --- a/include/odp/api/spec/crypto.h +++ b/include/odp/api/spec/crypto.h @@ -170,8 +170,6 @@ typedef struct odp_crypto_data_range {
/** * Crypto API session creation parameters - * - * @todo Add "odp_session_proc_info_t" */ typedef struct odp_crypto_session_params { odp_crypto_op_t op; /**< Encode versus decode */ @@ -210,8 +208,6 @@ typedef struct odp_crypto_session_params {
/** * Crypto API per packet operation parameters - * - * @todo Clarify who zero's ICV and how this relates to "hash_result_offset" */ typedef struct odp_crypto_op_params { odp_crypto_session_t session; /**< Session handle from creation */ @@ -245,6 +241,14 @@ typedef struct odp_crypto_op_params { * indicates the caller wishes the destination packet buffer be allocated * from the output pool specified during session creation. * + * @var odp_crypto_op_params_t::hash_result_offset + * + * Specifies the offset where the hash result is to be stored. In case of + * decode sessions, input hash values will be read from this offset, and + * overwritten with hash results. If this offset lies within specified + * auth_range, implementation will mute this field before calculating the hash + * result. + * * @sa odp_crypto_session_params_t::output_pool. */
commit b3b97530679ed0fe6f975986270a3fa7d4c59a72 Author: Nikhil Agarwal nikhil.agarwal@linaro.org Date: Fri Jul 29 20:08:57 2016 +0530
example:ipsec: removed invalid todos.
This todo item is no longer valid. Fixed as a part of following work card. https://cards.linaro.org/browse/LNG-857
Signed-off-by: Nikhil Agarwal nikhil.agarwal@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/example/ipsec/odp_ipsec_stream.h b/example/ipsec/odp_ipsec_stream.h index ea480c3..6f6f7df 100644 --- a/example/ipsec/odp_ipsec_stream.h +++ b/example/ipsec/odp_ipsec_stream.h @@ -93,10 +93,6 @@ odp_packet_t create_ipv4_packet(stream_db_entry_t *stream, /** * Verify an IPv4 packet received on a loop output queue * - * @todo Better error checking, add counters, add tracing, - * remove magic numbers, add order verification - * (see https://bugs.linaro.org/show_bug.cgi?id=620) - * * @param stream Stream to verify the packet against * @param pkt Packet to verify *
commit 99117760f8bed0d8351c35a2c037e288d5a9280a Author: Barry Spinney spinney@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@mellanox.com Signed-off-by: Bill Fischofer bill.fischofer@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@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 a560c609e78716421e782aa388805937d177ef0e Author: Balasubramanian Manoharan bala.manoharan@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@linaro.org Reviewed-by: Petri Savolainen petri.savolainen@nokia.com Signed-off-by: Maxim Uvarov maxim.uvarov@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 524987a32f9873e59ce265ffba6e831e756a2441 Author: Maxim Uvarov maxim.uvarov@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@linaro.org Reviewed-by: Bill Fischofer bill.fischofer@linaro.org Reviewed-by: Petri Savolainen petri.savolainen@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);
commit ab966018496e7ebb0d1532d6c5c119b9db7d56fa Author: Brian Brooks brian.brooks@linaro.org Date: Tue Jul 26 11:38:27 2016 -0500
linux-generic: internal cache line size
Define the ODP API for cache line size to the cache line size defined in the internal architecture directories. Prefix internal cache line size identifier with '_odp'.
Signed-off-by: Brian Brooks brian.brooks@linaro.org Reviewed-by: Christophe Milard christophe.milard@linaro.org Signed-off-by: Maxim Uvarov maxim.uvarov@linaro.org
diff --git a/platform/linux-generic/arch/default/odp/api/cpu_arch.h b/platform/linux-generic/arch/default/odp/api/cpu_arch.h index 29f8889..22b1da2 100644 --- a/platform/linux-generic/arch/default/odp/api/cpu_arch.h +++ b/platform/linux-generic/arch/default/odp/api/cpu_arch.h @@ -11,15 +11,7 @@ extern "C" { #endif
-/** @ingroup odp_compiler_optim - * @{ - */ - -#define ODP_CACHE_LINE_SIZE 64 - -/** - * @} - */ +#define _ODP_CACHE_LINE_SIZE 64
static inline void odp_cpu_pause(void) { diff --git a/platform/linux-generic/arch/mips64/odp/api/cpu_arch.h b/platform/linux-generic/arch/mips64/odp/api/cpu_arch.h index 7b5bfd2..3582b12 100644 --- a/platform/linux-generic/arch/mips64/odp/api/cpu_arch.h +++ b/platform/linux-generic/arch/mips64/odp/api/cpu_arch.h @@ -11,18 +11,12 @@ extern "C" { #endif
-/** @ingroup odp_compiler_optim - * @{ - */ - #if defined __OCTEON__ -#define ODP_CACHE_LINE_SIZE 128 +#define _ODP_CACHE_LINE_SIZE 128 +#else +#error Please add support for your arch in cpu_arch.h #endif
-/** - * @} - */ - static inline void odp_cpu_pause(void) { __asm__ __volatile__ ("nop"); diff --git a/platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h b/platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h index 29f8889..22b1da2 100644 --- a/platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h +++ b/platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h @@ -11,15 +11,7 @@ extern "C" { #endif
-/** @ingroup odp_compiler_optim - * @{ - */ - -#define ODP_CACHE_LINE_SIZE 64 - -/** - * @} - */ +#define _ODP_CACHE_LINE_SIZE 64
static inline void odp_cpu_pause(void) { diff --git a/platform/linux-generic/arch/x86/odp/api/cpu_arch.h b/platform/linux-generic/arch/x86/odp/api/cpu_arch.h index 3a16fa6..44e6b30 100644 --- a/platform/linux-generic/arch/x86/odp/api/cpu_arch.h +++ b/platform/linux-generic/arch/x86/odp/api/cpu_arch.h @@ -11,15 +11,7 @@ extern "C" { #endif
-/** @ingroup odp_compiler_optim - * @{ - */ - -#define ODP_CACHE_LINE_SIZE 64 - -/** - * @} - */ +#define _ODP_CACHE_LINE_SIZE 64
static inline void odp_cpu_pause(void) { diff --git a/platform/linux-generic/include/odp/api/align.h b/platform/linux-generic/include/odp/api/align.h index d8bc653..c238b80 100644 --- a/platform/linux-generic/include/odp/api/align.h +++ b/platform/linux-generic/include/odp/api/align.h @@ -17,6 +17,8 @@ extern "C" { #endif
+#include <odp/api/cpu_arch.h> + /** @ingroup odp_compiler_optim * @{ */ @@ -31,16 +33,12 @@ extern "C" {
#define ODP_FIELD_SIZEOF(type, member) sizeof(((type *)0)->member)
-#if defined __arm__ || defined __aarch64__ - -#define ODP_CACHE_LINE_SIZE 64 - -#endif - #else #error Non-gcc compatible compiler #endif
+#define ODP_CACHE_LINE_SIZE _ODP_CACHE_LINE_SIZE + #define ODP_PAGE_SIZE 4096
#define ODP_ALIGNED_CACHE ODP_ALIGNED(ODP_CACHE_LINE_SIZE) @@ -52,7 +50,6 @@ extern "C" { */
#include <odp/api/spec/align.h> -#include <odp/api/cpu_arch.h>
#ifdef __cplusplus }
-----------------------------------------------------------------------
Summary of changes: example/ipsec/odp_ipsec_stream.h | 4 ---- include/odp/api/spec/crypto.h | 12 ++++++++---- include/odp/api/spec/system_info.h | 4 ++-- include/odp/api/spec/traffic_mngr.h | 11 ++++++++--- platform/linux-generic/arch/default/odp/api/cpu_arch.h | 10 +--------- platform/linux-generic/arch/mips64/odp/api/cpu_arch.h | 12 +++--------- platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h | 10 +--------- platform/linux-generic/arch/x86/odp/api/cpu_arch.h | 10 +--------- platform/linux-generic/include/odp/api/align.h | 11 ++++------- platform/linux-generic/include/odp_traffic_mngr_internal.h | 2 +- platform/linux-generic/odp_traffic_mngr.c | 8 +++++++- test/validation/traffic_mngr/traffic_mngr.c | 8 ++++---- 12 files changed, 40 insertions(+), 62 deletions(-)
hooks/post-receive