aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/include-abi/odp
AgeCommit message (Collapse)Author
2023-01-25api: buffer: split header filesMatias Elo
Split buffer API into separate header files for functions and types. This fixes circular dependency issues with inline headers. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
2022-12-29linux-gen: crypto: inline event conversion functionsMatias Elo
Inline odp_crypto_packet_from_event() and odp_crypto_packet_to_event() function implementations. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
2022-12-29api: crypto: split header filesMatias Elo
Split crypto API into separate header files for functions and types. This enables inline implementation of API functions. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
2022-11-30api: shm: add segment infoPetri Savolainen
Added odp_shm_segment_info() which can be used to retrieve information of each memory segment of an SHM block. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Harman Kalra <hkalra@marvell.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
2022-11-30api: pktio: add ODP_PKTIN_MAX_QUEUES defineMatias Elo
Add ODP_PKTIN_MAX_QUEUES define for maximum number of packet input queues. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Nithin Dabilpuram <ndabilpuram@marvell.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2022-11-29api: packet: support additional l3 and l4 protocol typesMatias Elo
Move odp_proto_l2_type_t, odp_proto_l3_type_t, and odp_proto_l4_type_t types and defines from ABI to API header. L3 protocol type define values have been changed to match actual EtherType values. The size of odp_proto_l3_type_t is increased to accommodate this. Allow odp_packet_l3_type() and odp_packet_l4_type() functions to return also other protocol types than the ones defined in ODP_PROTO_L3_TYPE_* and ODP_PROTO_L4_TYPE_* defines. This enables implementations to support additional protocols without having to add each one to the ODP API. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Kiran Kumar K <kirankumark@marvell.com>
2022-11-29linux-gen: ipsec: inline event conversion functionsMatias Elo
Inline odp_ipsec_packet_from_event() and odp_ipsec_packet_to_event() function implementations. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
2022-11-29api: ipsec: split header filesMatias Elo
Split IPsec API into separate header files for functions and types. This enables inline implementation of API functions. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com>
2022-10-14linux-gen: rwlock: inline recursive reader/writer lock implementationMatias Elo
Inline implementations of recursive reader/writer lock functions. Added debug asserts for detecting recursion count wraparounds and invalid unlock calls. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
2022-10-14linux-gen: rwlock: inline reader/writer lock implementationMatias Elo
Inline implementations of reader/writer lock functions. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
2022-10-07api: sched: move remaining type definitions into a separate headerMatias Elo
Move remaining scheduler API types and defines into schedule_types.h header to enable function inlining. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2022-07-14api: pool: add thread local cache usage statistic countersMatias Elo
Add new statistic counters (odp_pool_stats_t.thread.cache_available) for reading per thread pool cache usage. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Ashwin Sekhar T K <asekhar@marvell.com>
2022-07-14api: stash: split header filesPetri Savolainen
Split stash API into separate header files for functions and types. This enables inline implementation of API functions in the future. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Ashwin Sekhar T K <asekhar@marvell.com>
2022-06-23linux-gen: pool: inline odp_pool_index()Matias Elo
Inline odp_pool_index() function implementation. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
2022-05-24linux-gen: spinlock_recursive: inline implementationMatias Elo
Inline recursive spinlock API function implementations. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
2022-05-24linux-gen: spinlock: inline implementationMatias Elo
Inline spinlock API function implementations. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
2022-04-13api: crypto: deprecate odp_crypto_operation()Janne Peltonen
Depracate odp_crypto_operation() and the associated data structures and the completion event. The odp_crypto_operation() function is a bit problematic since it can be synchronous or asynchronous on per-packet basis without application having control on it. Uncontrolled sync versus async behaviour can have adverse effects on packet ordering and application design in general. The function is also somewhat redundant with the newer odp_crypto_op() and odp_crypto_op_enq() functions that provide explicit control on the crypto operation completion behavior. Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Anoob Joseph <anoobj@marvell.com>
2022-03-25linux-gen: timer: inline small timer functionsMatias Elo
Inline implementations of small fast path timer functions. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2022-03-25abi: timer: add necessary files for function inliningMatias Elo
Add necessary ABI headers for timer function inlining. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2022-03-18api: event: split header filePetri Savolainen
Split event.h API file into separate files for types and functions. This avoids circular dependency between event and packet headers. While updating dependencies from event.h to event_types.h, simplify API header file dependencies: - API files depend mostly on type headers of other APIs - move header includes from include/odp/api header files to spec files Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2022-03-03api: random: split random types into a separate headerMatias Elo
Split random types into a separate header file to enable easier function inlining. No API changes. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2022-03-03api: pktio: split packet io types into a separate headerMatias Elo
Split packet IO types into a separate header file to enable easier function inlining. No API changes. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2022-03-03api: pool: split pool types into a separate headerMatias Elo
Split pool types into a separate header file to enable easier function inlining. No API changes. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2022-03-03linux-gen: pktio: rename packet io source filesMatias Elo
Rename packet IO source files to be consistent with project naming convention. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2022-03-02api: cls: remove deprecated ODP_PMR_INVAL defineMatias Elo
Remove deprecated ODP_PMR_INVAL define API. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2022-03-02api: pktio: add ODP_PKTOUT_MAX_QUEUES defineMatias Elo
Add ODP_PKTOUT_MAX_QUEUES define for the maximum number of packet output queues. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2022-03-02linux-gen: pktio: remove ODP_PKTIN_WAIT defineMatias Elo
Remove leftover define ODP_PKTIN_WAIT (previously removed API). Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
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-12-09api: event: add DMA completion event typePetri Savolainen
Added new event type ODP_EVENT_DMA_COMPL for DMA transfer completion events. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2021-12-09api: timer: split timer types into separate filePetri Savolainen
Split timer API header files into timer.h and timer_types.h files. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2021-09-03linux-gen: remove duplicate _ODP_INLINE definesMatias Elo
_ODP_INLINE defines belong inside the *_inlines.h headers. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@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-21api: proto_stats: introduce generic protocol stats frameworkJerin Jacob
Add generic protocol stats framework where protocol stats object supports basic operations like creation, lookup, access and destroy of stats object is supported. Each object supports a set of stats based on object params. This generic framework is also useful when we have to associate stats objects to fast path with minimal overhead as it is as close to HW implementation as possible. Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com> Signed-off-by: Jerin Jacob <jerinj@marvell.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-07-12api: queue: 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: Petri Savolainen <petri.savolainen@nokia.com> Tested-by: Ashwin Sekhar T K <asekhar@marvell.com>
2021-07-12api: packet: 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: Petri Savolainen <petri.savolainen@nokia.com> Tested-by: Ashwin Sekhar T K <asekhar@marvell.com>
2021-07-09api: packet: add packet disassemble and reassemble functionsPetri Savolainen
Allows application to break up a packet into packet buffers and later reassemble a new packet from one or multiple buffers. Buffers for a reassemble operation must originate from a previous disassemble operation and from packets of the same pool. Currently, this feature is limited to external memory packet pools only. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Ashwin Sekhar T K <asekhar@marvell.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2021-06-23api: pktio: add implementation specific extra statistics countersMatias Elo
Add new functions for reading ODP implementation specific custom packet IO statistics counters. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com>
2021-03-31linux-gen: add stub implementation for pktout tx completionNithin Dabilpuram
Add stub implementation for pktout tx completion feature. Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2021-03-19linux-gen: atomics: implement 128-bit operations using gcc builtinsMatias Elo
Add new implementation for the 128-bit atomic operations using GCC builtin atomics. This improves performance considerably compared to the basic lock-based implementation. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2021-02-23linux-gen: atomic: add 128 bit atomic apisGovindarajan Mohandoss
Add 128 bit atomic compare-and-swap operations. Signed-off-by: Govindarajan Mohandoss <govindarajan.mohandoss@arm.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com> Tested-by: Malvika Gupta <Malvika.Gupta@arm.com>
2021-02-05linux-gen: pktio: add lso types to ABIPetri Savolainen
Added LSO type defitions to ABI files. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2021-01-26linux-gen: hash: prepare for arch specific implementationsMatias Elo
Refactor build system to enable adding architecture specific hash function implementations. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2020-11-19linux-gen: event: support freeing packet vectors using odp_event_free()Matias Elo
Add support for freeing packet vectors and contained packets using odp_event_free(). Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2020-11-19linux-gen: packet_vector: implement event conversion functionsMatias Elo
Implement odp_packet_vector_from_event() and odp_packet_vector_to_event() event conversion API functions. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2020-11-19api: event: introduce packet vector eventJerin Jacob
Introduce packet vector events which hold an array of odp_packet_t. This patch also introduce the odp_packet_vector_from_event() and odp_packet_vector_to_event() event conversion APIs. In order to build the linux-generic in --disable-abi-compat mode, A dummy definition of odp_packet_vector_t has been added. Signed-off-by: Matias Elo <matias.elo@nokia.com> Signed-off-by: Jerin Jacob <jerinj@marvell.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
2020-11-13abi: atomic: fix placement of ODP_ALIGNED in struct definitionsMalvika Gupta
As per the GCC documentation, the 'aligned' attribute should be added after the 'struct' keyword. Consequently, the ODP_ALIGNED attribute has been moved in various structs of the atomic abi files. The 'Enforce alignment' comment has been removed from these files since the effect of the ODP_ALIGNED macro is easy to understand. Also, for these files, the typedef declaration has been combined with the struct definition which is consistent with most typedef structs in ODP source code. Suggested-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Malvika Gupta <Malvika.Gupta@arm.com> Reviewed-by: Govindarajan Mohandoss <Govindarajan.Mohandoss@arm.com> Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2020-11-02api: packet: move odp_packet_chksum_status_t enumAshwin Sekhar T K
Move odp_packet_chksum_status_t enum from spec/packet.h to abi/packet.h to allow platform specific header files to make use of this enumeration. Currently this is not possible as spec/packet.h is included after the platform specific header files. Signed-off-by: Ashwin Sekhar T K <asekhar@marvell.com> Reviewed-by: Matias Elo <matias.elo@nokia.com>
2020-09-03abi: remove unused odp_pool_type_tStanislaw Kardach
Values inside it are explicitly defined in spec which eliminates the need for this typedef. Additionally it's not present anywhere in the spec, which makes it seem like a forgotten type to remove. Signed-off-by: Stanislaw Kardach <skardach@marvell.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com> Reviewed-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
2020-09-03api: packet: define ODP_NUM_PACKET_COLORS valueStanislaw Kardach
The number of colors should be strictly defined in the spec since the number of spec colors is limited to 3. Signed-off-by: Stanislaw Kardach <skardach@marvell.com> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com> Reviewed-by: Nithin Dabilpuram <ndabilpuram@marvell.com>