aboutsummaryrefslogtreecommitdiff
path: root/helper
AgeCommit message (Collapse)Author
2018-02-28helper: cuckoo: check pool and queue limitsPetri Savolainen
Use capability to check if pool and queue can hold enough events. Also lower test case resource requirement. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-02-26update Linaro Copyrights to 2018 yearMaxim Uvarov
Using simple commands: find . -not -path .git -type f -exec \ sed -i -E 's/ (201[0-9]), Linaro/ \1-2018, Linaro/g' {} + find . -not -path .git -type f -exec \ sed -i -E 's/ (201[0-9])(-201[0-9]), Linaro/ \1-2018, Linaro/g' {} + Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2018-02-12helper: adjust strong types to remove high bit truncationDmitry Eremin-Solenikov
Strong types interface was truncating 32 MSB on 64-bit platforms, which is plain wrong. Prevent it from doing that by using uintptr_t internally. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-18linux-gen: align: Fix alignment for typedef definitionsIlias Apalodimas
* typedef struct { } ODP_ALIGN() test_t; is correct * typedef struct ODP_ALIGN() {} test_t; is correct and preferred from gcc standards * typedef struct {} test_t ODP_ALIGN() discards align Had segfauls on gcc-7 using that Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-18linux-gen, include: switch std_clib.h to api+abiDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-18build: move ODP include path to common Makefile.incDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-18configure: enable linux helpers by defaultPetri Savolainen
Enable Linux helpers by default as e.g. OFP uses those. Build and test helper code does not add significant overhead, but catches potential issues early. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-15helper/tests: use common Makefile.inc for testsDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-15helper: link against libpthread and libodp-linuxDmitry Eremin-Solenikov
libodphelper.so uses symbols from libpthread and libodp-linux.so, link it aganst those libraries. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-14helper: remove camelcase from icmp protocolBill Fischofer
Change ODPH_IPPROTO_ICMPv4 and ODPH_IPPROTO_ICMPv6 to ODPH_IPPROTO_ICMPV4 and ODPH_PROTO_ICMPV6 to eliminate camelcase issues in ODP examples. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Balasubramanian Manoharan <bala.manoharan@linaro.org> Reviewed-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27helper: use new odp checksum APIDmitry Eremin-Solenikov
Use odp_chksum_ones_comp16 which may be platform-optimized. This removes now unnecessary odph_cksum() function. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-21.gitinore: ignore moved .pc filesDmitry Eremin-Solenikov
pkg-config files were moved, but I forgot to update .gitignore files. Update them now. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-19helper: add ${EXEEXT} when calling compiled programsDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-16helper: simplify Makefile.amsDmitry Eremin-Solenikov
- Drop unused $(srcdir) - Drop unused $(EXEEXT) Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-16helper: move libodphelper.pc.in to helper directoryDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-09-15doc: helper: add missing doxygen to avoid warningsBill Fischofer
The latest version of Doxygen requires every struct and field to be documented, so add missing documentation to helper files to avoid superfluous warnings. This resolves Bug https://bugs.linaro.org/show_bug.cgi?id=3238 Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-09-08helper: test: rework build systemDmitry Eremin-Solenikov
- Stop using extra libraries just to create a test executable - Stop using EXTRA_DIST to distribute headers, include them into _SOURCES - Stop using unnecessary dist_ prefixes, sources are distributed automatically Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-09-08configure: stop setting AM_* variablesDmitry Eremin-Solenikov
AM_* variables by design should be set by Makefile.am, not by configure.ac. Use CFLAGS/CXXFLAGS instead. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-09-08build: use AM_CPPFLAGS to set include paths, rather than AM_CFLAGSDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-09-08build: drop platorm/linux-generic/Makefile.incDmitry Eremin-Solenikov
Mandate that platform provides platform/$(with_platform)/arch/$(ARCH_DIR) directory and reference it directly from all Makefile.am/.inc files. Main reason for this change is to allow automake to process all includes at the time of Makefile.am -> Makefile.in conversion. Currently it can not determine path for platform/@with_platform@/Makefile.inc, thus inclusion is left for main make invocation. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-09-04helper: chksum: add few guarding conditionsDmitry Eremin-Solenikov
Add few guarding conditions, otherwise bad packet can hang up ODP code. Noted by one of the corner case tests for IPsec. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-09-04configure: enable all tests by defaultDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-08-29helper: chksum: verify odph_ipv4_chksum_x() functionsDmitry Eremin-Solenikov
Fixes: https://bugs.linaro.org/show_bug.cgi?id=2976 Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-08-29helper: ip: correct ipv4 header checksum calculationDmitry Eremin-Solenikov
Current code for IPv4 header checksum calculation assumes that packet data is aligned on 2-byte boundary, that there are no optional headers, etc. Rewrite checksumming code to properly copy & process headers. https://bugs.linaro.org/show_bug.cgi?id=2976 Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-08-29helper: chksum: odph_chksum returns value in network byte orderDmitry Eremin-Solenikov
All examples and usecases assumed network byte order for odph_chksum() return value. Instead of changing this convention, rather document that odph_chksum returns value in network byte order. https://bugs.linaro.org/show_bug.cgi?id=2976 Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-08-28helper: move include files to helper/includeDmitry Eremin-Solenikov
Repair build with --enable-helper-linux option. https://bugs.linaro.org/show_bug.cgi?id=3216 Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-08-25helper: use config.h headerDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-08-25configure: move configure header to include dirDmitry Eremin-Solenikov
It does not make sense to have config.h just in helper tree. It should be also used by the rest of the code. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-08-23helper: test: fix running process/thread tests on single core systemsMatias Elo
This patch enables running process and thread validation tests on single core systems. Fixes bug: https://bugs.linaro.org/show_bug.cgi?id=2812 Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-07-21helper: add missing pool param initsMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2017-06-16helper: add additional doxygen documentationBill Fischofer
Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2952 by adding additional field documentation to avoid problems with doxygen 1.8.13 and higher. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-06-16helper: cuckoo: add queue size config to cuckoo tableHonnappa Nagarahalli
Some queue implementations in ODP take queue size input. Cuckoo table is modified to provide the queue size input while creating the queue. Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-06-16linux-gen: packet: recognize ICMPv6 packetsMatias Elo
Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-05-11helper: tables: avoid invalid odp_shm_addr() callsMatias Elo
odp_shm_lookup() return value can be used to detect name conflicts. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-04-25bug: linux-generic: add syntax to allow newer clang to compile odpBill Fischofer
Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2942 by adding casts needed to avoid compilation failures when using clang 4.0.0 included in Ubuntu 17.04, which is stricter than clang 3.8.1 which is in Ubuntu 16.10. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Brian Brooks <brian.brooks@arm.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-04-03helper: iplookuptable: fix prefix_entry_t member orderMatias Elo
Depending on the alignment/padding odph_iplookup_table_put_value() could end up overwriting the wrong fields in prefix_entry_t. Fix this by reverting the order of prefix_entry_t members. Fixes https://bugs.linaro.org/show_bug.cgi?id=2910 Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-03-02helper: pkgconfig: remove linux-generic from helper lib namePetri Savolainen
Helper library should be built ABI compatible when it's part of a distro. There's no need to have implementation specific helper libs. Those would be needed only if non-ABI compat helper libraries need to be distributed. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-03-02helper: linux: add common linux helper filePetri Savolainen
Added common helper file for backwards compatibility. This file includes all headers under helper/linux directory. It's installed only with --enable-helper-linux configuration option. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-02-16helper: linux: renamed threads_extn to linux helpersPetri Savolainen
There's no platform specific helpers. Helpers may depend on Linux and make it easier to do common series of Linux system calls. These kind of helpers are grouped into helper/linux directory. Use --enable-helper-linux configuration option to enable support for Linux helpers. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Mike Holmes <mike.holmes@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-02-10helper: tables: avoid invalid odp_shm_addr() callsBill Fischofer
In the various table lookup routines, check that odp_shm_lookup() returns a valid handle before attempting to dereference it via odp_shm_addr(). Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-02-10helper: iplookuptable: removed unused variableBill Fischofer
Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2829 by avoiding unused variable. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-02-10helper: cuckootable: avoid storage leaks on error pathsBill Fischofer
Ensure that malloced storage areas are freed on error paths. This resolves Bug https://bugs.linaro.org/show_bug.cgi?id=2830 Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-02-09doc: helper: add missing doxygen for helper table functionsBill Fischofer
Resolve Bug https://bugs.linaro.org/show_bug.cgi?id=2865 by adding missing doxygen documentation for helper table functions Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-02-03abi: event: added the first ABI spec filePetri Savolainen
Used event API as the first example of an ABI spec file. Used the same default architecture file initially for all architectures. Default ABI files avoid multiple copies of the same definition. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-01-31helper: iplookuptable: avoid potential null pointer dereferencesBill Fischofer
Resolve Bug 2862 by checking pointer validity before dereferencing. https://bugs.linaro.org/show_bug.cgi?id=2862 Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Mike Holmes <mike.holmes@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-01-27configure.ac: helper: print debug config optionMaxim Uvarov
Add debug print config option for helper and do not drop configure options for building helper. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Mike Holmes <mike.holmes@linaro.org>
2017-01-27helper: fix compilation with warningsMaxim Uvarov
After turning on lost CFLAGS for checking errors, following things needs to be corrected to make code compile. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Mike Holmes <mike.holmes@linaro.org>
2017-01-25helper: use odph_api.h for test include for unexported filesMike Holmes
Adding the previously missing table functions to the public helper api allows the tests to use just odph_api.h Signed-off-by: Mike Holmes <mike.holmes@linaro.org> Reviewed-by: Christophe Milard <christophe.milard@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-01-25helper: add odph_api.h for existing exported headersMike Holmes
Rather than have all applications include a variable number of helper api files, consolidate them into one include odph_api.h Signed-off-by: Mike Holmes <mike.holmes@linaro.org> Reviewed-by: Christophe Milard <christophe.milard@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-01-22helper: remove dependence on test dirMike Holmes
There is no reason that the helpers need to depend on the test directory so remove the offending links Signed-off-by: Mike Holmes <mike.holmes@linaro.org> Reviewed-by: Christophe Milard <christophe.milard@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>