aboutsummaryrefslogtreecommitdiff
path: root/include/odp_api.h
AgeCommit message (Collapse)Author
2021-12-09linux-gen: dma: implement the new DMA APIPetri Savolainen
Implement the new DMA API. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2021-09-29api: feature: move content to std_types.hPetri Savolainen
Maintain all common types and definitions in one file (std_types.h). Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2021-09-29api: support: move content to std_types.hPetri Savolainen
Maintain all common types and definitions in one file (std_types.h). Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2021-07-21api: proto_stats: add separate header for type definitionsMatias Elo
Enable easier function inlining by moving type definitions into a separate header file. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
2021-07-12api: std: rename std_clib module to stdMatias Elo
Move all generic ODP functions and data types to a common std module. Type definitions have been moved inside std_types.h header to enable easier function inlining. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Tested-by: Shijith Thotton <sthotton@marvell.com>
2021-05-05api: reassembly: add reassembly offloadAnoob Joseph
Add support for inline fragmentation reassembly offload in PKTIN and IPSEC. When the offload is enabled in pktin, reassembly would be attempted for packets received on the pktio interface. When the offload is enabled in IPSEC, reassembly would be attempted after IPSEC processing of inbound packets. Support for this offload can be verified using corresponding capability. Application would be allowed to configure the below options, 1. Enable/disable the offload 2. Maximum wait time for reassembly 3. Maximum number of fragments In case of success, the reassembled packet would be a regular ODP packet thereby eliminating the need to have reassembly in the application. For incomplete reassembly case, the partial reassembled fragments need to be retrieved. An odp_packet_t with status as 'ODP_PACKET_REASS_INCOMPLETE' can be passed to odp_packet_reass_partial_state() for getting the partial reassembled fragments. In addition to retrieving fragments, the API returns additional information from the reassembly attempt, including the time spent by the fragments in IPSEC/PKTIO waiting for reassembly. This allows application to track reassembly timeouts more accurately, when attempting reassembly on such packets. Signed-off-by: Anoob Joseph <anoobj@marvell.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2020-04-07api: stash: add new object stash APIPetri Savolainen
Application needs often store object handles for later usage. From current APIs, e.g. buffers and queues could be used to store these handles, but buffers consume more memory than is necessary and event queues are not needed for this simple use case. This new API maybe implemented e.g. as a ring of object handles in memory, or with a HW buffer manager. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Stanislaw Kardach <skardach@marvell.com> Reviewed-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
2019-01-23api: fix compression API headersDmitry Eremin-Solenikov
- small syntax typo fix - fix header guarding define - add abi files - include comp.h from odp_api.h header 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-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-01-18include: inline compiler.h specDmitry Eremin-Solenikov
compiler.h header contains one internal definition used only in platform-optimized headers. This definition, being internal, is not a part of the specification, so let's merge it into linux-gen plat file and drop compiler.h headers. 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-12-27api: chksum: add ones complement sum functionPetri Savolainen
This is a low level function for IP/UDP/TCP checksum calculations on SW. HW cannot always calculate checksums, for that or other reasons application may need calculate ones compelement sums. This kind of low level function is easy to optimize e.g. with CPU vector instructions. In addition to this, there may be higher (packet) level functions introduced later. 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>
2017-12-27api: ipsec: factor out definitions for feature support levelsDmitry Eremin-Solenikov
Instead of having magic 0-1-2 numbers, let's have the special enum for feature support levels (unsupported/supported/preferred). Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27api: ipsec: added IPSEC APIPetri Savolainen
Added definitions for a look-a-side IPSEC offload API. In addition to IPSEC packet transformations, it also supports: * inbound SA look up * outbound IP fragmentation Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Balasubramanian Manoharan <bala.manoharan@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-11-10api: feature: add odp feature bitsBill Fischofer
Add new odp_feature_t bits that permit other APIs/components to refer to various ODP features. 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-16api: deprecated: add configure option and macrosPetri Savolainen
Added configuration option --enable-deprecated to control if deprecated APIs are enabled or disabled. Added ODP_DEPRECATED_API macro into the API. Its value can be used to check if deprecated API definitions are enabled or disabled. Deprecated APIs are disabled by default. Deprecated APIs are meant to be removed completely in a later API version. Added ODP_DEPRECATE() macro to enforce deprecation of API definitions. When deprecated APIs are disabled, the macro renames API definitions so that application cannot use those any more, but a single implementation library can serve applications built with both options. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-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>
2016-04-27api: config: removed config.hPetri Savolainen
Removed all references to config.h which is now empty. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2016-02-11api: move include/odp.h to include/odp_api.hChristophe Milard
odp.h actually describes the applicatiion interface of ODP and is logicaly moved to odp_api.h. Applications now includes <odp_api.h>. This simplifies the addition of other ODP interfaces (e.g. drivers may include odp_drv.h in the future.) Signed-off-by: Christophe Milard <christophe.milard@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>