Age | Commit message (Collapse) | Author |
|
Enables compiler warnings (-Wshadow=local) when a local variable
shadows another local variable or parameter.
For example:
for (int i = 0; i < N; ++i) {
...
for (int i = 0; i < M; ++i) {
...
}
}
Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward incompatible:
- cls: add new odp_cls_capability_t.max_pmr and
odp_cls_capability_t.max_pmr_per_cos capabilities
- cls: rename odp_cls_capability_t.max_pmr_terms field to
odp_cls_capability_t.max_terms_per_pmr
- time: change local/global time specification to allow timestamp values to
start from an implementation defined value
- timer: deprecate odp_timer_set_t type
- timer: deprecate odp_timer_pool_start() function
- timer: deprecate odp_timeout_fresh() function
- timer: change odp_timer_free() specification to remove the possibility to
free a timer that is running
- timer: change odp_timer_pool_create() specification to state that timer
pool handles must not be used by other APIs before being started
Backward compatible:
- event: add odp_event_pool() function
- hints: fix a type conversion issue in odp_unlikely() implementation
- packet: clarify that ODP_PACKET_FREE_CTRL_DONT_FREE option does not
affect direct packet free calls
- packet: clarify that packet IO time is specific to the packet IO
interface
- pool: clarify that disabled/unused per thread statistics counters will
not necessarily be zeroed by odp_pool_stats()
- sched: clarify event ordering in ordered scheduling contexts
- thread: add new functions odp_thread_control_count_max() and
odp_thread_worker_count_max()
- thread: add new functions odp_thread_control_count() and
odp_thread_worker_count()
- time: add odp_time_add_ns() function
- time: add odp_time_startup() function
- time: clarify odp_time_sum() specification by adding a notification that
resulting timestamp may wrap around
- timer: add odp_timer_pool_start_multi() function
- timer: clarify that timer ticks and related nanosecond values are
specific to a timer pool and may not start from zero
Removed deprecated APIs:
- cls: odp_cls_drop_t enum
- cls: odp_cos_drop_set() function
- cls: odp_cos_drop() function
- cls: odp_cos_with_l2_priority() function
- cls: odp_cos_with_l3_qos() function
- crypto: ODP_CRYPTO_SES_CREATE_ERR_NONE, ODP_CRYPTO_SES_CREATE_ERR_ENOMEM,
ODP_CRYPTO_SES_CREATE_ERR_INV_CIPHER, and
ODP_CRYPTO_SES_CREATE_ERR_INV_AUTH defines
- crypto: odp_crypto_alg_err_t.ODP_CRYPTO_ALG_ERR_KEY_SIZE and
odp_crypto_alg_err_t.ODP_CRYPTO_ALG_ERR_IV_INVALID enums
- crypto: odp_crypto_hw_err_t enum
- crypto: odp_crypto_packet_result_t.ok field
- sched: ODP_SCHED_PRIO_HIGHEST, ODP_SCHED_PRIO_NORMAL,
ODP_SCHED_PRIO_LOWEST, and ODP_SCHED_PRIO_DEFAULT defines
- timer: ODP_CLOCK_CPU and ODP_CLOCK_EXT defines
- timer: ODP_TIMER_TOOEARLY, ODP_TIMER_TOOLATE and ODP_TIMER_NOEVENT
defines
- timer: odp_timer_set_abs() function
- timer: odp_timer_set_rel() function
Helper library (1.5.0):
Backward incompatible:
- threads: remove deprecated odph_odpthread_t and odph_odpthread_params_t
types
- threads: remove deprecated odph_thread_param_t.instance field
- threads: remove deprecated odph_odpthreads_create() and
odph_odpthreads_join() functions
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Also c++ programs need -Wno-error=stringop-overflow flag, in order to
avoid errors during linking, when using LTO.
Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward compatible:
- cls: add odp_cls_pmr_create_multi() function
- cls: add odp_cls_pmr_destroy_multi() function
- cls: add odp_cls_cos_create_multi() function
- cls: add odp_cos_destroy_multi() function
- crypto: clarify packet ordering of async crypto ops
- crypto: add null_crypto crypto op flag for skipping crypto
- crypto: allow both basic and out-of-place ops in one session
- pktio: add ODP_PKTIO_MAX_INDEX define
- queue: add odp_queue_create_multi() function
- queue: add odp_queue_destroy_multi() function
- queue: clarify odp_queue_param_t default value specification
- system: add new ARMv8 and v9 enumerations
- timer: clean up odp_timer_pool_param_t.num_timers description
- timer: add odp_timeout_alloc_multi() function
- timer: add odp_timeout_free_multi() function
Helper library (1.4.0):
Backward incompatible:
- protocols: rename ODP_GTP_HLEN define to ODPH_GTP_HLEN
- protocols: rename ODP_IGMP_HLEN define to ODPH_IGMP_HLEN
- protocols: remove unused ICMP defines and add missing ODPH_ prefix to the
remaining defines
Backward compatible:
- macros: add ODPH_MIN() and ODPH_MAX() helper macros
- macros: add ODPH_ARRAY_SIZE() helper macro
- macros: add ODPH_ABS() helper macro
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Add 'auto' argument to '-flto' to enable parallel LTO jobs, which may
reduce linking duration. Also, fixes "using serial compilation of N LTRANS
jobs" warnings when using GCC-12.
The '-flto=auto' and '-ffat-lto-objects' options are currently not
supported by clang.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward incompatible:
- crypto: change 'bit_mode' cipher/auth capability flag to indicate whether
bit mode is supported in addition to byte mode that is always supported
- crypto: add 'cipher_range_in_bits' and 'auth_range_in_bits' session
parameters
Backward compatible:
- barrier: add memory barriers odp_mb_sync(), odp_mb_sync_load(), and
odp_mb_sync_store()
- crypto: allow non-zero-length cipher and auth ranges for the null cipher
and auth algorithms in the OOP operation type
- dma: add 'uarea_persistence' pool capability
- dma: add 'uarea_init' pool parameters 'init_fn' and 'args'
- dma: move odp_dma_seg_t structure fields
- event: add odp_event_types_multi() function
- event: add odp_event_user_area_and_flag() function
- init: add ODP_LOG_WARN log level to odp_log_level_t
- packet: change odp_packet_user_flag() and odp_packet_vector_user_flag()
documentations to specify that the return values are positive
- pool: add 'uarea_persistence' pool capability
- pool: add 'uarea_init' pool parameters 'init_fn' and 'args'
- timer: add odp_timeout_from_event_multi() function
- timer: clarify odp_timer_alloc() and odp_timer_restart() documentation
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward compatible:
- dma: add odp_dma_compl_user_area() function for reading user area pointer
- dma: clarify that DMA session names don't need to be unique
- event: odp_event_user_area() function for reading user area pointer
- init: add odp_term_abnormal() function that can be used to abnormally
terminate an ODP application after a non-recoverable error
- packet: extend packet transmit completion with poll mode
- packet: add odp_packet_free_ctrl_set() function for controlling packet
output interface to not free a packet after transmitting it
- packet: add odp_packet_free_ctrl() function for reading packet's free
control option value
- pool: relax odp_pool_stats() specification to allow implementations to
have some delay until pool statistics are updated
- pool: add new function odp_pool_stats_selected() for reading only
selected pool statistic(s)
- timer: split odp_timer_cancel() failure reason into timing related and
other failures
- timer: rename odp_timer_set_t to odp_timer_retval_t
- timer: add odp_timer_sample_ticks() function that samples tick value of
multiple timer pools simultaneously
- timer: allow implementation to place the first timer as close as it can
to one period when starting a periodic timer with first_tick set to 0
- timer: clarify that periodic timer base frequency uses fractional numbers
the same way as timer tick info
- timer: clarify that odp_timer_periodic_capability() call does not
overwrite the base frequency value when 1 is returned
- timer: clarify that some implementations may support only certain
periodic timer base frequencies and those depend on source clock
frequency
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward incompatible:
- cls: require that PMRs must be destroyed before the CoS they refer to is
destroyed
- crypto: deprecate the old session creation error names
(ODP_CRYPTO_SES_CREATE_ERR_NONE, ODP_CRYPTO_SES_CREATE_ERR_ENOMEM,
ODP_CRYPTO_SES_CREATE_ERR_INV_CIPHER, ODP_CRYPTO_SES_CREATE_ERR_INV_AUTH)
- crypto: change return value of odp_crypto_result() to indicate crypto
operation success/failure
- crypto: deprecate odp_crypto_packet_result_t.ok field
- crypto: specify that the status fields of odp_crypto_packet_result_t are
valid only when the operation failed
- crypto: deprecate odp_crypto_hw_err_t type and
odp_crypto_op_status_t.hw_err field
- crypto: deprecate ODP_CRYPTO_ALG_ERR_KEY_SIZE and
ODP_CRYPTO_ALG_ERR_IV_INVALID error codes
- crypto: require that cipher range and auth range have zero offset and
zero length when used with null cipher and null auth algorithm,
respectively, with the out-of-place operation type
- errno: remove mention about errno values specified in the API spec
- pktio: remove legacy reference to errno from odp_pktio_open() function
- stash: remove special meaning of odp_stash_capability_t.max_num_obj value
zero
- timer: remove legacy references to errno from odp_timer_pool_create() and
odp_timer_alloc() functions
Backward compatible:
- cls: clarify that the CoS to be destroyed with odp_cos_destroy() must not
be in use
- cls: clarify that odp_cos_queue() returns ODP_QUEUE_INVALID if the queue
is not set
- cls: allow CoS pool (odp_cls_cos_param_t.pool) to be set to
ODP_POOL_INVALID
- cls: clarify when CoS queue may and may not be invalid
- crypto: change IV and AAD pointers to pointers to constants
- crypto: clarify that algorithm order is ignored with null algorithms
- crypto: clarify when cipher and auth ranges are ignored
- crypto: allow the result pointer for odp_crypto_result() to be null
- crypto: clarify the description of ODP_CRYPTO_ALG_ERR_DATA_SIZE
- crypto: add a new crypto operation error ODP_CRYPTO_ALG_ERR_OTHER
- crypto: clarify that null cipher and auth algorithms ignore key length,
IV length, digest length, etc. session parameters
- crypto: clarify that crypto operations do not affect parse flags in
packet metadata and thus odp_packet_has_error() cannot be used for
checking operation result
- pktio: allow the default CoS to be removed by passing ODP_COS_INVALID to
odp_pktio_default_cos_set()
- pool: clarify that the pool to be destroyed with odp_pool_destroy() must
not be in use
- pool: clarify that odp_pool_capability_t.max_pools is used for all pool
types defined in odp_pool_type_t
- stash: add new stash create parameter odp_stash_param_t.strict_size for
performance optimization and remove the total object count limitation
from stash put functions
- stash: add new capabilities for maximum number of object handles per
stash for each object size (odp_stash_capability_t.max_num)
- timer: clarify that zero odp_timer_periodic_start_t.first_tick means that
the first expiration time is one period after the current time, not at
the current time
Removed deprecated APIs:
- crypto: odp_crypto_compl_t crypto completion event
- crypto: odp_crypto_op_param_t type
- crypto: odp_crypto_op_result_t type
- crypto: odp_crypto_session_param_t.pref_mode field
- crypto: odp_crypto_compl_from_event() function
- crypto: odp_crypto_compl_to_event() function
- crypto: odp_crypto_compl_free() function
- crypto: odp_crypto_operation() function
- crypto: odp_crypto_compl_result() function
- crypto: odp_crypto_compl_to_u64() function
- event: ODP_EVENT_CRYPTO_COMPL event type
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward incompatible:
- packet: specify which packet metadata flags cannot be set simultaneously
using odp_packet_has_XX_set() functions
- timer: use ODP_DEPRECATE() macro for odp_timer_set_abs() and
odp_timer_set_rel() functions
- timer: deprecate old timer pool clock sources ODP_CLOCK_CPU and
ODP_CLOCK_EXT
- timer: deprecate old timer set return values ODP_TIMER_TOOEARLY,
ODP_TIMER_TOOLATE, and ODP_TIMER_NOEVENT
Backward compatible:
- crypto: add new operation type session parameter
odp_crypto_session_param_t.op_type
- crypto: add ODP_CRYPTO_OP_TYPE_BASIC operation type
- crypto: add ODP_CRYPTO_OP_TYPE_OOP operation type
- crypto: clarify odp_crypto_op() documentation regarding packet data and
metadata copy
- crypto: require that odp_crypto_result() is called before accessing
packet data of asynchronously processed packets in non-legacy modes
- crypto: fix EIA2 IV length in API documentation
- packet: clarify odp_packet_has_vlan() and odp_packet_has_vlan_qinq()
specifications
Removed deprecated APIs:
- crypto: per-session IV configuration
- pktio: in_unknown_protos field from odp_pktio_stats_t
- pktio: odp_pktin_ts_res() function
- pktio: odp_pktin_ts_from_ns() function
- shm: ODP_SHM_SW_ONLY define
- tm: odp_tm_capabilities() function
- tm: commit_bps field from odp_tm_shaper_params_t
- tm: peak_bps field from odp_tm_shaper_params_t
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward incompatible:
- cls: deprecate odp_cos_with_l2_priority() function
- cls: deprecate packet drop policy option and related functions
- shm: disallow usage of invalid SHM handles with odp_shm_info()
Backward compatible:
- buffer: add multi variants of event conversion functions
- cls: add PFC priority level to back pressure parameters
- cls: clarify PMR specification for the case of multiple PMRs matching
within a CoS
- crypto: fix a stale reference to renamed hash_result_not_in_auth_range
session parameter
- packet: add support for additional L3 and L4 protocol types
- pktio: add ODP_PKTIN_MAX_QUEUES define for maximum number of packet input
queues
- pktio: add new packet input queue size configuration option and matching
capabilities
- pktio: add missing documentation to pktio link enumerations
- pktio: add ODP_PKTIO_LINK_PFC_ON enumeration for PFC flow control mode
- pktio: add capabilities and configuration parameters to control reception
and transmission of Ethernet pause frames
- shm: add odp_shm_segment_info() function for retrieving information about
each memory segment of an SHM block
- shm: clarified odp_shm_reserve() operation with the default options (no
flags)
- system: add odp_system_meminfo() function for retrieving information
about ODP memory usage
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
This reverts commit e924ab56a026b584aab1c10f7e7210a77d51bb9f.
Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Carl Wallen <carl.wallen@nokia.com>
|
|
pkgconfig-0.27 returns linker option in the wrong order. Detect
pkgconfig version and add the static libraries explicitly to the
compiler command.
Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
|
|
During installcheck, build and run a test application
(odp_api_headers), to verify the install.
When cross compiling, the application is built, but not run.
Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward incompatible:
- pool: change odp_pool_capability_t.pkt.max_uarea_size to state that the
value of zero means user area is not supported
- pool: specify that the default value of odp_pool_param_t.pkt.uarea_size
is zero and implementation may round up the given value
Backward compatible:
- buffer: add odp_buffer_user_area() function which returns pointer to the
user area
- crypto: add experimental ZUC-256 support
- packet: add odp_packet_vector_user_area() function which returns pointer
to the user area
- packet: add new user flag metadata to packets and packet vectors
- pool: add user area size capability and parameter into buffer, timeout,
and vector event pools
- stash: add batch variants of all put/get functions and capabilities for
maximum supported batch sizes
- thread: clarify odp_thread_id() specification
- timer: add odp_timeout_user_area() function which returns pointer to the
user area
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
The variable user_cflags is not used, remove it.
Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
|
|
Instead of setting CFLAGS (and CXXFLAGS, LDFLAGS) in configure, use
ODP_CFLAGS instead. Then, in main level Makefile.inc, set AM_CFLAGS
based on ODP_CFLAGS. Consequently, program_CFLAGS will work as
intended.
Also, don't do AC_SUBST([LIBS]). LIBS is handled automatically, since
it's a preset variable.
Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward compatible:
- cpumask: allow usage of NULL pointer with odp_cpumask_default_worker()
and odp_cpumask_default_control() calls
- cpumask: clarify odp_cpumask_default_worker() and
odp_cpumask_default_control() specifications
- pktio: specify that interfaces that support promiscuous mode set
operation have promiscuous mode disabled by default
- pool: add new statistics counters for reading per thread pool cache usage
- stash: add odp_stash_print() function for printing implementation
specific debug information to the ODP log
- stash: add statistics counters to stash API
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
|
|
Renamed the fourth digit of library version number to patch
version, which is more commonly used term for this purpose.
Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
|
|
ODP API version number consist of three digits
(generation.major.minor), whereas ODP linux-generic library
version number contains four digits (API version number +
"point" version number). If a new linux-generic version is
released/tagged without any API changes, only the "point"
version number is incremented.
Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward compatible:
- pktio: clarify that LSO send handles small packets
- stash: change get/put function parameter names
- tm: add rate limit mode in shapers
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward incompatible:
- cls: deprecate odp_cos_with_l3_qos() function
Backward compatible:
- cls: add new PMR term ODP_PMR_IP_DSCP
- cls: add new PMR term ODP_PMR_VLAN_PCP_0
- cls: clarify ODP_PMR_ETHTYPE_0, ODP_PMR_VLAN_ID_0, and ODP_PMR_VLAN_ID_X
PMR term specifications
- cls: remove unused odp_cos_hdr_flow_fields_t enumeration
- sched: add new odp_schedule_order_wait() function
Implementation:
- pktio: add new experimental AF_XDP socket based packet IO device
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward incompatible:
- cls: add action parameter odp_cos_action_t to CoS parameters
- crypto: deprecate odp_crypto_operation() and the associated data
structures and the completion event
- tm: split odp_tm_capabilities_t.tm_queue_threshold capability into byte
and packet modes
- tm: split odp_tm_level_capabilities_t.tm_node_threshold capability into
byte and packet modes
Backward compatible:
- cls: add CoS specific statistics counters (odp_cls_cos_stats_t) and
matching capabilities (odp_cls_stats_capability_t)
- common: convert 'unsigned int' types to 'uint32_t'
- tm: remove unused TM shaper color enum odp_tm_shaper_color_t and
ODP_NUM_SHAPER_COLORS define
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
|
|
Remove checking whether the compilation environment supports the inline
keyword and the standard fixed-width integer types. This also removes
the fallback preprocessor macros that autoconf would create if the
keyword or some of the types were not supported. The checking and the
fallback mechanism is unnecessary since ODP requires C11 and stdint.h.
Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Remove checks for the existence of a set of function and header files.
The HAVE_ macros resulting from the checks are not used for anything.
Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward incompatible:
- sched: deprecate scheduling priority level defines
ODP_SCHED_PRIO_HIGHEST, ODP_SCHED_PRIO_NORMAL, ODP_SCHED_PRIO_LOWEST, and
ODP_SCHED_PRIO_DEFAULT
- tm: change meaning of odp_tm_enq_multi() return value of zero from
failure code to part of normal operation
Backward compatible:
- packet: remove references to deprecated odp_pktin_ts_res() and
odp_pktin_ts_from_ns() functions
- pktio: add ODP_PKTOUT_MAX_QUEUES define for the maximum number of packet
output queues
- pktio: add new packet output queue size configuration option
odp_pktout_queue_param_t.queue_size and matching capabilities
odp_pktio_capability_t.min_output_queue_size and
odp_pktio_capability_t.max_output_queue_size
- pktio: clarify odp_pktio_config() usage in the interface setup sequence
- pktio: allow large send offload (LSO) usage with traffic manager
- timer: clarify timer tick properties
- timer: add new timer pool parameter odp_timer_pool_param_t.exp_mode
- timer: add new odp_timer_start() and odp_timer_restart() functions
- timer: add support for periodic timers
- tm: add odp_tm_enq_multi_lso() function
Removed deprecated APIs:
- cls: ODP_PMR_INVAL define
- crypto: old style cipher algorithm enumerations ODP_CIPHER_ALG_AES128_CBC
and ODP_CIPHER_ALG_AES128_GCM
- crypto: old style authentication algorithm enumerations
ODP_AUTH_ALG_MD5_96, ODP_AUTH_ALG_SHA256_128, and ODP_AUTH_ALG_AES128_GCM
- crypto: fields aes128_cbc and aes128_gcm from odp_crypto_cipher_algos_t
- crypto: fields md5_96, sha256_128, and aes128_gcm from
odp_crypto_auth_algos_t
- crypto: data range specifier odp_crypto_data_range_t
- crypto: iv field from odp_crypto_session_param_t
- crypto: odp_crypto_session_params_t type
- crypto: override_iv_ptr field from odp_crypto_op_param_t
- crypto: override_iv_ptr field from odp_crypto_packet_op_param_t
- crypto: odp_crypto_op_params_t type
- crypto: odp_crypto_compl_status_t type
- pktio: parser layer defines (ODP_PKTIO_PARSER_LAYER_*)
- pktio: odp_pktio_capability_t.loop_supported capability
- pktio: odp_pktio_mtu() function
- queue: scheduled queue capabilities from odp_queue_capability_t
- misc: odp.h header file replaced by odp_api.h
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward incompatible:
- crypto: specify that the hash result field is not cleared in hash
generation in encode sessions
- crypto: specify that the hash result field is left to an undefined value
after verification
- crypto: add a new session parameter
odp_crypto_session_param_t.hash_result_in_auth_range to indicate if the
hash result location may overlap the authenticated range
- crypto: define new fields for cipher and auth IV lengths in the session
parameter structure odp_crypto_session_param_t. Deprecate the old fields
for cipher and auth IV lengths.
- crypto: deprecate the mechanism of configuring initialization vectors in
sessions since reusing the same IV with the same key is almost always
wrong. Require that IV is provided for each packet in the operation
parameters.
- tm: add capabilities to odp_tm_level_capabilities_t for platforms to
express shaper rate and burst min and max limits
- tm: remove support for min and max shaper rate via platform defined
macros ODP_TM_MIN_SHAPER_BW and ODP_TM_MAX_SHAPER_BW
Backward compatible:
- crypto: clarify that in case of AEAD algorithms the
odp_crypto_op_param_t.auth_range parameter is not used, except with
AES-GMAC.
- crypto: clarify ODP_AUTH_ALG_AES_GMAC API text to not sound as if ODP did
not use AAD as defined in the GMAC algorithm specification
- crypto: make the names of session creation errors
(odp_crypto_ses_create_err_t) a bit shorter but retain the old names for
backward compatibility
- crypto: add crypto session creation error codes
(odp_crypto_ses_create_err_t) for cases where the requested combination
of algorithms, order of algorithms or other combination of creation
parameters is not supported.
- random: explicitly state that the same series of odp_random_test_data()
calls is required to generate the same data
- tm: clarify that peak rate and peak burst are ignored when dual rate is
set to false in odp_tm_shaper_params_t, indicating that the single rate
is commit rate.
- tm: define the default values for many parameters to be set by various
init functions
ABI:
- Removed mips64 architecture support. MIPS devices may still use ODP by
utilizing the generic default architecture.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
MIPS architecture is not used anymore by any relevant HW platforms and the
development of the architecture has ceased. Remove mips64 architecture
specific files to ease codebase maintenance. MIPS devices may still use ODP
by utilizing the generic default architecture.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward incompatible:
- shm: added a bit mask capability odp_shm_capability_t.flags for ODP_SHM_*
flags
- timer: added initialization function odp_timer_pool_param_init() for
timer pool parameters. Application must use it to initialize parameters
to their default values.
Backward compatible:
- classifier: added missing default values for
odp_cls_cos_param_t.num_queue, odp_cls_cos_param_t.red.enable,
odp_cls_cos_param_t.bp.enable, and odp_pmr_param_t.range_term
- crypto: clarified that odp_crypto_session_create() parameters, including
the key and IV data, can be freed after session creation.
- dma: added new DMA module which enables applications to offload memory
transfers (copies) to DMA hardware. See include/odp/api/spec/dma.h for
more information.
- ipsec: added possibility to request completed packets as packet vector
events instead of packet events
- ipsec: clarified that odp_ipsec_sa_create() parameters, including the
various memory buffers pointed to by the parameters, can be freed after
SA creation.
- packet_io: clarified odp_pktin_vector_config_t.enable documentation to
state that when packet vectors are enabled, packets may be delivered both
as packet vector events and packet events. Packet vectors are disabled by
default.
- packet_io: clarified that the type of input queues is deduced from the
pktio input mode in odp_pktin_queue_config(), and that the default queue
type value and the queue type value passed in
odp_pktin_queue_param_t.queue_param are ignored.
- pool: added new pool type for DMA completion event pools. These pools are
created with odp_dma_pool_create() and pool capability is included in
odp_dma_capability_t. Otherwise, pool APIs are used normally for these
pools.
- shm: added ODP_SHM_NO_HP flag which can be used to prevent the
implementation from allocating the shared memory block from huge pages
- std: added DMA flag to odp_feature_t
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
OpenSSL crypto and random implementations are platform specific, so move
the configuration options under linux-genec platform.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Add configure option --disable-openssl-rand, which disables the use of
OpenSSL RAND_bytes() to generate basic random and crypto random data.
Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward compatible:
- init: added odp_instance() function for reading the current ODP instance
handle
- ipsec: clarified bit field unions' 'all' member intended usage
- packet: clarified odp_proto_chksums_t.all_chksum intended usage
- packet_io: clarified odp_pktin_hash_proto_t.all_bits intended usage
- pool: added odp_pool_print_all() function for printing implementation
defined information about all created pools to the ODP log
- pool: clarified odp_pool_param_t.pkt.seg_len documentation
- stash: added 32-bit only odp_stash_put_u32() and odp_stash_get_u32()
functions
- stash: added 64-bit only odp_stash_put_u64() and odp_stash_get_u64()
functions
- stash: added pointer only odp_stash_put_ptr() and odp_stash_get_ptr()
functions
Helper library (1.3.0):
Backward incompatible:
- cli: removed unused instance parameter from odph_cli_init()
- deprecation: added a framework to enable controlled API deprecation
- linux: deprecated odph_odpthreads_create() function.
Use odph_thread_create() instead.
- linux: deprecated odph_odpthreads_join() function. Use odph_thread_join()
instead.
- linux: deprecated unused odph_thread_param_t.instance struct member
- linux: deprecated odph_odpthread_t and odph_odpthread_params_t types
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Implement deprecation in the helper library. Deprecated helper APIs
may be enabled with the --enable-helper-deprecated configure
option. By default, deprecated helper APIs are not enabled.
Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
|
|
Some C11 features (e.g. anonymous structures and unions) have been already
used by the project. Move from C99 to C11 to be standard compliant and
enable usage of new features.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Break long lines into multiple ones to improve readability.
Signed-off-by: Lifang Zhang <lifang.zhang@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward incompatible:
* ipsec: added destination queue capabilities
odp_ipsec_capability_t.queue_type_sched and
odp_ipsec_capability_t.queue_type_plain
* ipsec: modified specification to not promise the original packet back
after all error cases
Backward compatible:
- ipsec: added original ESP/AH packet length into IPsec packet result
(odp_ipsec_packet_result_t.orig_ip_len)
- packet: added odp_packet_reass_info() function for reading completed
reassembly details
- std: moved all contents of support and feature modules into ODP Std
module
Helper library (1.2.0):
Backward incompatible:
- cli: replaced odph_cli_start() function with odph_cli_run(), which
doesn't automatically create a separate thread for running the CLI
server.
- linux: deprecated odph_odpthread_t and odph_odpthread_params_t types
- linux: added odph_thread_param_init() function for initializing thread
parameters
- linux: added odph_thread_common_param_init() function for initializing
thread common parameters
Backward compatible:
- cli: added odph_cli_param_t.hostname parameter for providing a custom CLI
prompt hostname
- cli: added odph_cli_log_va() function for user defined CLI commands
- linux: added odph_thread_param_t.stack_size parameter for configuring
minimum thread stack size
- linux: added odph_thread_common_param_t.sync_timeout parameter for
configuring synchronized thread creation timeout
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward incompatible:
- traffic manager: added new feature capabilities and an egress specific
capability function odp_tm_egress_capabilities()
- traffic manager: deprecated odp_tm_capabilities() function which is
replaced by odp_tm_egress_capabilities()
- traffic manager: added maximum number of schedulers per TM node
capability
- traffic manager: added support for non-global packet priority mode
Backward compatible:
- classifier: added odp_cls_queue_stats() for reading queue specific
statistics counters
- ipsec: added ICV length into SA configuration parameters
- packet: added odp_packet_disassemble(), odp_packet_reassemble(), and
other new functions for packets allocated from external memory pools
- packet: added per packet protocol statistics functions
- packet_io: added packet output configuration option for enabling packet
protocol statistics updates
- pool: added new concept of external memory pools, which are populated
with application provided memory
- pool: added new odp_pool_type_t enumeration
- proto_stats: added new generic protocol statistics framework
- traffic manager: increased scheduling weight parameter size (uint8_t to
uint32_t)
- traffic manager: added odp_tm_queue_stats() for reading queue specific
statistics counters
- traffic manager: added odp_tm_enq_multi() function for enqueueing
multiple packets at a time
- traffic manager: added odp_tm_queue_params_t.ordered_enqueue option which
can be used to control if ordering is enabled
Helper library:
- ipsec: added odph_ipsec_auth_icv_len_default() function for returning the
default ICV length of an algorithm
- ipsec: added support for AES-CMAC into odph_ipsec_alg_check()
- ipsec: added default ICV length check into odph_ipsec_alg_check()
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Jerin Jacob <jerinj@marvell.com>
|
|
Increment API version number to reflect the following changes:
Backward compatible:
- packet_io: added odp_pktio_stats_capability_t struct to
odp_pktio_capability_t to inform about supported statistics counters
- packet_io: added new statistics counters and related capabilities for
received/transmitted multicast and broadcast Ethernet packets
(in_mcast_pkts, in_bcast_pkts, out_mcast_pkts, out_bcast_pkts)
- packet_io: added new pktio input/output queue specific statistics
counters and related functions and capabilities
- packet_io: added new functions for reading and printing ODP
implementation specific custom packet IO statistics counters:
odp_pktio_extra_stat_info() , odp_pktio_extra_stats(),
odp_pktio_extra_stats_print()
- packet_io: specified that loopback mode is disabled by default
- packet_io: modified odp_pktio_stats_t.in_octets/out_octets definitions to
not include CRC (4 bytes)
- ipsec: specified default values for reassembly enables
- scheduler: added odp_schedule_print() function for printing debug
information about scheduler status into the ODP log
- std_types: added odp_fract_u64_t type which can be used to define
fractional numbers accurately
- std_types: added odp_fract_u64_to_dbl() function for converting
odp_fract_u64_t fractional numbers into doubles
- timer: added timer tick info as part of odp_timer_pool_info_t. This
enables timer implementation to specify tick frequency and duration very
accurately.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward compatible:
- traffic manager: add option to enable packet mode shaper (packets per
second as opposed to bits per second)
- packet io: specify explicitly that an application may enqueue to packet
input side event queues, and cannot dequeue from output side event queues
- ipsec: include success bytes in stats (odp_ipsec_stats_t.success_bytes)
- time: added new time stamp read functions which read time stamp value
more strictly in the program order: odp_time_local_strict(),
odp_time_local_strict_ns(), odp_time_global_strict(),
odp_time_global_strict_ns()
- timer: added new default clock source enumeration ODP_CLOCK_DEFAULT
(=ODP_CLOCK_SRC_0) and support for multiple clock sources
(ODP_CLOCK_SRC_1, ODP_CLOCK_SRC_2...). The old ODP_CLOCK_CPU and
ODP_CLOCK_EXT enumerations will be deprecated in the future.
- timer: rename set operation return codes (odp_timer_set_t) to better
document expiration time position to current time:
ODP_TIMER_TOOEARLY -> ODP_TIMER_TOO_NEAR
ODP_TIMER_TOOLATE -> ODP_TIMER_TOO_FAR
- timer: rename set operation failure code (odp_timer_set_t) to cover all
error cases: ODP_TIMER_NOEVENT -> ODP_TIMER_FAIL
Backward incompatible:
- traffic manager: add new mandatory odp_tm_start() and odp_tm_stop() calls
for starting and stopping traffic manager system
- traffic manager: add capabilities (odp_tm_capabilities_t) for supported
dynamic configuration updates
- traffic manager: deprecate shaper commit information rate bps
(odp_tm_shaper_params_t.commit_bps) and peak information rate bps
(odp_tm_shaper_params_t.peak_bps) fields.
odp_tm_shaper_params_t.commit_rate and odp_tm_shaper_params_t.peak_rate
fields should be used instead.
Helper library:
- cli: added new mandatory odph_cli_init() and odph_cli_term() functions
for initializing and terminating the helper
- cli: added odph_cli_register_command() function for registering user
defined commands
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment helper library version number due to changes in CLI helper
API.
Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward incompatible:
- Modified packet IO statistics counters (odp_pktio_stats_t) definitions
- Deprecated packet IO statistics field odp_pktio_stats_t.in_unknown_protos
Backward compatible:
- New APIs for inline IP reassembly offload for packet input and IPsec
- New odp_log_thread_fn_set() function for setting a thread specific log
function
- New packet IO statistics counters
odp_pktio_stats_t.in_packets/out_packets
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Disable ABI compatibility by default. This way the ODP implementation will
offer the best available performance without the user having to change the
default configuration.
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward-incompatible:
- New crypto capabilities for defining if a queue type (scheduled/plain)
can be used as a crypto completion event destination
Backward-compatible:
- New packet TX completion event type and related functions
- New packet APIs for requesting packet TX completion events
- New packet APIS for requesting packet TX drop based on packet age
- New odp_cls_print_all() function for printing implementation specific
debug information about all classifier rules
- New enumerations for ARMv8.7-A, ARMv9.0-A, ARMv9.1-A, and ARMv9.2-A ISA
versions
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Place user provided options at the end of CFLAGS, CXXFLAGS and
LDFLAGS, so that they override other options.
This way we also don't have to refrain from using the -march option
just because user has provided some CFLAGS.
Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Replace obsolete autoconf macro AM_CONFIG_HEADER
with AC_CONFIG_HEADERS.
Signed-off-by: Ashwin Sekhar T K <asekhar@marvell.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward-incompatible:
- IPsec post-processing happens in the odp_ipsec_result() function that
must be called at least once before packet data or metadata may be
accessed.
Backward-compatible:
- New 128-bit atomic operations: init, store, load, and CAS
- Clarify that atomic CAS operations are strong type
- New odp_ipsec_test_sa_update() function for SA testing
- odp_ipsec_sa_info() may return non-exact copy of SA parameters
- Specify default values for more IPsec SA parameter fields
- Changed odp_timer_alloc() user context pointer argument to const
- New odp_timer_pool_print() function for printing timer pool debug
information
- New odp_timer_print() function for printing timer debug information
- New odp_timeout_print() function for printing timeout debug information
- New odp_queue_print_all() function for printing debug information about
all queues
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment helper library version number to reflect the addition of CLI
helper.
Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
|
|
CLI helper API allows starting and stopping ODP CLI server, which may
be connected to using a telnet client. CLI commands may be used to get
information from an ODP instance, for debugging purposes.
This implementation depends on libcli. If libcli is not available, CLI
helper is automatically excluded.
Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
|
|
Create autoheader_external for helper and move there the ODPH_*
defines from odp autoheader_external.
Signed-off-by: Jere Leppänen <jere.leppanen@nokia.com>
Reviewed-by: Matias Elo <matias.elo@nokia.com>
|
|
Increment API version number to reflect the following changes:
Backward-incompatible:
- Only ODP_SCHED_NO_WAIT variants of schedule calls are allowed after
calling odp_schedule_pause()
- IPsec config must have been completed before enabling inbound inline
IPsec in pktio
Backward-compatible:
- New odp_pktio_maxlen_set() function (and related capabilities) for
configuring input/output maximum frame lengths
- New Large Send Offload (LSO) APIs
- Clarify odp_schedule_capability_t.max_groups capability definition
- Added configure option to enable/disable predefined scheduling groups
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|
|
Increment helper library version number to reflect the addition of new
IPsec algorithm support check function odph_ipsec_alg_check().
Signed-off-by: Matias Elo <matias.elo@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
|