diff options
Diffstat (limited to 'platform/linux-dpdk/include/odp/api')
8 files changed, 22 insertions, 11 deletions
diff --git a/platform/linux-dpdk/include/odp/api/plat/buffer_inlines.h b/platform/linux-dpdk/include/odp/api/plat/buffer_inlines.h index 3aa399399..6265914b4 100644 --- a/platform/linux-dpdk/include/odp/api/plat/buffer_inlines.h +++ b/platform/linux-dpdk/include/odp/api/plat/buffer_inlines.h @@ -29,14 +29,13 @@ /** @cond _ODP_HIDE_FROM_DOXYGEN_ */ -extern const _odp_event_inline_offset_t _odp_event_inline_offset; -extern const _odp_buffer_inline_offset_t _odp_buffer_inline_offset; - #ifndef _ODP_NO_INLINE /* Inline functions by default */ #define _ODP_INLINE static inline #define odp_buffer_from_event __odp_buffer_from_event + #define odp_buffer_from_event_multi __odp_buffer_from_event_multi #define odp_buffer_to_event __odp_buffer_to_event + #define odp_buffer_to_event_multi __odp_buffer_to_event_multi #define odp_buffer_addr __odp_buffer_addr #define odp_buffer_size __odp_buffer_size #define odp_buffer_pool __odp_buffer_pool @@ -55,11 +54,23 @@ _ODP_INLINE odp_buffer_t odp_buffer_from_event(odp_event_t ev) return (odp_buffer_t)ev; } +_ODP_INLINE void odp_buffer_from_event_multi(odp_buffer_t buf[], const odp_event_t ev[], int num) +{ + for (int i = 0; i < num; i++) + buf[i] = odp_buffer_from_event(ev[i]); +} + _ODP_INLINE odp_event_t odp_buffer_to_event(odp_buffer_t buf) { return (odp_event_t)buf; } +_ODP_INLINE void odp_buffer_to_event_multi(const odp_buffer_t buf[], odp_event_t ev[], int num) +{ + for (int i = 0; i < num; i++) + ev[i] = odp_buffer_to_event(buf[i]); +} + _ODP_INLINE void *odp_buffer_addr(odp_buffer_t buf) { return _odp_event_hdr_field(buf, void *, base_data); diff --git a/platform/linux-dpdk/include/odp/api/plat/event_inline_types.h b/platform/linux-dpdk/include/odp/api/plat/event_inline_types.h index caa18fc93..ee5490ff1 100644 --- a/platform/linux-dpdk/include/odp/api/plat/event_inline_types.h +++ b/platform/linux-dpdk/include/odp/api/plat/event_inline_types.h @@ -34,6 +34,8 @@ typedef struct _odp_event_inline_offset_t { } _odp_event_inline_offset_t; +extern const _odp_event_inline_offset_t _odp_event_inline_offset; + /** @endcond */ #ifdef __cplusplus diff --git a/platform/linux-dpdk/include/odp/api/plat/ipsec_inlines.h b/platform/linux-dpdk/include/odp/api/plat/ipsec_inlines.h new file mode 120000 index 000000000..72c865d7d --- /dev/null +++ b/platform/linux-dpdk/include/odp/api/plat/ipsec_inlines.h @@ -0,0 +1 @@ +../../../../../linux-generic/include/odp/api/plat/ipsec_inlines.h
\ No newline at end of file diff --git a/platform/linux-dpdk/include/odp/api/plat/packet_flag_inlines.h b/platform/linux-dpdk/include/odp/api/plat/packet_flag_inlines.h index 7482fca93..b6876e6d7 100644 --- a/platform/linux-dpdk/include/odp/api/plat/packet_flag_inlines.h +++ b/platform/linux-dpdk/include/odp/api/plat/packet_flag_inlines.h @@ -22,8 +22,6 @@ extern "C" { /** @cond _ODP_HIDE_FROM_DOXYGEN_ */ -extern const _odp_packet_inline_offset_t _odp_packet_inline; - static inline uint64_t _odp_packet_input_flags(odp_packet_t pkt) { return _odp_pkt_get(pkt, uint64_t, input_flags); diff --git a/platform/linux-dpdk/include/odp/api/plat/packet_inline_types.h b/platform/linux-dpdk/include/odp/api/plat/packet_inline_types.h index 4bf00dac4..9a72a70ef 100644 --- a/platform/linux-dpdk/include/odp/api/plat/packet_inline_types.h +++ b/platform/linux-dpdk/include/odp/api/plat/packet_inline_types.h @@ -43,6 +43,7 @@ typedef struct _odp_packet_inline_offset_t { uint16_t flags; uint16_t subtype; uint16_t cls_mark; + uint16_t ipsec_ctx; uint16_t buf_addr; uint16_t data; uint16_t pkt_len; @@ -55,6 +56,8 @@ typedef struct _odp_packet_inline_offset_t { } _odp_packet_inline_offset_t; +extern const _odp_packet_inline_offset_t _odp_packet_inline; + /* Packet input & protocol flags */ typedef union { /* All input flags */ diff --git a/platform/linux-dpdk/include/odp/api/plat/packet_inlines.h b/platform/linux-dpdk/include/odp/api/plat/packet_inlines.h index 76559ba86..4347afb88 100644 --- a/platform/linux-dpdk/include/odp/api/plat/packet_inlines.h +++ b/platform/linux-dpdk/include/odp/api/plat/packet_inlines.h @@ -130,10 +130,6 @@ extern "C" { #define _ODP_INLINE #endif -extern const _odp_packet_inline_offset_t _odp_packet_inline; - -extern const _odp_pool_inline_offset_t _odp_pool_inline; - _ODP_INLINE void *odp_packet_offset(odp_packet_t pkt, uint32_t offset, uint32_t *len, odp_packet_seg_t *seg) { diff --git a/platform/linux-dpdk/include/odp/api/plat/timer_inline_types.h b/platform/linux-dpdk/include/odp/api/plat/timer_inline_types.h index ec6804c72..330cbe4ce 100644 --- a/platform/linux-dpdk/include/odp/api/plat/timer_inline_types.h +++ b/platform/linux-dpdk/include/odp/api/plat/timer_inline_types.h @@ -29,6 +29,8 @@ typedef struct _odp_timeout_inline_offset_t { } _odp_timeout_inline_offset_t; +extern const _odp_timeout_inline_offset_t _odp_timeout_inline_offset; + /** @endcond */ #ifdef __cplusplus diff --git a/platform/linux-dpdk/include/odp/api/plat/timer_inlines.h b/platform/linux-dpdk/include/odp/api/plat/timer_inlines.h index f8ff5c938..357d4df06 100644 --- a/platform/linux-dpdk/include/odp/api/plat/timer_inlines.h +++ b/platform/linux-dpdk/include/odp/api/plat/timer_inlines.h @@ -17,8 +17,6 @@ /** @cond _ODP_HIDE_FROM_DOXYGEN_ */ -extern const _odp_timeout_inline_offset_t _odp_timeout_inline_offset; - #ifndef _ODP_NO_INLINE /* Inline functions by default */ #define _ODP_INLINE static inline |