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.19.0.2_tigermoth has been created at b7f3fb38bfa68e8e69feb930b688416756da2a3e (tag) tagging 6e741deee25c81429112b82ba54f09205bb7c0ab (commit) replaces v1.19.0.1_tigermoth tagged by Maxim Uvarov on Thu Jul 5 13:47:25 2018 +0300
- Log ----------------------------------------------------------------- == OpenDataPlane (1.19.0.2) === Summary of Changes ODP v1.19.0.2 is the second service update for the Tiger Moth release. It incorporates a number of corrections and enhancements that further improve the quality and testability of ODP.
==== APIs There are no API changes in this release.
==== DPDK Service Release Sync ODP is now paired with DPDK 17.11.3 for its DPDK-related support. This is the current service level for the DPDK 17.11 LTS package used by ODP Tiger Moth.
=== Implementation Improvements This release incorporates several improvements in the `odp-linux` reference implementation of ODP.
==== Enhanced Inlining ODP supports inlining of functions in embedded environments when ABI compatibility is not needed. ODP itself now makes use of inlined functions for all relevant internal use of its APIs, leading to improved performance.
==== Completion of CRC API Implementation The `odp_hash_crc_gen64()` API is now properly implemented and appropriate validation tests added to support it.
In addition, a streamlined table-based implementation of the basic CRC functions eliminates the previous dependency on `zlib`.
==== PktIO-Specific Parsing To better integrate with DPDK parsing capabilities, ODP packet parsing has been restructured to operate at the PktIO level. This permits DPDK PktIO types to exploit the native DPDK packet parser and checksum facilities, leading to better integration.
==== PktIO Internal Cleanup and Restructure The PktIO functions have been streamlined and refactored in a number of ways to provide better long-term maintainability of these functions. This includes moving per-PktIO data into individual files rather than sharing a common file, as well as better placement for I/O statistics.
==== Checksum Validation Support Loop PktIO interfaces now add the capability to validate packet L3 and L4 checksums as part of receive processing. The existing `odp_pktio_capability()` API now reports that checksum validation is available for these interfaces.
==== Single Producer / Single Consumer Queue Performance Optimizations When defining lock free queues that have only a single producer and consumer, a streamlined implementation offers significant speedup.
==== Fast PCAPng Packet Capture Fast pcap capture is now provided in `odp-linux` to capture packets on any interface. This is enabled via the `--enable-pcapng-support` configuration option. Once enabled, packets can be captured using a sequence such as: ----- sudo mkdir /var/run/odp/ start ODP application that reads/writes to the interface of interest start the ODP application sudo dd if=/var/run/odp/<pid>-<ifname>-flow-<queue#> of=~/test.pcap
cntrl^c to end capture wireshark ~/test.pcap to view capture -----
Interfaces of interest are identified by a string consisting of the application process ID, the interface name, and the queue number of interest, if the interface supports multiple queues.
==== Removal of GPL M4 Macros A number of autotools/autoconf M4 macros used in configuring `odp-linux` have been rewritten to avoid potential GPL licensing concerns. These macros are used only during ODP configuration processing and have no role in ODP or ODP application use.
=== Validation Test Improvements ==== Queue Pair Validation Tests The validation test suite for queue API testing is enhanced to now test operation on queue pairs properly. This enables the various enqueue/dequeue modes defined by the ODP specification to be more fully exercised, leading to improved API conformance.
==== Scheduling Test Improvements The scheduling validation tests now better use the various capability APIs to ensure that implementations are only tested for advertised capabilities.
=== Crypto Test Improvements The crypto validation tests now better use the various capability APIs to ensure that implementations are tested across advertised crypto capabilities.
=== Performance Test Improvements ==== New Performance Test A new `odp_queue_perf` test has been added to test plain (non-scheduled) queue performance in various modes.
=== Helper Changes * The `getopt` library calls are no longer used to avoid packaging conflicts that can arise with this use. There are no changes to helper functionality. This change simply improves packaging.
=== Examples Improvements * The `odp_generator` example adds UDP port range support.
==== CI Improvements Numerous changes to Travis integration are added to improve the quality and reliability of Continuous Integration (CI) testing.
=== Bug Fixes ==== https://bugs.linaro.org/show_bug.cgi?id=3787%5BBug 3787] Timeout accuracy breaks down with odd resolution requests
==== https://bugs.linaro.org/show_bug.cgi?id=3867%5BBug 3867] timer validation test fails when using 1GB huge pages
==== https://bugs.linaro.org/show_bug.cgi?id=3879%5BBug 3879] example/l2fwd_simple fails on some systems when using 1GB huge pages
=== Unnumbered Bug Fixes * Corrected the handling of timeout events in the scalable scheduler. * Fixed IPsec link order to streamline builds. * Fixed scaling issues with scheduler support for large core count systems.
=== Known Issues ==== https://bugs.linaro.org/show_bug.cgi?id=3774%5BBug 3774] Shmem validation test runs indefinitely with 1GB huge pages
==== Running ODP on Systems with more than 64 Cores There are several issues that seem to arise when running ODP applications on platforms with more than 64 cores. While the most critical of these, which affected the scheduler, have been fixed in this release, there are others that are still under investigation. These will be addressed in the next release of ODP.
Bill Fischofer (2): changelog: updates for odp v1.19.0.2 changelog: addendum for v1.19.0.2
Bogdan Pricope (10): linux-gen: classification: permit packet parsing at pktio level linux-gen: pktio: dpdk: add specific packet parser linux-gen: pktio: dpdk: integrate csum with packet parser example: generator: add UDP port range support linux-gen: pktio: move ethtool stats function to a new file linux-gen: pktio: move ethtool rss function to a new file linux-gen: pktio: move common code out of socket pktio files linux-gen: pktio: remove odp_packet_socket.h from unrelated files linux-gen: pktio: move ethtool and sysfs stats files to new folder linux-gen: pktio: move pktio socket stats to a new file
Brian Brooks (1): linux-generic: schedule: call timer_run() in scalable scheduler
Dmitry Eremin-Solenikov (38): linux-gen: pktio: introduce checksum settings linux-gen: packet: add IPv4 checksum validation linux-gen: packet: check TCP/UDP checksums linux-gen: pktio: loop: support checksum parsing linux-gen: pktio: remove separate API inlining header linux-gen: packet_flags: remove separate API inlining header linux-gen: packet_flags: drop unused @internal annotations linux-gen: atomic: remove separate API inlining header linux-gen: ticketlock: remove separate API inlining header linux-gen: ticketlock: drop unused @internal documentation linux-gen: byteorder: remove separate API inlining header linux-gen: thread: remove separate API inlining header linux-gen: packet: remove separate API inlining header linux-gen: sync: rework code to follow inlining style linux-gen: std clib: rework code to follow inlining style linux-gen: pktio: use inlined packet functions linux-gen: use inlined atomic functions everywhere linux-gen: use inlined thread functions everywhere linux-gen: use inlined sync functions everywhere linux-gen: pktio: add abstract pktio private data storage linux-gen: pktio: make loop use generic private data field linux-gen: pktio: make socket use generic private data field linux-gen: pktio: make socket_mmap use generic private data field linux-gen: pktio: make netmap use generic private data field linux-gen: pktio: make dpdk use generic private data field linux-gen: pktio: make pcap use generic private data field linux-gen: pktio: make tap use generic private data field linux-gen: pktio: make ipc use generic private data field linux-gen: pktio: make null use generic private data field linux-gen: pktio: drop now-unused union definition .travis.yml: upgrade DPDK to 17.11.3 -- latest stable release linux-gen: tm: use ODP_RANDOM_BASIC instead of hard-coding constant 1 (= CRYPTO) linux-gen: fix calls to odp_random_data to use ODP_RANDOM_BASIC linux-gen: support building ODP without libcrypto from OpenSSL example: ipsec: support building w/o OpenSSL example: ipsec_api: support building w/o OpenSSL travis: check building without OpenSSL DEPENDENCIES: document building without OpenSSL
Ilias Apalodimas (1): odp: pktio: add pcapng capture capabilities
Josep Puigdemont (2): linux-gen: ishmphy: use MAP_POPULATE in mmap example/l2fw_simple: increase wait time
Matias Elo (4): validation: queue: enable passing tests without ordered locks validation: sched: adjust number of used queues based on capability test: scheduling: use queue capability validation: crypto: replace invalid cipher/auth capability tests
Maxim Uvarov (12): codecov: disable check by patch linux-gen: test: tm: respect return codes test: tm: allow some tests to be skipped under CI test: remove bash wrapper around tm validation test example: l2fwd_simple remove predefined sleep configure: do check of -mcx16 more simple configure: do not use GPL AX_CHECK_COMPILE_FLAG configure: m4: simplify pthread detection test: cunit: tm fix tm execution under CI validatation: fix tm wred test under loaded system travis: add missing set of ODP_SHM_DIR for code coverage test configure.ac: update version to v1.19.0.2
Petri Savolainen (48): test: ipsec: fix link order linux-gen: buffer: remove buffer_inlines header file linux-gen: event: inline event_type function linux-gen: use inlined event type function helper: thread: don't use getopt library test: sched_pktio: don't call pktout_send with 0 packets test: sched_pktio: timer reset return codes test: sched_pktio: add timeout statistics linux-gen: init: remove init.c internal types from header linux-gen: init: split odp_internal.h linux-gen: cpu: add cpu cycles init global linux-gen: cpu: inline cpu cycle functions on x86 linux-gen: cpu: inline cpu_cycles_diff linux-gen: queue: remove abstract internal queue type linux-gen: queue: remove extra conversion functions linux-gen: queue: change queue handle to pointer linux-gen: queue scalable: change queue handle to pointer linux-gen: queue: inline queue context linux-gen: time: inline arch cpu time on x86 linux-gen: time: inline diff, sum and cmp linux-gen: time: use inlined functions internally validation: queue_lf: log print when test skipped test: queue_perf: added new plain queue performance test linux-gen: queue_lf: wrap is_lock_free function linux-gen: queue_lf: use lock free 128 bit atomics validation: hash: update crc32c test vectors linux-gen: hash: crc32c support for odd data lengths linux-gen: hash: crc32c table format update validation: hash: odd length crc32c test vectors linux-gen: hash_crc32: crc32 implementation with zlib validation: hash: add crc32 test case linux-gen: hash: rename hash.c to hash_crc32c.c linux-gen: hash: table based crc32 implementation example: timer_accuracy: convert full nsec time to ticks linux-gen: ring_spsc: single-producer, single-consumer ring linux-gen: queue_spsc: single-producer, single-consumer queue test: queue_perf: single producer/consumer option validation: queue: test enq/deq mode combinations validation: queue: pair test linux-gen: hash: generic crc implementation validation: hash: change result to 32 bit word validation: hash: add generic CRC test cases linux-gen: queue: fix queue empty check linux-gen: queue_lf: fix event ordering issue validation: queue: add pair tests for lock-free queues validation: queue: improve queue pair checks linux-gen: use common posix extensions header linux-gen: ring: ensure head and tail load order in dequeue
-----------------------------------------------------------------------
hooks/post-receive