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 annotated tag, v1.17.0.0 has been created at 5b263c85350c8496af73eb8927f5cb9a993c259d (tag) tagging 49ebafae0edebbc750742d8874ad0a7588286dea (commit) replaces v1.16.0.0 tagged by Maxim Uvarov on Mon Jan 1 23:27:18 2018 +0300
- Log ----------------------------------------------------------------- == OpenDataPlane (1.17.0.0) === New Features ODP v1.17.0.0 is Tiger Moth Release Candidate 1 (RC 1). It introduces significant new API support as well as functional refinements that expand ODP offload support to cover IPsec, as well as other improvements.
==== APIs The following new and changed APIs are included in this release:
===== Event Extensions The ODP event model has been expanded to include new types as well as event subtypes. Subtypes are used to qualify an event by indicating that the event carries additional metadata relating to specific usage or operations.
New event `ODP_EVENT_IPSEC_STATUS` (to be discussed below) is added. The initial subtypes defined are: `ODP_EVENT_PACKET_BASIC`, `ODP_EVENT_PACKET_CRYPTO`, `ODP_EVENT_PACKET_IPSEC`, and `ODP_EVENT_NO_SUBTYPE`, which are also discussed below.
Associated with this support, new event APIs are added:
* `odp_event_subtype()` extracts the `odp_event_subtype_t` from an `odp_event_t`.
* `odp_event_types()` returns the `odp_event_type_t` and `odp_event_subtype_t` of an `odp_event_t` in a single call.
* `odp_event_type_multi()` scans a list of `odp_event_t` objects and returns the number that share the same indicated `odp_event_type_t`. This allows multiple events to be processed by groups of the same event type.
* `odp_event_filter_packet()` scans a list of `odp_event_t` objects and partitions them into a returned array of `odp_packet_t` objects and a remaining array of non-packet events.
* `odp_event_free_multi()` frees multiple events in a single call.
* `odp_event_free_sp()` frees multiple events originating from the same pool in a single call. The caller must assure that the input events are from the same pool.
===== IPsec support ODP Tiger Moth introduces comprehensive protocol offload support for IPsec, allowing applications to leverage the IPsec acceleration capabilities of many SoCs. Support includes APIs for Security Association (SA) creation and lifecycle management, as well as IPsec packet operations for inbound (RX) and outbound (TX) processing. Packet operations are further divided into lookaside and inline support.
====== Lookaside Support Lookaside processing enables IPsec packets to be decrypted into plain packets or plain packets to be encrypted into IPsec packets in a single operation under explicit application control. This is useful for packets that need pre- or post-processing, or to better fit with existing application design.
Two forms of lookaside processing are provided: the `odp_ipsec_in()` and `odp_ipsec_out()` APIs provide synchronous decrypt and encrypt support, respectively. The corresponding `odp_ipsec_in_enq()` and `odp_ipsec_out_enq()` APIs provide these same services in asynchronous form where operations can be launched and completed later.
====== Inline Support In contrast to lookaside support, IPsec inline support permits applications to fully leverage the offload capabilities found in many SoCs by allowing inbound IPsec packets to be recognized and decrypted automatically before they are presented to the application for processing. This is done by configuring a Security Association (SA) and its associated PktIO to operate in inline mode.
Similarly, following output SA and PktIO configuration, the `odp_ipsec_out_inline()` API permits a packet to be encrypted into an IPsec packet and automatically scheduled for TX processing in a single operation. Such "fire and forget" processing enables applications to leverage IPsec HW support for such processing in a portable manner.
Applications using IPsec inline support need only "touch" a packet once compared to three times when using lookaside processing, leading to greater processing efficiency.
====== IPsec Events New event types and subtypes are introduced to provide support for IPsec processing. The `ODP_EVENT_PACKET` type has a new subtype: `ODP_EVENT_PACKET_IPSEC` that provides extended metadata associated with IPsec packets that have been processed. The new `ODP_EVENT_IPSEC_STATUS` event, in turn, is used to report IPsec status events such as completion notifications associated with `odp_ipsec_sa_disable()` calls.
The `odp_ipsec_result()` API is used to obtain IPsec result metadata from a packet that has event subtype `ODP_EVENT_PACKET_IPSEC`, while the `odp_ipsec_status()` API is used to obtain IPsec status metadata from an `ODP_EVENT_IPSEC_STATUS` event.
===== Parser APIs Packet parsing has been overhauled with the introduction of two new APIs:
* `odp_packet_parse()` * `odp_packet_parse_multi()`
These use an `odp_packet_parse_param_t` struct to control the type and depth of parsing to be performed. These routines are intended to be used to process packets that have been decapsulated following IPsec decryption or other tunneling or on IP fragments after they have been reassembled.
Associated with this improved parse support, the `odp_parser_layer_t` struct is deprecated and replaced with a more general `odp_proto_layer_t` struct that is used both in PktIO configuration as well as the new parser APIs.
===== Crypto AES-CTR and AES-GMAC Support The ODP crypto APIs are extended to provide support for AES-CTR cipher and AES-GMAC authentication modes, reflecting the growing availability of accelerated support for these.
===== Crypto removal of DES-CBC DES-CBC is no longer considered secure and support for it is removed in ODP.
===== Crypto move AAD length to sessions The Additional Authentication Data (AAD) length is now part of the `odp_crypto_session_t` rather than individual crypto operations. This provides better compatibility with DPDK, which made a similar API adjustment in it's 17.08 release.
===== Crypto Packet APIs While the `odp_crypto_operation()` API is retained for compatibility, new packet-oriented variants are introduced that provide additional capabilities and flexibility. These APIs are:
* `odp_crypto_op()` Performs synchronous crypto operations on one or more input packets under the control of an associated `odp_crypto_packet_op_param_t` struct.
* `odp_crypto_op_enq()` Performs asynchronous crypto operations on or or more input packets under the control of an associated `odp_crypto_packet_op_param_t` struct.
While `odp_crypto_operation()` calls result in `ODP_EVENT_CRYPTO_COMPL` events for compatibility, the new packet-oriented APIs result in `ODP_EVENT_PACKET` events that carry the new event subtype `ODP_EVENT_PACKET_CRYPTO`. These packets contain additional metadata associated with the crypto operation. New APIs added for manipulating this metadata include:
* `odp_crypto_packet_from_event()` converts an `odp_event_t` of type `ODP_EVENT_PACKET` and subtype `ODP_EVENT_PACKET_CRYPTO` to an `odp_packet_t`.
* `odp_crypto_packet_to_event()` converts an `odp_packet_t` crypto packet back into an `odp_event_t`.
* `odp_crypto_result()` extracts the `odp_crypto_packet_result_t` struct that contains the crypto metadata associated with an `odp_packet_t` of event subtype `ODP_EVENT_PACKET_CRYPTO`. This struct provides a summary bit that says whether the operation completed successfully as well as `odp_crypto_op_status_t` fields for the `cipher_status` and `auth_status` if a problem was detected.
===== Classification Random Early Detection (RED) Support Random Early Detection (RED) provides a means for input HW to ensure that traffic is treated fairly under conditions of temporary resource overload due to excessive inbound traffic. ODP RED support provides the ability to measure and respond to resource pressure on either pools or queues, and only provides flexibility in how such conditions are to be processed. They can result in input packet drops or backpressure being indicated by transmitting pause frames, depending on the underlying platform capabilities.
The `odp_cls_capability_t` struct returned by the `odp_cls_capability()` API has been expanded to cover this support.
===== Time difference in nanoseconds The new `odp_time_diff_ns()` API permits the delta between two `odp_time_t` values to be computed in a single call.
===== PktIO API Changes ====== PktIO Maximum Frame Lengths The `odp_pktio_mtu()` API is deprecated and replaced by two new APIs: `odp_pktin_maxlen()` and `odp_pktout_maxlen()`. These return the maximum sized packets that are supported for RX and TX processing, respectively, on a given `odp_pktio_t`.
====== PktIO settable MAC address The `odp_pktio_mac_addr_set()` API is added to allow setting of the MAC address associated with an `odp_pktio_t`. The `odp_pktio_set_op_t` field of the `odp_pktio_capability_t` returned by the `odp_pktio_capability()` API now includes the `mac_addr`` field to indicate that this `odp_ptkio_t` supports setting its MAC address.
====== Multiple loop devices The reserved device name `loop` is now extended to `loopX` where X == integer (_e.g.,_ `loop1`, `loop2`, etc.). For compatibility, `loop` is a synonym for `loop0`.
===== Pool API Changes ====== Pool extent info The `odp_pool_info()` API is extended to return the `min_data_addr` and `max_data_addr` fields. These provide information about the minimum and maximum application-visible addresses that may be seen in objects allocated from a particular `odp_pool_t`. Some applications use this information to enable them to store buffer addresses in compressed format. For example, if the "span" of valid addresses is less than 4GB this allows a 64-bit buffer address to be stored as a 32-bit offset.
Since this is purely informational, ODP implementations are under no constraint as to what addresses may be returned for these fields. 0 and `UNINTPTR_MAX` may be used if there are no limits on pool extents.
====== Pool subparameter support The `odp_pool_param_t` structure has been expanded to provide more flexibility to support platforms that are able to offer multiple segment sizes within a single pool. This can lead to greater storage efficiency. These are called subparameters and implementations supporting up to 7 of these are accommodated with these extensions.
The `odp_pool_capability_t` structure is expanded to return the number of subparameters supported by this implementation. The application, in turn, specifies its expected packet size and number distribution in the `odp_pool_pkt_subparam_t` structure that is part of the `odp_pool_param_t` used to define the characteristics of `ODP_POOL_PACKET` pools.
This is fully compatible with previous packet pool support since ODP implementations are under no obligation to support pool subparameters and these, when present, are advisory in nature. They simply serve to allow the application to better communicate its expected packet distribution within a pool so that the ODP implementation may better optimize storage use in the pool.
===== Checksum support Checksum processing support has been formalized with the addition of APIs for determining packet checksum status, controlling packet checksum processing, retrieving partially computed checksums on packets, and computing checksum partial sums for memory areas.
====== Checksum status The APIs `odp_packet_l3_chksum_status()` and `odp_packet_l4_status()` are added to allow the results of packet input checksum processing to be queried. These APIs return an `odp_packet_chksum_status_t` enum that indicates whether checksum validation processing was performed and if so whether the layer 3 or 4 checksum was found to be valid. This is applicable to both normal packet input as well as those processed via IPsec.
====== Checksum insertion PktIOs output checksum processing is configured as part of the `odp_pktout_config_opt_t` struct used as input to `odp_pktio_config()` API. These control whether L3 and/or L4 checksums are to be inserted by default as part of packet TX processing.
Individual packets may override these defaults via the new `odp_packet_l3_chksum_insert()` and `odp_packet_l4_chksum_insert()` APIs. These take precedence over the PktIO default, allowing checksums to be inserted when the PktIO default is to not insert checksums or to suppress checksum insertion if when the PktIO default is to insert checksums.
====== One's complement sums Two new APIs: `odp_packet_ones_comp()` and `odp_chksum_ones_comp16()` are added to assist in application-managed checksum processing. If an implementation has computed a partial checksum as part of the receive processing for an IP fragment, for example, then `odp_packet_ones_comp()` can be used to retrieve this computed value, as well as the byte range over which it was computed. The `odp_chksum_ones_comp16()` API, by contrast, allows the application to perform a 16-bit ones-complement sum over a range of in-memory bytes. Together these can be used to calculate IPv4, TCP, and UDP checksums.
===== Packet multi-event conversion and single pool support New packet APIs have been added to streamline packet processing:
* `odp_packet_free_sp()` is the same as `odp_packet_free_multi()` except that the application guarantees that all packets come from the same pool.
* `odp_packet_from_event_multi()` allows multiple events to be converted from `odp_event_t` to `odp_packet_t` objects in a single call. The caller guarantees that all input `odp_event_t` objects are of type `ODP_EVENT_PACKET`.
* `odp_packet_to_event_multi()` converts multiple `odp_packet_t` objects to corresponding `odp_event_t` objects in a single call.
===== Shared Memory API changes Several changes have been made to the ODP shared memory APIs:
* The `name` field used as input to `odp_shm_reserve()` is now optional. If specified as `NULL` the shared memory area is anonymous and cannot be looked up with `odp_shm_lookup()`. There is also no requirement that names be unique. Duplicate names result in indeterminate output from `odp_shm_lookup()`.
* The `odp_shm_info_t` now includes the `page_size` of the shared memory block and it's (optional) name.
* `odp_shm_print()` API is added to print implementation-defined information associated with the `odp_shm_t` to the ODP log for diagnostic purposes.
===== Add support for non-blocking Queues New queue attributes are introduced to characterize queue behavior as blocking or non-blocking. A blocking queue may stall other threads if a thread is interrupted or suspending during an enqueue or dequeue operation. Nonblocking queues may be either lock free or wait free and provide progress and fairness guarantees to all threads regardless of interruptions or stalls on the part of threads performing queue operations.
The various `odp_nonblocking_t` attributes available are returned by the `odp_queue_capability()` API for both plain and scheduled queues and are in turn requested as part of the `odp_queue_param_t` struct passed to the `odp_queue_create()` API. The intent is to allow applications that have realtime response requirements to better express these needs and utilize platform-specific capabilities in this area.
===== Scheduler ordered lock API changes The following changes have been made to the scheduler APIs:
* Documentation clarifies that an ordered context may only hold one ordered lock at a time. Results are undefined if a second ordered lock is attempted to be acquired while already holding one.
* The `odp_schedule_order_unlock_lock()` API is added to permit an ordered context to switch from one ordered lock to another in a single operation.
===== Timer Capabilities The `odp_timer_capability()` API is added to return an `odp_timer_capability_t` struct that details platform-specific timer capabilities for application use. The only capability currently defined is `highest_res_ns`, which indicates the highest supported resolution supported by a timer. This is the minimum valid value for the `res_ns` timer pool parameter.
=== Scalable Scheduler The `odp-linux` reference implementation adds a new _scalable scheduler_ to the existing default, strict priority, and iquery schedulers. This is enabled by:
`./configure --enable-schedule-scalable`
The scalable scheduler is designed to offer superior scalability in many core environments, especially on AArch64 platforms.
=== Miscellaneous Fixes and Improvements The following miscellaneous improvements have been made to the `linux-generic` reference implementation of ODP.
==== Additional packet inline functions When compiling with `--enable-abi-compat=no` the following additional packet functions are inlined:
* `odp_packet_l2_offset()` * `odp_packet_l2_ptr()` * `odp_packet_l3_offset()` * `odp_packet_l3_ptr()` * `odp_packet_l4_offset()` * `odp_packet_l4_ptr()`
==== Dependencies The ODP test suite now automatically skips C++ tests if no C++ compiler is available.
The odp_pktio_ordered tests are only performed if PCAP is available.
The DEPENDENCIES file has been updated to reflect build/test requirements for running under Red Hat Linux distributions.
==== DPDK 17.08 Support PktIO DPDK support has been upgraded to DPDK 17.08.
=== Test/Example improvements === l2fwd Example A verbose option is added to provide more detail on test runs.
=== ODP generator Numerous performance improvements have been made that results in significantly better I/O rates. This includes a configuration option to control checksum usage.
=== Bug Fixes ==== https://bugs.linaro.org/show_bug.cgi?id=3465%5BBug 3465] CID 1461688: odp_pool_create: Dereference before null check
==== https://bugs.linaro.org/show_bug.cgi?id=3466%5BBug 3466] CID 1396968: buggy check
==== https://bugs.linaro.org/show_bug.cgi?id=3491%5BBug 3491] l2fwd segfaults on api-next with dpdk checksum insertion override
=== Known Issues ==== https://bugs.linaro.org/show_bug.cgi?id=3210%5BBug 3210] packet header parsing routines should verify header checksums
==== https://bugs.linaro.org/show_bug.cgi?id=3517%5BBug 3517] timer test might fail
Balasubramanian Manoharan (18): linux-generic: add toeplitz hash algorithm api: classification: add support for packet hashing in classification linux-generic: classification implement packet hashing linux-generic: classification: rename internal defines api: pool: add min and max headroom configuration in pool linux-generic: pool: implementation for min and max headroom configuration api: std_types: add odp_percent_t data type api: threshold: add odp_threshold_t parameter api: classification: add random early detection and back pressure linux-generic: classification: implement random early detection and back pressure api: queue: change order lock count data type api: schedule: remove support for nested ordered lock api: schedule: add schedule order unlock lock api linux-generic: queue: change order lock count data type linux-generic: schedule: change order lock function signature linux-generic: schedule: implement schedule order unlock lock api test: validation: queue: change order lock data type test: validation: schduler: change order lock function signature
Bill Fischofer (11): linux-generic: pool: validate params before creating pool linux-generic: pool: avoid direct use of printf() in check_params linux-generic: pool: avoid direct use of printf() in odp_pool_print() test: validation: correct comparison in packet_test_ref() api: ipsec: add additional doxygen documentation doc: userguide: document new packet-oriented crypto operations doc: images: add diagrams used for ipsec documentation doc: images: add graphviz source for ipsec fsm doc: userguide: add ipsec user documentation doc: userguide: ipsec state machine changes changelog: updates for v1.17.0.0
Bogdan Pricope (16): example: generator: remove 1 ms sleep on send loop example: generator: increase maximum TX burst size to 512 example: generator: add configuration option for csum support example: generator: replace atomic counter with per worker counters api: packet_io: add MAC address set function linux-gen: pktio: implement MAC address set function test: validation: pktio: validate MAC address set function linux-gen: pktio: tap: implement start/stop operations linux-gen: pktio: tap: implement link status operation linux-gen: pktio: tap: implement MAC address set operation linux-gen: packet: add L3/L4 checksum validation flags linux-gen: packet: implement checksum validation status functions linux-gen: pktio: dpdk: set L3/L4 checksum validation flags example: generator: use L3/L4 checksum validation status functions linux-gen: chksum: implement checksum insertion override functions linux-gen: pktio: dpdk: implement checksum insertion override
Brian Brooks (5): timer: allow timer processing to run on worker cores linux-gen: sched scalable: add arch files linux-gen: sched scalable: add a bitset linux-gen: sched scalable: add a concurrent queue linux-gen: sched scalable: add scalable scheduler
Christophe Milard (1): linux-gen: _ishm: adding buddy and slab allocation
Dmitry Eremin-Solenikov (137): linux-gen: crypto: drop DES-CBC support configure: separate common DPDK check to odp_dpdk.m4 linux-gen: apply -msse4.2 only in x86 case linux-gen: add support for using system-wide DPDK linux-gen: pktio: support using DPDK lt 17.08 linux-gen: dpdk: cast addresses to uintptr_t rather than uint64_t travis: also use DPDK when doing cross-compile tests test: workaround buggy CUnit header travis: remove Automated.h fix, now handled in ODP source tests: compile and execute validation tests before the rest of tests api: ipsec: factor out definitions for feature support levels api: ipsec: mark odp_ipsec_sa_create argument as constant api: ipsec: add AH capability api: ipsec: split INLINE capability into in and out pair api: ipsec: factor out IP protocol version parameter linux-generic: events subtype implementation validation: test correctness of events subtype implementation linux-gen: drop crypto async mode implementation api: crypto: deprecate ASYNC mode and odp_crypto_compl_t api: crypto: add crypto packet operation interface linux-gen: crypto: provide packet API implementation validation: crypto: tests for Crypto packet API test: rewrite odp_crypto using Crypto packet API example: ipsec: rewrite using Crypto packet API validation: crypto: fix unitialized variable error api: crypto: replace redundant packet_ prefixes from definitions api: crypto: revert deprecation of crypto completion API api: crypto: clarify compl_queue queue in crypto_session_param api: crypto: clarify for odp_crypto_session_create linux-gen: crypto: unify odp_crypto_session_create error path test: performance: crypto: fix packet freeing test: performance: crypto: free crypto-out queue api: event: add documentation for ODP_EVENT_PACKET_CRYPTO validation: crypto: rework testsuite validation: crypto: add AES-192/256 test cases linux-gen: crypto: add support for AES-192 and AES-256 api: ipsec: rename odp_ipsec_mtu_update to follow odp_ipsec_sa_* pattern api: ipsec: document restrictions for odp_ipsec_config() api: ipsec: return maximum antireplay window size via capability test: validation: add IPsec API testsuite linux-gen: packet: factor out L2 header parsing linux-gen: packet: support parsing of just L3/L4 headers linux-gen: packet: add support for IP-in-IP (RFC 2003) encap Revert "linux-gen: drop unused _odp_packet_cmp_data() function" linux-generic: ipsec: implement events handling linux-generic: ipsec: implement IPsec SAD linux-generic: ipsec: draft IPsec implementation linux-gen: pktio: loop: support IPsec outbound inline linux-gen: pktio: loop: support IPsec inbound inline api: ipsec: move pipeline SA param to inbound substructrure api: crypto: add AES-CTR declarations validation: crypto: add tests for AES-CTR linux-gen: crypto: add AES-CTR support linux-gen: ipsec: use counter instead of random IV for GCM linux-gen: ipsec: set inline_mode flag for inline inbound packets validation: ipsec: verify inline_mode flag validation: ipsec: drop unused file validation: ipsec: verify odp_ipsec_sa_context linux-gen: ipsec: fix soft/hard limits check linux-gen: ipsec: add replay window support to SAD linux-gen: ipsec: support replay window checks validation: ipsec: add replay window checks linux-gen: ipsec: mark IPsec packets with errors with error flag validation: check that erroneous IPsec packets have error flag set linux-gen: ipsec: validate ip header total length linux-gen: ipsec: correct frag_offset for tunneled packets linux-gen: ipsec: don't leak SA on creation error linux-gen: ipsec: add AES-CTR cipher support validation: ipsec: add AES-CTR tests api: crypto: add AES-GMAC declarations validation: crypto: add AES-GMAC testcase linux-gen: crypto: add AES-GMAC implementation linux-gen: ipsec: add support for AES-GMAC-ESP validation: ipsec: check authentication key length is supported validation: ipsec: support AES-GMAC-ESP validation linux-gen: ipsec: implement AES-GMAC-AH validation: api: add AES-GMAC-AH testcases linux-gen: crypto: drop duplicate authentication field linux-gen: drop unnecessary odp_crypto_internal include linux-gen: crypto: drop extra memcpy on result return linux-gen: crypto: set packet error flag depending on crypto result operation validation: crypto: check error flag being set example: switch to using ODP chksum API helper: use new odp checksum API linux-gen: ipsec: use new odp checksum API api: ipsec: add capabilities for fragmentation support api: linux-gen: ipsec: constify in/out params api: packet: separate checksum check flags api: ipsec: reuse checksum checking flags from packet API validation: ipsec: add ipv4 name parts linux-gen: modularize IPsec implementation validation: ipsec: fix next_header field in mcgrew gcm test vectors linux-gen: don't include odp_ipsec_internal.h in odp_packet_internal.h linux-gen: protocols: ip: add more ipv6 defines linux-gen: ipsec: implement IPv6 protocol support validation: ipsec: add tests for IPv6 functionality linux-gen: ipsec: simplify seq no handling linux-gen: add support for UDP-encapsulated ESP packets linux-gen: packet: add flag for UDP-encapsulated IPsec packets validation: add UDP-encapsulated IPsec test cases linux-gen: ipsec: store mtu and frag_mode in SA linux-gen: ipsec: support ODP_IPSEC_FRAG_CHECK validation: ipsec: fix out inline with NULL pkt_out validation: ipsec: add ODP_IPSEC_FRAG_CHECK checks linux-gen: ipsec: pass checksum flags to packet parsing code api: pktio: start switching to using odp_proto_layer_t linux-gen: adapt to odp_pktio_parser_layer_t removal validation: use odp_proto_layer_t instead of odp_pktio_parser_layer_t performance: use odp_proto_layer_t instead of odp_pktio_parser_layer_t example: use odp_proto_layer_t instead of odp_pktio_parser_layer_t api: crypto: change aad.ptr to aad_ptr in packet params api: ipsec: use odp_proto_layer_t for parse layer spec api: ipsec: drop odp_ipsec_proto_layer_t api: ipsec: add capabilities for cipher and auth algos validation: ipsec: adapt to crypto capability changes linux-gen: ipsec: adapt to capability changes linux-gen: crypto: populate sync/async_mode caps validation: crypto: do not run tests if mode is not supported validation: crypto: run the test twice to catch no-reinit errors validation: ipsec: fix two c&p errors linux-gen: pktio: loop: reset flags before reparsing packtes linux-gen: pktio: loop: reset packet subtype to BASIC linux-gen: loop: support multiple loop devices example: ipsec: adapt to running on top of loop interfaces example: adapt ipsec example to use IPsec API linux-gen: crypto: fix fallthrough error linux-gen: fix ODP_HANDLE_T expansion with c++ if type is compound linux-gen: timer: set sigev_value in timer_res_init linux-gen: classification: drop unused prototype linux-gen: scalable sched: mark several function as static linux-gen: scalable sched: mark sched_grp_lock as static linux-gen: scalable queue: mark queue_shm_pool as static linux-gen: update api-next to follow merged changes linux-gen: more unification of arch-specific code linux-gen: arm/aarch64 rename dmb to _odp_dmb validation: crypto: clean shutdown in case pkt allocation failed validation: pktio: clean shutdown in case pkt sending failed
Honnappa Nagarahalli (1): travis: add scalable scheduler in CI
Ilias Apalodimas (1): linux-gen: _ishm: proper alignment for current page size
Janne Peltonen (1): abi: event: add ODP_EVENT_IPSEC_STATUS
Joyce Kong (1): linux-gen: timer: control timer pool polling frequency dynamically
Kevin Wang (4): api: timer: add odp_timer_capability() api linux-generic: timer: implement odp_timer_capability() validation/example: call odp_timer_capability() before creating timer pool doc: userguide: add odp_timer_capability() section to user guide
Matias Elo (18): linux-gen: dpdk: handle minimum rx burst size linux-gen: dpdk: fix max_input_queues value for ixgbe devices linux-gen: dpdk: call packet parse function only when necessary travis: add build only test stage configure: disable debug by default and print configured value linux-gen: dpdk: reorganize pkt_dpdk_t struct linux-gen: buffer: remove data size member from odp_buffer_hdr_t linux-gen: pool: remove unnecessary pool_entry_from_hdl() calls linux-gen: pool: add inlined accessors for selected pool parameters linux-gen: pktio: add pktio capability to pktio_entry_t travis: add enable-deprecated test configuration test: disable C++ test if no compiler is found test: odp_pktio_ordered: run test only if pcap is available DEPENDENCIES: update requirements for Red Hat linux-gen: ipsec: add capability function validation: ipsec: add test for odp_ipsec_capability() linux-gen: event: move event subtype to packet header validation: shmem: compare info page size to all supported huge page sizes
Maxim Uvarov (14): doxygen: remove drv types travis: disable ccache for codecov gitignore add gcov files Revert "travis: temporary turn off dpdk caching" test: build: enable cunit output to xml linux-gen:test: shmem pass args to cunit test: cunit common fix header paths shipabble: use xml statistics travis: cunit fix function declaration in Automated.h api: packet: change argument to insert for l3 and l4 chsums linux-gen: cpu: arm: make wfe supported only by aarch64 docs: update git tree and bugs link README: test are built by default configure.ac: update API and .so version to v1.17.0.0
Nikhil Agarwal (2): api: ipsec: add retain header capability example: ipsec_offload: add ipsec_offload example
Ola Liljedahl (2): linux-gen: scheduled pktin polling for ssched linux-generic: pktio: fix gcc7 build error in sched_cb_pktin_poll_one
Petri Savolainen (102): linux-gen: packet: inline layer offsets linux-gen: packet: inline layer pointers linux-gen: arch: remove unused powerpc files linux-gen: arch: cpu arch specific time header linux-gen: arch: single cpu cycles file api: ipsec: added IPSEC API api: ipsec: add algorithm capabilities api: ipsec: packet transformation follows RFCs linux-gen: ipsec: add stubs for functions api: packet: add per packet checksum control api: ipsec: extend lookaside API api: ipsec: add inline IPSEC support linux-gen: ipsec: add stubs for new functions api: ipsec: spi_overlap and lookup modes api: ipsec: refine packet order specification api: ipsec: add max number of cos capability api: event: add subtype to expand event type api: ipsec: change IPSEC result to packet api: ipsec: disable event is the last event api: ipsec: add salt parameter api: ipsec: add max queues capability api: ipsec: direction specific SA params api: ipsec: remove time based SA lifetime api: ipsec: ignore aad capability api: ipsec: split operation result status bits api: ipsec: flexible soft lifetime reporting api: ipsec: outer header pointer as const api: ipsec: remove initial sequence number parameter api: ipsec: add warning status event api: packet: add checksum status api: packet_io: refine rules for checksum calculation api: chksum: add ones complement sum function linux-gen: chksum: implement ones complement sum validation: chksum: add test chksum suite linux-gen: chksum: correct uninitialized variable bug validation: chksum: add long UDP packet test linux-gen: ipsec: update git ignore api: packet: add parse functions api: pktio: use common protocol layer enum api: ipsec: use common protocol layer enum linux-gen: packet: add parse API validation: pktio: add parser test packet header validation: packet: add parse tests api: crypto: move AAD length to session param api: packet: refine layer offset specification api: packet_flags: refine error and layer flags api: packet_flags: adjust white spaces api: parse: set next layer offset linux-gen: packet: set next layer offsets allways api: crypto: typo correction api: shm: style clean up api: shm: print shm block info linux-gen: shm: make odp_shm_print_all readable again linux-gen: shm: implement odp_shm_print api: shm: name is optional validation: shm: add name tests test: l2fwd: list not used features api: packet: ones complement sum linux-gen: packet: dummy ones complement implementation validation: packet: add call to ones complement example: tm: update gitignore linux-gen: dpdk: check L3 offset validity api: time: time difference in nsec linux-gen: time: implement odp_time_diff_ns validation: time: test odp_time_diff_ns api: pktio: add max frame length linux-gen: pktio: implement frame length api: pktio: deprecate odp_pktio_mtu test: l2fwd: add verbose option linux-gen: dpdk: fix maximum frame length value api: pktio: clean up doxygen tags api: pool: relax packet pool param num api: pool: add packet pool subparameters validation: pool: add subparam test validation: pool: initialize params correctly api: pool: add max packet num info linux-gen: pool: implement max_num info validation: pool: add packet info test api: pool: remove union from params api: queue: remove param-in doxygen tag api: cls: remove param-in doxygen tag api: tm: remove param-in doxygen tag api: pktio: add checksum insert enable bits example: generator use checksum enable linux-gen: dpdk: use checksum insert enable config test: l2fwd: add checksum offload option linux-gen: dpdk: checksum insert enabled flag api: event: add free multiple linux-gen: event: free multiple functions validation: event: add event test suite api: packet: multi converts and single pool free linux-gen: packet: multi converts and single pool free validation: packet: multi converts and single pool free api: event: event type multi linux-gen: event: implement type multi validation: event: type multi api: event: filter and convert packets linux-gen: packet: implement event filter packet validation: event: filter packet test api: queue: non-blocking level parameter linux-gen: queue: fill blocking capa validation: queue: refer to blocking level
Sachin Saxena (1): api: pool: Return address range for pool objects
-----------------------------------------------------------------------
hooks/post-receive